我正在实现PayPal智能按钮。使用createOrder
的标准签出按钮可以正常工作,但是当我尝试使用createSubscription
来实现Subscription按钮时,它将失败。
这是我当前的沙盒代码:
<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和其他站点中)也有类似的问题,但到目前为止没有解决方案。有任何想法吗?谢谢!