我想更改结算方案的金额,但在尝试执行此操作时遇到错误。 如果计划已经与协议相关联,则可以更改计划的条款(payment_definitions)吗?
请求:
curl -v -k -X PATCH 'https://api.sandbox.paypal.com/v1/payments/billing-plans/[plan id]' \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <Access-Token>" \
-d '[
{
"path": "/payment_definitions/[payment_definitions_id]/amount",
"value": {
"currency": "EUR",
"value" : "10"
},
"op": "replace"
}
]'
响应:
{
"name":"BUSINESS_VALIDATION_ERROR",
"details":[
{
"field":"validation_error",
"issue":"Invalid Path provided."
}
],
"message":"Validation Error.",
"information_link":"https://developer.paypal.com/webapps/developer/docs/api/#BUSINESS_VALIDATION_ERROR",
"debug_id":"183e87c07085e"
}
答案 0 :(得分:1)
我现在遇到了同样的情况!
到目前为止我研究过,不可能改变计费计划的数量和金额相关约束,因为paypal可能不提供该服务。
例如,让我们说,有一个处于活动状态的计划P1。因此,可能会有一些协议,比方说A1,它们订阅了P1。
所以,问题很清楚,如果A1订购P1计划有一些金额,可以说200美元,订户每次付款收费200,但万一,如果你改为210美元,你根本无法收费订户210美元。:))
但在您的情况下,我认为路径无效,并且响应清楚地表明错误。
答案 1 :(得分:1)
您可以尝试使用create_agreement_request approach。请求中有override_charge_models对象。您可能会在该对象中找到金额字段。为此,您必须知道协议ID(看起来像“ I-XXXXXXXXX”)和交易ID(有时称为sale_id或capture_id)。
我不得不说我还没有尝试过,但这是一种新功能。我想它应该在不取消订阅的情况下更新定期付款的金额。
答案 2 :(得分:0)
答案 3 :(得分:0)
最近,贝宝(PayPal)打开了用于订阅付款的新API。您现在可以在此页面中看到以下通知,现已弃用了用于结算计划和结算协议的以前的API:
https://developer.paypal.com/docs/api/payments.billing-agreements/v1/
此新API支持升级和降级用户计划或更改(例如)许可证数量。
https://developer.paypal.com/docs/subscriptions/
希望这会有所帮助。