PayPal Checkout JS错误处理

时间:2018-08-13 14:06:47

标签: javascript paypal

我正在阅读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

1 个答案:

答案 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');

请注意,如果您要进行服务器集成,则服务器将处理错误,而不是按钮。