PayPal REST API更新结算协议

时间:2014-09-03 13:40:30

标签: php json rest paypal

我如何更新当前有效的结算协议以更改帐单日期,如果新日期是将来再次收费?

3 个答案:

答案 0 :(得分:5)

通过更新结算协议API,您无法更改计划或付款定义。在这种情况下,您应取消现有的结算协议,并使用新的金额创建新协议以满足您的业务需求。这就是你如何实现这个目标的想法:

  1. 请取消现有的结算协议(定期付款)。 (参考:https://developer.paypal.com/docs/api/payments.billing-agreements#agreement_cancel

  2. 使用Billing Plan API创建和激活结算方案。如果您要创建结算协议,这是强制性的。 一个。创建计划(请为定期付款定义新金额)。参考:https://developer.paypal.com/docs/api/payments.billing-plans#plan_create 湾激活您创建的计划。参考:https://developer.paypal.com/docs/api/payments.billing-plans#plan_update

  3. 通过提供您从步骤2中检索的计划ID来创建新协议。参考:https://developer.paypal.com/docs/api/payments.billing-agreements/#agreement_create

  4. 将您的买家重定向到您从步骤3收到的approval_url,以获得对结算协议的批准,然后执行结算协议。这是PayPal付款的强制性要求。

  5. 买方批准PayPal付款后,执行结算协议。然后,您将收到在此步骤中创建的协议ID。 (参考:https://developer.paypal.com/docs/api/payments.billing-agreements/#agreement_execute

  6. 我已经使用PHP代码实现了这一点。

    我希望这会对你有所帮助。

答案 1 :(得分:3)

目前,实现这一目标的最佳方式是创建新的结算协议,并在计划已经生效后获得用户对新协议日期的新协议的批准。如果协议尚未激活,您可以通过调用update agreement并将op设置为replace并设置开始日期的值来更改开始日期而无需买方重新批准。

答案 2 :(得分:0)

如果它像那样工作,重新批准是好的。我看到更新后返回的对象中存在被动链接,但其方法是POST。如何实际重定向用户以重新激活协议?