首页 > 解决方案 > 如何升级贝宝订阅?(获取状态:422 响应)

问题描述

现在我的 React 应用程序中有 4 种订阅计划。它们是每月 3 美元、5 美元、7 美元和免费计划。我成功实施了订阅和取消订阅计划,但升级订阅不起作用。

以下是我的代码。

const upgrade = () => {
    var myHeaders = new Headers();
    myHeaders.append("Content-Type", "application/json");
    myHeaders.append("Authorization", `Basic ${PAYPAL_BASIC_TOKEN}`);
    var requestOptions = {
        method: 'POST',
        headers: myHeaders,
        body: JSON.stringify({ "plan_id": planID }),
        redirect: 'follow'
    };
    fetch(`https://api-m.sandbox.paypal.com/v1/billing/subscriptions/${subscriptionID}/revise`, requestOptions)
        .then(response => {
            console.log(response);
        })
        .catch(error => {
            console.log('revise error', error)
        });
}

这是我从这个电话中得到的回应。

body: (...)
bodyUsed: false
headers: Headers {}
ok: false
redirected: false
status: 422
statusText: ""
type: "cors"
url: "https://api-m.sandbox.paypal.com/v1/billing/subscriptions/I-EIS84S239DWG/revise"
[[Prototype]]: Response

我认为 myHeaders 的令牌存在问题,但我成功取消了具有相同标题的订阅。

我在 paypal 官方文档中找到了 3 个参考链接,但它们彼此不同,所以我不确定哪个适合我的情况。

https://developer.paypal.com/docs/business/subscriptions/add-capabilities/revise-subscriptions/#change-subscription-plan https://developer.paypal.com/docs/platforms/subscriptions/add-capabilities/修订订阅/#change-subscription-plan https://developer.paypal.com/docs/api/subscriptions/v1/#subscriptions_patch

哪个适合我的情况?

PS Bearer token 和 Basic token 有什么区别?在 Paypal 官方文档中,他们在取消订阅时使用了 Bearer 令牌。但我成功使用了基本令牌。任何提示将不胜感激。

标签: reactjspaypalpaypal-subscriptions

解决方案


推荐阅读