我正在建立一个在线商店。目前我在https://api.sandbox.paypal.com
我创建了订阅,客户批准了它。一切都按照文档中的描述进行。此处
https://developer.paypal.com/docs/api/subscriptions/v1/#subscriptions
现在我需要获得此订阅的实际付款,以便将我的门户网站与贝宝支付同步。
我想我需要List transactions for subscription
,就像它在这里说的那样:
https://developer.paypal.com/docs/api/subscriptions/v1/#subscriptions_transactions
但当我调用此路径时
/v1/billing/subscriptions/I-T99999999999/transactions?start_time=2014-11-11T05:09:16.000Z&end_time=2020-11-11T05:09:16.000Z
我得到空数组作为响应。即使没有交易,我也希望有这样的结构:
{
"transactions": [],
"links": [
{
"href": "https://api.paypal.com/v1/billing/subscriptions/I-T99999999999/transactions?start_time=2014-11-11T05:09:16.000Z&end_time=2020-11-11T05:09:16.000Z",
"rel": "self",
"method": "GET"
}
]
}
但我得到的回复是空的,没有任何错误。
我也面临同样的问题,但我发现了我认为可以解决的问题。
我可以通过调用计费协议中不推荐使用的方法来列出订阅事务。
v1/payments/billing-agreements/{{0}}/transactions?start_date={{1}}&end_date={{2}}
文档链接:
https://developer.paypal.com/docs/api/payments.billing-agreements/v1/#billing-协议_交易
你会得到这样的样本响应:
{
"agreement_transaction_list": [{
"transaction_id": "I-WBT8MCXV1XD5",
"status": "Created",
"transaction_type": "Recurring Payment",
"payer_name": "Test Payer",
"time_stamp": "2019-11-17T01:36:59Z",
"time_zone": "GMT"
}, {
"transaction_id": "2V3487226T084702S",
"status": "Updated",
"transaction_type": "Recurring Payment",
"amount": {
"currency": "BRL",
"value": "-24.90"
},
"fee_amount": {
"currency": "BRL",
"value": "0.00"
},
"net_amount": {
"currency": "BRL",
"value": "-24.90"
},
"payer_email": "test@email.com",
"payer_name": "John Doe's Test Store",
"time_stamp": "2019-11-17T01:37:01Z",
"time_zone": "GMT"
}]
}