第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

支付寶接口可以支付成功,但是有時會重復(fù)寫入支付成功數(shù)據(jù),我想通過判斷訂單號解決

支付寶接口可以支付成功,但是有時會重復(fù)寫入支付成功數(shù)據(jù),我想通過判斷訂單號解決

PHP
桃花長相依 2019-03-10 16:27:25
支付寶接口可以支付成功,但有時會重復(fù)寫入支付成功數(shù)據(jù),我想通過判斷訂單號是否重復(fù)來解決,應(yīng)該怎么寫?代碼如下:if($_GET['trade_status'] == 'TRADE_FINISHED' || $_GET['trade_status'] == 'TRADE_SUCCESS') { //寫入支付數(shù)據(jù) $paylog=M("alipaylog"); //實例化數(shù)據(jù)表 $datapaylog['userid']=$_SESSION ['USER_KEY_ID']; //用戶ID $datapaylog['fee']=$_GET['total_fee']; //充值金額 $datapaylog['dingdanhao']=$_GET['out_trade_no']; //交易訂單號 $datapaylog['is_time']=$_GET['notify_time']; //支付時間 $datapaylog['liushuihao']=$_GET['trade_no']; //交易流水號 $paylog->add($datapaylog); $tot=M("member"); $total_fee=$_GET['total_fee']; $tot->where('member_id='.$_SESSION ['USER_KEY_ID'])->setInc('rmb',$total_fee); }
查看完整描述

4 回答

?
搖曳的薔薇

TA貢獻(xiàn)1793條經(jīng)驗 獲得超6個贊

支付寶異步通知過來一切以訂單號為基準(zhǔn),根據(jù)其他參數(shù),去你的數(shù)據(jù)庫檢查訂單是否已經(jīng)處理,未處理更新訂單狀態(tài)已處理則忽略異步通知,直接輸出success告訴支付寶異步通知數(shù)據(jù)已處理。

查看完整回答
反對 回復(fù) 2019-03-18
?
PIPIONE

TA貢獻(xiàn)1829條經(jīng)驗 獲得超9個贊

你不給支付寶返回success,支付寶是會認(rèn)為你沒有收到,而重復(fù)給你請求的

查看完整回答
反對 回復(fù) 2019-03-18
?
拉風(fēng)的咖菲貓

TA貢獻(xiàn)1995條經(jīng)驗 獲得超2個贊

你的思路錯了,并不是一接收回調(diào)success的時候就進(jìn)行處理.
1.在發(fā)起請求的時候判斷支付狀態(tài),先杜絕重復(fù)發(fā)起支付的問題.
2.在支付回調(diào)頁面中收到支付成功時先判斷訂單付款狀態(tài),一旦收到支付成功則對InnoDB表進(jìn)行訂單狀態(tài)更改為已支付并通知支付寶success且在前臺頁面轉(zhuǎn)向成功頁.即可杜絕因回調(diào)處理不當(dāng)引起的重復(fù)支付.

這樣,不管是用戶不慎重復(fù)請求,還是你回調(diào)重復(fù)都不會影響訂單狀態(tài)了.

簡要的流程;
發(fā)起(判斷狀態(tài))=支付=回調(diào)(收到支付成功時,先判斷訂單狀態(tài))=更改訂單狀態(tài)(一般訂單表應(yīng)該為事務(wù)表)=通知回調(diào)結(jié)果給支付寶與用戶付款頁=支付結(jié)束.

你的問題出在了你收到回調(diào)時就進(jìn)行了寫入而不先訂單狀態(tài).這樣是不明智的做法.

查看完整回答
反對 回復(fù) 2019-03-18
  • 4 回答
  • 0 關(guān)注
  • 708 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號