如何解决条纹元素 - 苹果支付问题 - 付款窗口会在一秒钟内出现和消失
我使用 js API v3 和条纹元素将 Stipe 付款连接到该站点。一切正常(包括谷歌支付)期待苹果支付。当用户点击苹果支付按钮时 - 支付窗口只出现一秒钟,然后消失。站点域已根据 Stripe wiki for js v2,v3 doesn't have such page 进行验证。找不到任何错误。将不胜感激任何提示甚至方向。谢谢。
代码示例:
paymentRequest = stripe.paymentRequest({
country: 'GB',currency: 'gbp',total: {
label: 'Upgrade',amount: 11400,},requestPayerName: false,requestPayerEmail: true,});
var prButton = elements.create('paymentRequestButton',{
paymentRequest: paymentRequest,});
paymentRequest.canMakePayment().then(function (result) {
if (result) {
prButton.mount('#payment-request-button');
} else {
document.getElementById('payment-request-error').innerHTML = "Your browser doesn't support Google or Apple Wallet";
document.getElementById('payment-request-button').style.display = 'none';
}
paymentRequest.on('paymentmethod',function (ev) {
stripe.confirmCardPayment(
clientSecret,{
payment_method: ev.paymentMethod.id
},{
handleActions: false
}
).then(function (confirmResult) {
if (confirmResult.error) {
ev.complete('fail');
} else {
ev.complete('success');
if (confirmResult.paymentIntent.status === "requires_action") {
stripe.confirmCardPayment(clientSecret).then(function (result) {
if (result.error) {
alert("Error,try new payment method");
} else {
orderComplete(confirmResult.paymentInten.id);
}
});
} else {
orderComplete(confirmResult.paymentInten.id);
}
}
});
});
/*
Some code
*/
// update request price if user select diffirent price
paymentRequest.update({
total: {
label: 'Upgrade',amount: finalPrice * 100,})
解决方法
Apple Pay 在 example in the docs 对您有用吗?您是否有可在线访问的实现示例,或者您是否可以在 JSFiddle 或 CodeSandbox 中重现此示例?
尝试的两个建议:
- 在您对
orderComplete
的调用中,您似乎在paymentInten**t**.id
上有错字 -- 在这两种情况下都缺少末尾的t
。 - 我想知道您的
paymentRequest.update
是否引起了问题。我不熟悉这部分 API 的行为,因此我建议禁用以简化诊断。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。