[英]Stripe elements - issue with apple pay - payment window appear and disappear in a second
我使用 js API v3 和條紋元素將 Stipe 付款連接到該網站。 一切正常(包括谷歌支付)期待蘋果支付。 當用戶點擊蘋果支付按鈕時 - 支付 window 僅出現一秒鍾然后消失。 站點域是根據Stripe wiki for js v2 驗證的,v3 沒有這樣的頁面。 找不到任何錯誤。 將不勝感激任何提示甚至方向。 謝謝你。
代碼示例:
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 在文檔中的示例中是否適合您? 您是否有一個可以在線訪問的實現示例,或者您可以在 JSFiddle 或 CodeSandbox 中重現它嗎?
兩個建議嘗試:
orderComplete
的調用中,您似乎在paymentInten**t**.id
上有一個拼寫錯誤——在這兩種情況下都缺少最后的t
。paymentRequest.update
是否引起了問題。 我不熟悉 API 這一部分的行為,所以我建議禁用以簡化診斷。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.