我正在阅读PayPal Checkout文档的这一小部分:https://developer.paypal.com/docs/checkout/how-to/customize-flow/#manage-funding-source-failure。这里包括以下代码片段:
paypal.Button.render({
//Configure environment
env: 'production', // To test, set to `sandbox`
payment: function () {
// Set up the payment here, when the buyer clicks on the button
},
onAuthorize: function (data, actions) {
// Call your server to execute the payment
if (error === 'INSTRUMENT_DECLINED') {
actions.restart();
}
}
}, '#paypal-button');
有人知道该文档是否正确吗? PayPal checkout.js是否在全局范围内管理错误变量?如果没有,您如何正确实施本指南?
注意:交叉发布的https://github.com/paypal/paypal-checkout/issues/790
答案 0 :(得分:1)
该文档不正确。 checkout.js代码通过自动重启交易来为您处理一个/付款错误-INSTRUMENT_DECLINED,您可以通过调用“ actions.restart()”来自己完成交易。
所有其他错误消息,包括HTTP错误,转到您需要设置的错误消息处理程序。例如:
paypal.Button.render({
env: 'sandbox',
payment: function () {
// Set up the payment here, when the buyer clicks on the button
},
onAuthorize: function (data, actions) {
// Execute the payment here, when the buyer approves the transaction
},
onError: function (err) {
// Show an error page here, when an error occurs
}
}, '#paypal-button');
请注意,如果您要进行服务器集成,则服务器将处理错误,而不是按钮。