Paypal REST API - 协议是不是取消?
Posted
技术标签:
【中文标题】Paypal REST API - 协议是不是取消?【英文标题】:Paypal REST API - Is the Agreement cancelled?Paypal REST API - 协议是否取消? 【发布时间】:2015-02-01 13:33:15 【问题描述】:我正在使用 Paypal REST api (java) 执行定期订阅。
流程如下所示,并且正在运行:
我制定了计划(好的) 我激活了一个计划(好的) 我创建了一个协议(好的) 我使用批准链接将用户重定向到 Paypal (ok) Paypal 将用户重定向回我的网站(好的) 我可以执行协议(ok)我发现作为买家,我可以随时登录 paypal 并手动取消协议。
问题:
作为卖家,我可以看到买家 x 在“个人资料 > 定期付款仪表板”中取消了他的协议,但我如何使用代码查询此信息?假设我有协议 ID。协议对象内部没有提供此类信息。
请指出正确的方向。 谢谢
更新:
我的协议对象如下所示:
"id": "I-HLK83FVHB5X2",
"description": "item name goes here",
"start_date": "2014-12-04T05:00:00Z",
"plan":
"payment_definitions": [
"type": "TRIAL",
"frequency_interval": "3",
"frequency": "Month",
"cycles": "1",
"amount":
"currency": "CAD",
"value": "900.00"
,
"charge_models": [
"type": "TAX",
"amount":
"currency": "CAD",
"value": "11.11"
,
"type": "SHIPPING",
"amount":
"currency": "CAD",
"value": "0.00"
]
,
"type": "REGULAR",
"frequency_interval": "1",
"frequency": "Month",
"cycles": "0",
"amount":
"currency": "CAD",
"value": "300.00"
,
"charge_models": [
"type": "TAX",
"amount":
"currency": "CAD",
"value": "22.22"
,
"type": "SHIPPING",
"amount":
"currency": "CAD",
"value": "0.00"
]
],
"merchant_preferences":
"setup_fee":
"currency": "CAD",
"value": "0.00"
,
"max_fail_attempts": "0",
"auto_bill_amount": "YES"
,
"links": [
"href": "https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-HLK83FVHB5X2/suspend",
"rel": "suspend",
"method": "POST"
,
"href": "https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-HLK83FVHB5X2/re-activate",
"rel": "re_activate",
"method": "POST"
,
"href": "https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-HLK83FVHB5X2/cancel",
"rel": "cancel",
"method": "POST"
,
"href": "https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-HLK83FVHB5X2/bill-balance",
"rel": "self",
"method": "POST"
,
"href": "https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-HLK83FVHB5X2/set-balance",
"rel": "self",
"method": "POST"
]
【问题讨论】:
【参考方案1】:你有两个选择 1:设置接收Paypal IPN(即时付款通知),以便在协议被取消时通知您。
2:您可以随时检索https://developer.paypal.com/docs/api/#retrieve-an-agreement 中提到的协议详细信息 它会给你这样的回应
"id": "I-0LN988D3JACS",
"state": "Pending",
"description": "New Description",
"plan":
"payment_definitions": [
"type": "REGULAR",
"frequency": "Month",
"amount":
"currency": "USD",
"value": "100.00"
,
"charge_models": [
"type": "TAX",
"amount":
"currency": "USD",
"value": "12.00"
,
"type": "SHIPPING",
"amount":
"currency": "USD",
"value": "10.00"
],
"cycles": "12",
"frequency_interval": "2"
],
"merchant_preferences":
"setup_fee":
"currency": "USD",
"value": "0.00"
,
"max_fail_attempts": "0",
"auto_bill_amount": "YES"
,
"links": [
"href": "https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-0LN988D3JACS/suspend",
"rel": "suspend",
"method": "POST"
,
"href": "https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-0LN988D3JACS/re-activate",
"rel": "re_activate",
"method": "POST"
,
"href": "https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-0LN988D3JACS/cancel",
"rel": "cancel",
"method": "POST"
,
"href": "https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-0LN988D3JACS/bill-balance",
"rel": "self",
"method": "POST"
,
"href": "https://api.sandbox.paypal.com/v1/payments/billing-agreements/I-0LN988D3JACS/set-balance",
"rel": "self",
"method": "POST"
],
"start_date": "2015-02-19T08:00:00Z",
"agreement_details":
"outstanding_balance":
"currency": "USD",
"value": "0.00"
,
"cycles_remaining": "12",
"cycles_completed": "0",
"final_payment_date": "2016-12-19T10:00:00Z",
"failed_payment_count": "0"
【讨论】:
我没有这些“state”、“agreement_details”、“cycle_remaining”,请查看我的问题已更新。 这个答案正在考虑 Paypal NVP/SOAP API,而问题是关于 Paypal REST API。以上是关于Paypal REST API - 协议是不是取消?的主要内容,如果未能解决你的问题,请参考以下文章
执行付款后调用的 PayPal REST API 取消 URL
PayPal Rest API:如何将卡添加或更新到计费协议 api?