2015-04-17 113 views
1

中旬我在,我要在升級之前的計劃在本月中旬的用戶收取的以下情形貝寶定期付款 - 在一個月

A $ 10每月定期付款的個人資料是優秀的電荷用戶從03/19開始創建。 3月30日,用戶升級其計劃,每月花費5美元以上。一切都很好,我可以將定期付款更新到每月15美元,因此在04/19用戶將收取15美元。 由於用戶在結算週期中升級他的當前計劃,因此我希望在計劃升級時的03/30和新的結算週期開始的04/19之間向用戶收取未付金額(在這種情況下,大概會達到約2.70美元)。 我已經嘗試過BillOutstandingAmount Classic Api,但它確實起作用,因爲它顯示錯誤,即即使金額大於零,未付金額也必須大於0。

是否有任何其他方式在月中切換計劃之前向用戶收費。

有關此問題的任何幫助都非常有用。

謝謝!

回答

1

BillOutstandingAmount僅適用於因爲某種原因導致計劃付款失敗而未付款的結算金額。該API不會允許您簡單地處理一些隨機的新數量。

要做到這一點,您需要使用參考交易。可以使用DoReferenceTransaction API。您基本上會將先前的交易ID(或帳單協議ID)以及您需要收取的任何金額傳入,並使用與原始交易相同的付款詳細信息處理。

如果您使用Payments Pro設置您的定期付款配置文件,那麼您可以簡單地從前一個交易中傳入交易ID,這樣可以正常工作。

但是,如果您使用Express Checkout設置定期付款配置文件,則需要調整您的SetExpressCheckout請求以包含結算協議,然後您將使用您從中獲得的結算協議ID在DoReferenceTransaction請求中。如果是這種情況,您將無法使用任何當前的配置文件來做到這一點,因爲沒有包含任何結算協議,但是從那時起,它將適用於新註冊。

+0

謝謝安德魯,它非常有幫助。有了這個,我已經成功實施了使用直接支付的定期付款。 – user3886432