【问题标题】:PayPal PHP SDK not working for Subscriptions, get RESOURCE_NOT_FOUNDPayPal PHP SDK 不适用于订阅,获取 RESOURCE_NOT_FOUND
【发布时间】:2020-05-20 16:49:59
【问题描述】:

我尝试使用 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

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

【问题讨论】:

    标签: php paypal paypal-sandbox


    【解决方案1】:

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

    新的paypal/Checkout-PHP-SDK 应该用于常规支付,但也不支持订阅 API。

    因此,基本上没有用于订阅的 SDK。要使用Subscriptions API,您需要实现直接 HTTPS REST API 调用以首先创建必要的产品 + 计划,然后在结帐时创建和批准“订阅”(类似协议的对象)。或者,您可以先通过帐户界面更简单地创建产品+计划:sandbox loginlive,这还将生成示例 JS 按钮代码供买家单击并创建/批准订阅。

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

    【讨论】:

    猜你喜欢
    • 2011-02-27
    • 2020-04-29
    • 2013-02-13
    • 2011-12-14
    • 2022-09-27
    • 2023-02-02
    • 2020-09-17
    • 2022-01-19
    • 2020-12-19
    相关资源
    最近更新 更多