贝宝订阅 API 集成
Posted
技术标签:
【中文标题】贝宝订阅 API 集成【英文标题】:PayPal Subscriptions APIs Integration 【发布时间】:2019-08-11 05:00:34 【问题描述】:我尝试将订阅 API 集成到我的网站。 首先,我不确定是否应该使用此 API 或计费协议 API,我只想每月向我的客户收取固定金额...
我正在使用 PayPal 推荐的最新集成步骤: https://developer.paypal.com/docs/limited-release/subscriptions
不管怎样,
我创建了一个产品、一个计划和一个订阅, 最后我得到了一个 id (I-2PR5ANJT6J4C)
我尝试在 PayPal 按钮中使用此 ID:
<script src="https://www.paypal.com/sdk/js?client-id=sb¤cy=ILS"></script>
<script>paypal.Buttons(
style:
shape: 'pill'
,
env: 'sandbox', // Or 'production'
// Set up the payment:
// 1. Add a payment callback
createOrder: function(data, actions)
// 2. Make a request to your server
return new Promise(function(resolve)
return resolve('I-2PR5ANJT6J4C');
)
,
// Execute the payment:
// 1. Add an onAuthorize callback
onAuthorize: function(data, actions)
// 2. Make a request to your server
return actions.request.post('/my-api/execute-payment/',
paymentID: data.paymentID,
payerID: data.payerID
)
.then(function(res)
// 3. Show the buyer a confirmation message.
);
).render('#paypal-button-container');</script>
我得到了这个错误:
Uncaught Error: I-2PR5ANJT6J4C does not match pattern for order-id, ec-token or cart-id
还有其他人遇到过这个问题吗?如何将订阅 ID 传递给按钮才能正常工作?
谢谢, 阿萨夫
【问题讨论】:
【参考方案1】:这个问题有点老了,但如果您或其他人仍在寻找答案,只需使用createSubscription
而不是createOrder
:
createSubscription: function(data, actions)
// 2. Make a request to your server
return new Promise(function(resolve)
return resolve('I-2PR5ANJT6J4C');
)
【讨论】:
以上是关于贝宝订阅 API 集成的主要内容,如果未能解决你的问题,请参考以下文章