2014-05-15 26 views
2

使用並行付款paypal api。如果用戶1向用戶2付款,我會使用api進行檢查,以確保paypal將付款詳細信息作爲COMPLETED返回。何時停止查詢paypal api的付款狀態?

paypal保存COMPLETED付款記錄多長時間?他們是無限期地保留它,還是在一段時間後刪除它?我問,因爲我處於開發階段,我需要決定是否應該依賴貝寶保留該記錄無限期,或者如果我應該在我的服務器上創建一個記錄,支付已完成,或者我應該經常檢查通過查詢paypal將付款標記爲COMPLETED?

我希望通過PayPal進行檢查的唯一原因是,如果付款被返回給用戶1時以REFUNDED或PARITALLY_REFUNDED方式在使用其apis時查詢貝寶。我想在這種情況下采取相應的行動。

如果狀態爲REFUNDED或PARTIALLY_REFUNDED,那麼問題不大,因爲如果在45天之前沒有用貝寶打開案例,那麼人們無法獲得退款。我更關心的是REVERSED狀態,即使在45天之後,它也可以在任何時候發生,這超出了PayPal的控制範圍,因爲它是由信用卡公司完成的,如果用戶通過信用卡付款的話。

+0

我以爲PayPal發送到您的IPN請求,確認它已完成。你不需要查詢它。當PP在做時,請等待。 –

+0

@SergeyRomanov,我查詢狀態的原因是爲了確保用戶不會偶然發現雙倍報酬,從長遠來看這意味着更多的工作。如果我可以從一開始就阻止他們從雙倍支付,那麼當人們打電話給我時,我將不得不做更少的工作信,或者發郵件給我,他們意外地付出了雙倍的報酬。 – oshirowanen

+0

這是我通常的做法。我在發送到PayPal之前創建訂單。我將PP訂單ID傳遞給PP。所以,當用戶再次嘗試時,我可以加載相同的訂單,如果它仍然沒有付款或通知這可能是第二次嘗試,具體取決於訂單創建日期。 –

回答

2

使用PaymentDetails請求,我能夠提取最早的自適應付款交易,該交易已超過60天,並且使用transactionId字段沒有問題。它應該可以,只要他們在PayPal賬戶中列出拉起付款(目前爲永遠。)

這將工作用payKey領域也如果你存儲,與其transactionId,但是transactionId顯示在您的PayPal賬戶,並與IPN響應一起發送。