我想更改账单计划的金额,但在尝试这样做时遇到错误。如果计划已经有相关协议,是否可以更改计划的条款(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"
}发布于 2016-06-29 15:03:52
我现在也经历过同样的情况!
到目前为止,我研究了,这是不可能改变金额和金额相关的限制为计费计划,因为服务可能不是由贝宝提供。
例如,假设有一个处于活动状态的计划P1。因此,可能会有一些协议,比方说A1,订阅了P1。
因此,问题很明显,如果A1订阅了某个金额的P1计划,比如说200美元,订户在每次付款中都会收取200美元的费用,但如果你把它改为210美元,你就不能向订户收取210美元的费用。:)
但是在您的例子中,我认为路径是无效的,并且响应清楚地指出了错误。
发布于 2019-03-29 22:01:17
您可以尝试使用create_agreement_request approach。请求中有override_charge_models对象。你可以在该对象中找到数量字段。要实现这一点,您必须知道协议Id (看起来像"I-XXXXXXXXX")和事务id (有时它调用sale_id或capture_id)。
我不得不说,我还没有尝试过它,但它是一种新功能。我想它应该在不取消订阅的情况下更新定期支付的金额。
发布于 2019-04-02 10:52:45
https://stackoverflow.com/questions/34284602
复制相似问题