我正在实现PayPal智能按钮。标准结账按钮,使用 createOrder
工作正常,但当我试图实现一个 订阅 按钮 createSubscription
,它失败了。
这是我目前的沙盒代码。
<script src="https://www.paypal.com/sdk/js?client-id=AREhuhCo83cfIjLVVtplS8UWtCBgvexoKJUpRz3zPwuN7Kf5BGczHeR3uozF&vault=true&intent=capture"></script>
<div id="pay"></div>
<script>
paypal.Buttons({
createSubscription: function(data, actions) {
return actions.subscription.create({
'plan_id': 'P-17X768243C042641WL3VI5BY'
});
},
onApprove: function(data, actions) {
return actions.order.capture().then(function(details) {
console.log('Transaction completed');
console.log(details);
});
},
onCancel: function (data) {
console.log(data);
},
onError: function (err) {
console.log(err);
}
}).render('#pay');
</script>
这是我得到的响应错误。
{
"ack": "error",
"message": "Unhandled api error",
"meta": {
"calc": "57517f6b99497",
"rlog": "rZJvnqaaQhLn%2FnmWT8cSUueWscmrtUHe5Y1Bd%2FeqyvyOTq66rSXAcoHt23K4aX7rB2KTFdlMGLdO9t5%2BqNuHiXuuc82wAxBkVzSR%2Fh6yHLY_172c4fe7789"
},
"server": "YevVIjEkMPMB5pxeJvg1v5wTuIUCKnd7MkhOH71paANxpvJvd1vpHU2T4gEx4bTztqa8pw_Sni2pXQ7WBz4acfuFvBY3bxE7MhyIv9RIAPxl4Pu_xYLGaY7c1G5t8bj736tIHgJbXjITEBc_aJpzyhtg0O-PR5bSg9JUHpuv76hqQRr1pcnr1VEb2nAMYtGw6xLGyp6a8Of_8SiFMb63IYv7YMa4cQ7sKB54dbI1INigaxIGonrh_C7MXie1Td4pi7KcHePncFfuU6eIj83Ox0"
}
对于那些想知道的人来说。plan_id
P-17X768243C042641WL3VI5BY 是有效的。通过curl,用沙盒应用的token成功创建了产品和计划。我找了一圈,有一些帖子(在SO和其他网站也有)有类似的问题,但至今没有解决办法。有什么想法吗?谢谢!