支付金額>1000元的交易需要驗證用戶支付密碼;
用戶賬號每天最多有5筆交易可以免密,超過后需要驗證密碼;
微信支付后臺判斷用戶支付行為有異常情況,符合免密規(guī)則的交易也會要求驗證密碼。
注:基于一定的風控策略,存在隨時需要驗密的可能性。
步驟1:收銀員在商戶收銀臺生成支付訂單,向用戶展示支付金額;
步驟2:用戶打開微信客戶端,點擊“我的錢包”,選擇“刷卡”,進入條碼界面;
步驟3:使用掃碼設備讀取用戶手機屏幕上的條碼;
步驟4:掃碼設備將讀取的信息上傳給門店收銀臺;
步驟5:門店收銀臺得到支付信息后,向商戶收銀后臺發(fā)起支付請求。
步驟6:商戶后臺對門店收銀臺的支付請求進行處理,生成簽名后調(diào)用【提交付款碼支付API】向微信支付系統(tǒng)發(fā)起支付請求。
步驟7:微信支付系統(tǒng)得到商戶側(cè)的支付請求之后會對請求進行驗證,驗證通過之后會對請求數(shù)據(jù)進行處理,最后將處理后的支付結(jié)果返回給商戶收銀后臺。如果支付成功,微信支付系統(tǒng)會將支付結(jié)果返回給商戶,同時把支付結(jié)果通知給用戶(以短信、微信消息的形式通知)。
步驟8:商戶收銀后臺對得到的支付結(jié)果進行簽名驗證和處理,再將支付結(jié)果返回給門店收銀臺。
步驟9:收銀員看到門店收銀臺的支付結(jié)果后給用戶發(fā)貨。
場景交互與免密模式相同,不同的是在商戶調(diào)用【提交付款碼支付API】發(fā)起支付請求之后,微信支付后臺提示用戶輸入密碼確認支付,接口同步返回USERPAYING狀態(tài),商戶系統(tǒng)再輪詢調(diào)用查詢訂單接口來確認當前用戶是否已經(jīng)支付成功。
由于在商戶收銀后臺向微信支付系統(tǒng)發(fā)起支付請求之前的流程是完全一樣的,所以這里只介紹商戶發(fā)起支付請求之后的邏輯。
步驟1:商戶門店生成訂單后,收銀臺向后臺系統(tǒng)發(fā)起支付請求。
步驟2:后臺調(diào)用微信支付【提交付款碼支付API】生成支付交易。
步驟3:微信支付系統(tǒng)對商戶請求進行驗證,驗證通過后判斷當前用戶需要輸入密碼。
步驟4:微信支付系統(tǒng)返回USERPAYING狀態(tài),商戶后臺系統(tǒng)將應答結(jié)果返回給商戶門店收銀臺。
步驟5:微信支付系統(tǒng)通知用戶微信客戶端輸入密碼。
步驟6:用戶得到輸入密碼提示后,確認支付并輸入密碼。
步驟7:完成密碼輸入,提交微信支付。
步驟8:微信客戶端在用戶完成支付后提示微信支付后臺系統(tǒng)返回的支付結(jié)果,而且微信支付系統(tǒng)會通過短信、微信消息給用戶發(fā)送支付結(jié)果提醒。
步驟9:商戶收銀臺得到USERPAYING狀態(tài)后,經(jīng)過商戶后臺系統(tǒng)調(diào)用【查詢訂單API】查詢實際支付結(jié)果。
步驟10:如果支付結(jié)果仍為USERPAYING,則每隔5秒循環(huán)調(diào)用【查詢訂單API】判斷實際支付結(jié)果,如果用戶取消支付或累計30秒用戶都未支付,商戶收銀臺退出查詢流程后繼續(xù)調(diào)用【撤銷訂單API】撤銷支付交易。
(1)用戶微信端彈出系統(tǒng)錯誤提示框,用戶可在交易列表查看交易情況,如果未找到訂單,需要商戶重新發(fā)起支付交易;如果訂單顯示成功支付,商戶收銀系統(tǒng)再次調(diào)用【查詢訂單API】查詢實際支付結(jié)果;
(2)用戶微信端彈出支付失敗提示,例如:余額不足,信用卡失效。需要重新發(fā)起支付;
(3)當交易超時或支付交易失敗,商戶收銀系統(tǒng)必須調(diào)用【撤銷訂單API】,撤銷此交易;
(4)由于銀行系統(tǒng)異常、用戶余額不足、不支持用戶卡種等原因使當前支付交易失敗,商戶收銀系統(tǒng)應該把錯誤提示明確展示給收銀員;
(5)根據(jù)返回的錯誤碼,判斷是否需要撤銷交易,具體詳見API返回錯誤碼列表。
Customer Service Tel
Business Development
9:00-18:00
Monday-Friday GMT+8
Technical Support
WeChat Pay Global
ICP證