久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

您的位置:首頁技術(shù)文章
文章詳情頁

(JAVA)最近在做到支付寶的一碼多付支付接口,發(fā)現(xiàn)沒有異步回調(diào)通知,需要自己輪詢查詢訂單狀態(tài),這個需要怎么實(shí)現(xiàn)?

瀏覽:151日期:2022-09-28 09:19:19

問題描述

考慮到用線程或者定時任務(wù),不知道有沒有人做過這個

問題解答

回答1:

類似的異步處理通知接口基本上都需要做這種處理的,因?yàn)楫惒降幕卣{(diào)通知總會因?yàn)榫W(wǎng)絡(luò)或者處理延時造成沒有進(jìn)行回調(diào)通知。具體的做法就是首先在調(diào)用異步接口前,需要先生成一個待處理的訂單,然后調(diào)用支付寶接口進(jìn)行支付,支付完成后正常情況支付寶會主動請求你的回調(diào)接口,如果沒有請求的話,你的訂單狀態(tài)將會保持待處理的狀態(tài)。然后再做一個定時任務(wù),每隔一段時間,查詢一下待處理的訂單,根據(jù)支付寶返回的訂單狀態(tài)來更新對應(yīng)的狀態(tài)就可以了,需要注意的是控制訂單查詢的時間,不建議把所有的訂單找出來去更新,根據(jù)你的數(shù)據(jù)量來處理,一般的話遠(yuǎn)程請求支付寶接口同步處理的話也比較耗時,未處理的訂單太多了就根本處理不過來,建議的做法是直接把查詢請求發(fā)送到MQ上,然后根據(jù)數(shù)據(jù)量大小開多個消費(fèi)者服務(wù),來處理查詢請求。另外還有一種簡單粗暴的方式也可以,直接對待處理的訂單不做處理,但是給用戶提供一個功能,讓用戶主動發(fā)起請求,用戶點(diǎn)擊重試按鈕后直接調(diào)用支付寶查詢接口查詢訂單支付狀態(tài)。

回答2:

訂單的幾個狀態(tài): 待支付,已支付到支付寶,支付寶支付完成。主要應(yīng)對的是:已支付到支付寶??紤]的幾個點(diǎn): 實(shí)時性,冪等性

實(shí)時性:根據(jù)你具體的業(yè)務(wù)場景,單進(jìn)程多線程,多進(jìn)程處理。多進(jìn)程的話需要分區(qū)段處理數(shù)據(jù),保證數(shù)據(jù)的不重復(fù)冪等:每個訂單必須有唯一的標(biāo)識,每個環(huán)節(jié)處理的時候,保證這個訂單已經(jīng)被處理過了。

標(biāo)簽: 支付寶
主站蜘蛛池模板: 蓬溪县| 新余市| 宜宾县| 闽侯县| 饶河县| 莱西市| 武功县| 布拖县| 沙湾县| 新河县| 万全县| 收藏| 出国| 安化县| 略阳县| 兴国县| 诸暨市| 都江堰市| 星子县| 平昌县| 阳原县| 金坛市| 壤塘县| 饶阳县| 湖北省| 石屏县| 闸北区| 怀柔区| 梅河口市| 余江县| 石门县| 滦南县| 拜城县| 丰县| 张家界市| 西乌珠穆沁旗| 胶南市| 永清县| 济南市| 固镇县| 垣曲县|