不确定我的尝试是否可行,所以问这里。
我有一个月度定期服务,将在1-2个月内推出。我希望用户注册该服务并连接他们的PayPal帐户,因此我们知道他们认真考虑一旦启动该服务。
我正在尝试使用REST API创建结算协议,并且一旦我们启动该服务,就将订阅添加到结算协议中。到目前为止,我设法创建了一个结算协议,并在创建时一次性收取0.01美元。
我似乎无法做的是稍后在此协议中添加订阅计划,或手动收取付款。
尝试添加订阅时,我致电
PATCH /v1/payments/billing-agreements/I-HD5N7C15L8E0
使用此有效负载:
{
"path": "/",
"value": {
"plan": {
"id": "P-70R54842DB762764NJEVCS7Y"
},
},
"op": "replace"
}
并收到
Incoming JSON request does not map to API request","information_link":"https://developer.paypal.com/webapps/developer/docs/api/#MALFORMED_REQUEST
在尝试收取金额时,我致电
POST /v1/payments/billing-agreements/I-HD5N7C15L8E0/set-balance
使用此有效负载
{
"value": "50",
"currency": "USD"
}
并收到
Outstanding balance must be > 0","information_link":"https://developer.paypal.com/webapps/developer/docs/api/#RP_INVALID_OUTSTANDING_BALANCE
此时,我即将放弃使用REST API并使用Express Checkout和Reference Transactions,我理解这是收集这些付款的另一种方法。
您知道我尝试实现的内容是否适用于REST API?
由于
答案 0 :(得分:1)
对于您的第一个问题,您无法在创建协议后更改协议。要与新的结算方案建立协议,您需要与计划P-70R54842DB762764NJEVCS7Y建立新的结算协议并获得用户的同意。对于第二个问题,设置余额是一种重置协议未付余额的方法,您可以使用帐单余额收集。似乎该账户上没有未结余额,因此API引发了错误。