我尝试使用 PayPal 智能按钮在网站上进行付款。
我首先创建了一个计划,我得到了它的 ID,然后我通过 API 和 PHP 中的 PayPal SDK 的命令激活了它。
该计划似乎是有效的。
<script src="https://www.paypal.com/sdk/js?client-id=sb-key&vault=true&disable-funding=card"></script>
<script>
paypal.Buttons({
env: 'sandbox',
createSubscription: function(data, actions) {
return actions.subscription.create({
'plan_id': 'P-85G86700MN...223CGEJWTI'
});
},
onApprove: function(data, actions) {
alert('You have successfully created subscription ' + data.subscriptionID);
}
}).render('#paypal-button-container');
</script>
当我点击 PayPal 按钮进行支付时。我收到此错误:RESOURCE_NOT_FOUND
我不知道这一切意味着什么,遇到同样问题的人也没有得到支持。
最佳答案
老PayPal-PHP-SDK您正在使用的不应再用于任何新的集成。它不支持新的订阅 API,而是使用旧的计费计划,这与您尝试执行的操作不兼容(结果是 RESOURCE_NOT_FOUND 错误)
新paypal/Checkout-PHP-SDK可用于定期付款(2022 年编辑:尽管现在也可能已弃用),但也不支持订阅 API。
所以基本上,没有用于订阅的 SDK。使用 Subscriptions API ,您需要实现直接 HTTPS REST API 调用以首先创建必要的产品 + 计划,然后创建“订阅”(类似协议(protocol)的对象)并在结帐时批准。或者,您可以先通过帐户界面更简单地创建产品+计划:sandbox login , 或 live ,它还会生成示例 JS 按钮代码,供买家点击并创建/批准订阅。
您可以先使用命令行 curl
或 postman 调用进行测试,以确认您想要执行的操作有效,然后编写必要的 PHP 函数以使用 oauth 对 PayPal 执行您自己的 HTTPS 调用 token 。
哦,还可以创建产品 + 计划并(如果需要)在每个帐户的网络界面中生成相应的按钮。
关于php - PayPal PHP SDK 不适用于订阅,获取 RESOURCE_NOT_FOUND,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60064508/