我正在实施 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 使用 Sandbox 应用程序的令牌成功创建了产品和计划。我四处搜索,有一些帖子(在 SO 和其他网站中)有类似的问题,但到目前为止还没有解决方案。有任何想法吗?谢谢!