【发布时间】:2020-11-19 07:25:59
【问题描述】:
我正在为我的网站实现 Paypal Smart 按钮以进行订阅,代码如下:
paypal.Buttons({
commit: false,
createSubscription: function(data, actions) {
return actions.subscription.create({
plan_id: 'P-4688500211745173CL4LO52Y'
});
},
onCancel: function (data) {
},
onApprove: function(data, actions) {
}
}).render('#paypal-button-container');
我通过借记卡或信用卡订阅(paypal.FUNDING.CARD 按钮)。它返回订阅的 JSON 数据:
{
billingToken: "BA-28952229JX1690450"
facilitatorAccessToken: "A21AAF2g9HmhCrpdlvKv82KzTOL7s-
h7udVM63Jx6PoEQJvhRHUKZXuxdEewBWbAlh7Tta44GREGBKPqydgSaWBdTZBInLTMA"
orderID: "91D07990YA8971453"
subscriptionID: "I-EN0D6RAEFN8R"
}
但是当我需要使用基于 PayPal 文档的https://api.sandbox.paypal.com/v1/billing/subscriptions/I-EN0D6RAEFN8R/revise API 端点降级或升级当前订阅时。 https://developer.paypal.com/docs/business/subscriptions/add-capabilities/revise-subscriptions/
PayPal 窗口自动关闭,我收到错误消息:“未捕获的错误:Api: /smart/api/billagmt/subscriptions/I-EN0D6RAEFN8R/cartid 返回状态代码:500 (Corr ID: e0a949aefc835)”
这是我修改订阅的代码:
paypal.Buttons({
commit: false,
createSubscription: function(data, actions) {
return actions.subscription.revise('I-EN0D6RAEFN8R', {
plan_id: 'P-0P5665289K689682KL4MD5PQ'
});
},
onCancel: function (data) {
},
onApprove: function(data, actions) {
}
}).render('#paypal-button-container');
注意:通过 PayPal 帐户(paypal.FUNDING.PAYPAL 按钮)订阅不会出现我通过 PayPal 信用卡或借记卡订阅时遇到的错误。我也可以使用上面的修改代码升级或降级订阅计划。
有人遇到过同样的问题吗?
【问题讨论】:
标签: javascript angular paypal paypal-sandbox paypal-subscriptions