因此,我尝试将我的反应本机应用程序从条带结帐页面重定向回应用程序。
app.post('/create-checkout-session', async (req, res) => {
const prices = await stripe.prices.list({
lookup_keys: [req.body.lookup_key],
expand: ['data.product'],
});
const session = await stripe.checkout.sessions.create({
billing_address_collection: 'auto',
line_items: [
{
price: prices.data[0].id,
// For metered billing, do not pass quantity
quantity: 1,
},
],
mode: 'subscription',
success_url: `${YOUR_DOMAIN}/?success=true&session_id={CHECKOUT_SESSION_ID}`,
cancel_url: `${YOUR_DOMAIN}?canceled=true`,
});
res.redirect(303, session.url);
});
使用成功 URL,但不会重定向回应用程序。 我目前正在 App.js 文件中使用 React Navigation、深层链接。
const linking = {
prefixes: [ Linking.createURL("hometrack://")],
config:{
screens:{
EmployeeSignUp:{
path:"EmployeeSignUp/:id",
parse: {
id: (id) => `${id}`,
},
},
Success:{
path:"Success"
}
}
}
};
我似乎无法将其链接回应用程序。
具有自定义 URL 方案 (myapp://screen..) 的深层链接在这种情况下不起作用。 Stripe 需要一个重定向到真实网站的有效 URL。我目前面临同样的问题,我的解决方法是:
如果我找到其他解决方案,我会更新我的答案。
使用通用链接https://developer.apple.com/ios/universal-links/ 它们可以提供指向您网站的链接,但如果用户已安装该应用程序并且在手机上,则可以打开该应用程序,而无需打开浏览器