【发布时间】:2021-12-19 03:12:06
【问题描述】:
我需要在我的实现中处理被拒绝的卡片,并测试它是否有效。
- 对于测试,我看到了一些关于使用 REST 标头的内容,但看不到如何从 Javascript SDK 中使用它。好像没有测试卡#?它们使测试变得快速、简单和可靠;如果没有,我会感到震惊:Braintree 的似乎不起作用。
- 如果卡片被拒绝,actions.order.capture() 会返回什么?
- 如果 onError 被调用,它的参数是什么:错误消息字符串、JSON 字符串形式的错误对象或解码的错误对象?理想情况下,我想调用 actions.restart()。作为后备,我的服务器端将路由到订单被拒绝的页面,用户可以点击编辑付款。
我当前的客户端代码(基于各种示例)如下所示:
BuildNewPayPalButtons = function(val)
{
paypal.Buttons({
createOrder: function(data, actions) {
// Set up the transaction
return actions.order.create({
application_context: {
shipping_preference: 'NO_SHIPPING' // NOT an enum
},
purchase_units: [{
amount: {
value: '$amt'
},
description: 'my favorite product',
invoice_id: '$sessid'
}]
});
},
onApprove: function(data, actions) {
return actions.order.capture().then(function(orderData) {
var trns = orderData.purchase_units[0].payments.captures[0];
console.error('OK: Whole JSON ', JSON.stringify(orderData));
// Send the transaction id to the server for verification
window.location.href = "$payurl&paymID=" + trns.id;
});
},
onCancel: function(data) {
window.location.href = "$cancelurl";
},
onError: function(err) {
console.error('error from the onError callback', err);
window.location.href = "/unimplemented_error.html";
}
}).render('#paypal-button-container');
}
如果“完整的 Javascript SDK”文档可以扩展为名副其实,那就太好了。
【问题讨论】:
-
该链接不适用于在没有 API 集成的情况下使用 JS SDK。
标签: javascript paypal paypal-sandbox paypal-rest-sdk