我有以下情况,我希望在升级计划之前的月中向用户收费
从03/19开始创建每月10美元的定期付款资料。 在03/30,用户升级其计划,每月花费5美元。一切都很好,我可以将定期付款更新为每月15美元,所以在04/19用户将收取15美元的费用。 由于用户在结算周期中升级了他当前的计划,我想在计划升级后的03/30之间以及新的结算周期开始之前的04/19向用户收取未付金额(大致在这种情况下,这将达到约2.70美元)。 我已经尝试了BillOutstandingAmount Classic Api,但它确实有效,因为它显示错误,即即使金额大于零,Outstanding Amount也必须大于0。
在月中切换计划之前,还有其他方法可以向用户收费吗?
关于这个问题的任何帮助都非常有用。
谢谢!
答案 0 :(得分:1)
BillOutstandingAmount仅适用于未结清的结算金额,因为预定付款因某种原因失败。该API不允许您简单地处理一些随机的新金额。
为此,您需要使用参考交易。可以使用DoReferenceTransaction API。您基本上会传入先前的交易ID(或账单协议ID)以及您需要收取的任何金额,并使用与原始交易相同的付款详细信息处理它。
如果您使用Payments Pro设置定期付款配置文件,那么您只需传入上次交易中的交易ID即可。
如果您使用Express Checkout设置定期付款配置文件,则需要调整SetExpressCheckout请求以包含结算协议,然后您将使用结算协议ID你在DoReferenceTransaction请求中从那里回来。如果是这种情况,您就无法使用任何当前的配置文件,因为没有包含任何结算协议,但从那时起它将适用于新的注册。