0
我在我的網站上設置了一個支付系統,其工作方式如下。Paypal API待付款
買方購買物品我做一個SetExpressCheckout調用,返回成功或失敗。成功時,我會使用返回的令牌進行提交。在提交成功後,我會將該項目標記爲已售出或扣除數量。
我遇到的問題是我現在的程序工作,如果該交易完成後沒有掛起狀態,但爲了處理未決的項目怎麼做,如果用戶有任何未決項目的下列
檢查
$sql = "SELECT * FROM basket_items WHERE status = 'pending' AND userID = '$user_id'";
$pending_items = queryArray($sql);
foreach($pending_items as $item){
$token = $item['token'];
//get status of the pending transaction
$transaction_details = GetExpressCheckoutDetails($token);
$trans_status = $EXP_CHECK_DETAILS['CHECKOUTSTATUS'];
if($trans_status == 'completed'){
MarkItemSold($item['id']);
}
}
此過程的問題是,如果具有未決授權操作的買方/賣方花費超過3小時,令牌無效。因此,我留下2個查詢
如何在令牌過期後處理完成的交易而不嘗試再次購買物品?
我可以從getTransactionDetails獲取買家郵寄地址嗎?
感謝
作爲直接購買處理交易,但取決於賣家貝寶設置,它可能需要授權,因此等待 –
我讀了一些其他問題,transactionID在3小時後過期 –
我需要IPN監聽器嗎? –