PayPal PHP SDK不适用于订阅,获取RESOURCE_NOT_FOUND

时间:2020-02-04 19:42:25

标签: php paypal paypal-sandbox

我尝试使用PayPal Smart Button在网站上进行付款。

我首先创建了一个计划,获得了它的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>

当我单击“贝宝”按钮付款时。我收到此错误:RESOURCE_NOT_FOUND

我不知道这意味着什么,遇到同样问题的人也没有得到支持。

enter image description here

1 个答案:

答案 0 :(得分:2)

您使用的旧PayPal-PHP-SDK不应再用于任何新的集成。它不支持新的Subscriptions API,而是对较旧的内容使用计费计划,这与您尝试执行的操作不兼容(结果为RESOURCE_NOT_FOUND错误)

应该使用新的paypal/Checkout-PHP-SDK进行常规付款,但它还不支持新的Subscriptions API。

不幸的是,没有用于订阅的PHP SDK。要使用Subscriptions API,您需要实现直接的HTTPS REST API调用以创建必要的产品,计划和协议。

您可以使用命令行curl进行测试,或者先进行邮递员调用以确认其正常工作,然后编写必要的PHP函数以使用oauth令牌对PayPal进行自己的HTTPS调用。