我正在使用沙盒,并使用Paypal PHP SDK创建了一个贝宝计划并激活了它。
我正在按照集成指南创建对此计划(https://developer.paypal.com/docs/subscriptions/integrate/#4-create-a-subscription)的订阅。
但是当我按下黄色按钮时,控制台中出现Javascript错误:
Error: Create Subscription Api response error:
{
"name": "RESOURCE_NOT_FOUND",
"message": "The specified resource does not exist.",
"debug_id": "23912dc1195d",
"details": [
{
"issue": "INVALID_RESOURCE_ID",
"description": "Requested resource ID was not found."
}
],
"links": [
{
"href": "https://developer.paypal.com/webapps/developer/docs/api/#INVALID_RESOURCE_ID",
"rel": "information_link",
"method": "GET"
}
]
}
我检查了该计划是否存在,并且使用Paypal PHP SDK可以。
这是使用的Javascript代码:
<script src="https://www.paypal.com/sdk/js?client-id=sandbox_paypal_client_id&vault=true"></script>
<div id="paypal-button-container"></div>
<script>
// paypal.Buttons().render('#paypal-button-container');
paypal.Buttons({
createSubscription: function(data, actions) {
return actions.subscription.create({
'plan_id': 'P-8N6112936N290211KKMN5MZI'
});
},
onApprove: function(data, actions) {
alert('You have successfully created subscription ' + data.subscriptionID);
}
}).render('#paypal-button-container');
</script>
在Paypal开发人员仪表板中,我看到此操作的API调用,但显示为橙色...
预先感谢您的帮助。
答案 0 :(得分:2)
我也遇到了这个问题。跟随Subscriptions Integration instructions时,我感到困惑的是,我认为SDK可与Subscription Plans(API端点/billing/plans
)一起使用,但在编写时却不行(至少PHP和.NET版本)-该SDK仅与名称非常相似的旧版Billing Plans(/payments/billing-plans
)配合使用(简称为Plans)。
正如@giannisrig所说,您必须直接调用API的“订阅计划”部分(/billing/plans
)。我希望他们会尽快更新SDK-这似乎是一个重要的缺少功能。
答案 1 :(得分:1)
除了Harvey Kadyanji所说的以外,请确保:
如果您遵循此链接中贝宝提供的步骤: https://developer.paypal.com/docs/subscriptions/integrate/,您将必须使用Subscriptions API创建计划,而不是使用Billing Plans和Billing Agreements API。
答案 2 :(得分:0)
我遇到了同样的问题,以下解决了我的问题:
{
'plan_id': 'P-8N6112936N290211KKMN5MZI',
'name': 'Monthly plan'
}
答案 3 :(得分:0)
可能您正在使用“ client-id = sb”或未指定客户端ID加载按钮脚本。为了使用通过API创建的计划,需要在加载脚本时将“ client-id”显式设置为REST SDK应用程序的client-id。然后,按钮将找到您创建的计划。
I also answered to basically the same problem in the PayPal community forum
答案 4 :(得分:0)
使用与您正在使用的沙盒客户端 ID 关联的沙盒企业帐户,并通过那里进行 paypal 智能订阅或计划。 planId 和 clientId 需要属于同一个沙箱帐户。