视频一区二区三区自拍_千金肉奴隷1985未删减版在线观看_国产成人黄色视频在线播放_少女免费播放片高清在线观看_国产精品v欧美精品v

商戶進件
特約商戶進件
基礎支付
JSAPI支付
APP支付
H5支付
Native支付
小程序支付
合單支付
付款碼支付
經(jīng)營能力
支付即服務
點金計劃
行業(yè)方案
平臺收付通(商戶進件)
平臺收付通(普通支付)
平臺收付通(合單支付)
平臺收付通(分賬)
平臺收付通(補差)
平臺收付通(退款)
平臺收付通(余額查詢)
平臺收付通(商戶提現(xiàn))
平臺收付通(注銷申請)
平臺收付通(注銷后提現(xiàn))
平臺收付通(跨境付款)
平臺收付通(下載賬單)
智慧商圈
微信支付分停車服務
電子發(fā)票
營銷工具
代金券
商家券
委托營銷
支付有禮
小程序發(fā)券插件
H5發(fā)券
圖片上傳(營銷專用)
現(xiàn)金紅包
資金應用
分賬
連鎖品牌分賬
風險合規(guī)
商戶開戶意愿確認
消費者投訴2.0
商戶違規(guī)通知回調(diào)
其他能力
圖片上傳
視頻上傳
微信支付平臺證書

退款結果通知API

最新更新時間:2020.04.01 版本說明


退款狀態(tài)改變后,微信會把相關退款結果發(fā)送給商戶。

注意:

對后臺通知交互時,如果微信收到應答不是成功或超時,微信認為通知失敗,微信會通過一定的策略定期重新發(fā)起通知,盡可能提高通知的成功率,但微信不保證通知最終能成功


? 同樣的通知可能會多次發(fā)送給商戶系統(tǒng)。商戶系統(tǒng)必須能夠正確處理重復的通知。 推薦的做法是,當商戶系統(tǒng)收到通知進行處理時,先檢查對應業(yè)務數(shù)據(jù)的狀態(tài),并判斷該通知是否已經(jīng)處理。如果未處理,則再進行處理;如果已處理,則直接返回結果成功。在對業(yè)務數(shù)據(jù)進行狀態(tài)檢查和處理之前,要采用數(shù)據(jù)鎖進行并發(fā)控制,以避免函數(shù)重入造成的數(shù)據(jù)混亂。

? 如果在所有通知頻率后沒有收到微信側回調(diào)。商戶應調(diào)用查詢訂單接口確認訂單狀態(tài)。


特別提醒:商戶系統(tǒng)對于開啟結果通知的內(nèi)容一定要做簽名驗證,并校驗通知的信息是否與商戶側的信息一致,防止數(shù)據(jù)泄露導致出現(xiàn)“假通知”,造成資金損失。

接口說明

適用對象:服務商

請求方式:POST

請求URL:該鏈接是通過[申請退款接口]指定的notify_url,必須為https協(xié)議。如果鏈接無法訪問,商戶將無法接收到微信通知。 通知url必須為直接可訪問的url,不能攜帶參數(shù)。示例: “http://www.tg885.com/wxpay/pay.action”

通知規(guī)則

商戶退款完成后,微信會把相關退款結果和用戶信息發(fā)送給清算機構,清算機構需要接收處理后返回應答成功,然后繼續(xù)給異步通知到下游從業(yè)機構。

對后臺通知交互時,如果微信收到應答不是成功或超時,微信認為通知失敗,微信會通過一定的策略定期重新發(fā)起通知,盡可能提高通知的成功率,但微信不保證通知最終能成功。(通知頻率為15s/15s/30s/3m/10m/20m/30m/30m/30m/60m/3h/3h/3h/6h/6h - 總計 24h4m)

通知報文

退款結果通知是以POST 方法訪問商戶設置的通知url,通知的數(shù)據(jù)以JSON 格式通過請求主體(BODY)傳輸。通知的數(shù)據(jù)包括了加密的支付結果詳情。

參數(shù)解密

下面詳細描述對通知數(shù)據(jù)進行解密的流程:

  1. 1、用商戶平臺上設置的APIv3密鑰 【微信商戶平臺—>賬戶設置—>API安全—>設置APIv3密鑰】 ,記為key;
  2. 2、針對resource.algorithm中描述的算法(目前為AEAD_AES_256_GCM),取得對應的參數(shù)nonce和associated_data;
  3. 3、使用key、nonce和associated_data,對數(shù)據(jù)密文resource.ciphertext進行解密,得到JSON形式的資源對象。

注: AEAD_AES_256_GCM算法的接口細節(jié),請參考rfc5116。微信支付使用的密鑰key長度為32個字節(jié),隨機串nonce長度12個字節(jié),associated_data長度小于16個字節(jié)并可能為空字符串。

通知參數(shù)

參數(shù)名 變量 類型[長度限制] 必填 描述
通知ID id string[1,36] 通知的唯一ID
示例值:EV-2018022511223320873
通知創(chuàng)建時間 create_time string[1,16] 通知創(chuàng)建的時間,遵循rfc3339標準格式,格式為yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出現(xiàn)在字符串中,表示time元素的開頭,HH:mm:ss表示時分秒,TIMEZONE表示時區(qū)(+08:00表示東八區(qū)時間,領先UTC 8小時,即北京時間)。例如:2015-05-20T13:29:35+08:00表示,北京時間2015年5月20日13點29分35秒。
示例值:2018-06-08T10:34:56+08:00
通知類型 event_type string[1,32] 通知的類型:
REFUND.SUCCESS:退款成功通知
REFUND.ABNORMAL:退款異常通知
REFUND.CLOSED:退款關閉通知
示例值:REFUND.SUCCESS
通知簡要說明 summary string[1,16] 通知簡要說明
示例值:退款成功
通知數(shù)據(jù)類型 resource_type string[1,32] 通知的資源數(shù)據(jù)類型,支付成功通知為encrypt-resource
示例值:encrypt-resource
+通知數(shù)據(jù) resource object 通知資源數(shù)據(jù)
json格式,見示例
參數(shù)名 變量 類型[長度限制] 必填 描述
加密算法類型 algorithm string[1,32] 對開啟結果數(shù)據(jù)進行加密的加密算法,目前只支持AEAD_AES_256_GCM
示例值:AEAD_AES_256_GCM
加密前的對象類型 original_type string[1,32] 加密前的對象類型,退款通知的類型為refund
示例值:refund
數(shù)據(jù)密文 ciphertext string[1,1048576] Base64編碼后的開啟/停用結果數(shù)據(jù)密文
示例值:fdasfsadsadsalkja484w
附加數(shù)據(jù) associated_data string[1,16] 附加數(shù)據(jù)
示例值:fdasdsadsafcsflkja484w
隨機串 nonce string[1,16] 加密使用的隨機串
示例值:fdasfjihihihlkja484w

通知簽名

加密不能保證通知請求來自微信。微信會對發(fā)送給商戶的通知進行簽名,并將簽名值放在通知的HTTP頭Wechatpay-Signature。商戶應當驗證簽名,以確認請求來自微信,而不是其他的第三方。簽名驗證的算法請參考 《微信支付API v3簽名驗證》

回調(diào)示例

退款通知


{
    "id":"EV-2018022511223320873",
    "create_time":"2018-06-08T10:34:56+08:00",
    "resource_type":"encrypt-resource",
    "event_type":"REFUND.SUCCESS",
    "summary":"退款成功",
    "resource" : {
        "original_type": "refund",
        "algorithm":"AEAD_AES_256_GCM",
        "ciphertext": "...",
        "associated_data": "",
        "nonce": "..."
    }
}

商戶對resource對象進行解密后,得到的資源對象示例


{
    "sp_mchid": "1900000100",
    "sub_mchid": "1900000109",
    "transaction_id": "1008450740201411110005820873",
    "out_trade_no": "20150806125346",
    "refund_id": "50200207182018070300011301001",
    "out_refund_no": "7752501201407033233368018",
    "refund_status": "SUCCESS",
    "success_time": "2018-06-08T10:34:56+08:00",
    "user_received_account": "招商銀行信用卡0403",
    "amount" : {
        "total": 999,
        "refund": 999,
        "payer_total": 999,
        "payer_refund": 999
    }
}

通知參數(shù)

參數(shù)名 變量 類型[長度限制] 必填 描述
服務商戶號 sp_mchid string[1,32] 服務商戶號,由微信支付生成并下發(fā) 。
示例值:1900000100
子商戶號 sub_mchid string[1,32] 子商戶的商戶號,由微信支付生成并下發(fā)。
示例值:1900000109
商戶訂單號 out_trade_no string[1,32] 返回的商戶訂單號
示例值: 1217752501201407033233368018
微信支付訂單號 transaction_id string[1,32] 微信支付訂單號
示例值: 1217752501201407033233368018
商戶退款單號 out_refund_no string[1,64] 商戶退款單號
示例值: 1217752501201407033233368018
微信支付退款單號 refund_id string[1,32] 微信退款單號
示例值: 1217752501201407033233368018
退款狀態(tài) refund_status string[1,32]

退款狀態(tài),枚舉值:
SUCCESS:退款成功
CLOSE:退款關閉
ABNORMAL:退款異常,退款到銀行發(fā)現(xiàn)用戶的卡作廢或者凍結了,導致原路退款銀行卡失敗,可前往【服務商平臺—>交易中心】,手動處理此筆退款
示例值:SUCCESS

退款成功時間 success_time string[1,64] 1、退款成功時間,遵循rfc3339標準格式,格式為yyyy-MM-DDTHH:mm:ss+TIMEZONE,yyyy-MM-DD表示年月日,T出現(xiàn)在字符串中,表示time元素的開頭,HH:mm:ss表示時分秒,TIMEZONE表示時區(qū)(+08:00表示東八區(qū)時間,領先UTC 8小時,即北京時間)。例如:2015-05-20T13:29:35+08:00表示,北京時間2015年5月20日13點29分35秒。
2、當退款狀態(tài)為退款成功時返回此參數(shù)。
示例值:2018-06-08T10:34:56+08:00
退款入賬賬戶 user_received_account string[1,64] 取當前退款單的退款入賬方。
退回銀行卡:{銀行名稱}{卡類型}{卡尾號}
退回支付用戶零錢: 支付用戶零錢
退還商戶: 商戶基本賬戶/商戶結算銀行賬戶
退回支付用戶零錢通:支付用戶零錢通
示例值:招商銀行信用卡0403
+金額信息 amount object 金額信息
參數(shù)名 變量 類型[長度限制] 必填 描述
訂單金額 total int 訂單總金額,單位為分,只能為整數(shù),詳見支付金額
示例值:999
退款金額 refund int 退款金額,幣種的最小單位,只能為整數(shù),不能超過原訂單支付金額,如果有使用券,后臺會按比例退。
示例值:999
用戶支付金額 payer_total int 用戶實際支付金額,單位為分,只能為整數(shù),詳見支付金額
示例值:999
用戶退款金額 payer_refund int 退款給用戶的金額,不包含所有優(yōu)惠券金額
示例值:999

通知應答

接收成功:HTTP應答狀態(tài)碼需返回200或204,無需返回應答報文。

接收失敗:HTTP應答狀態(tài)碼需返回5XX或4XX,同時需返回應答報文,格式如下:

注意:重試過多會導致微信支付端積壓過多通知而堵塞,影響其他正常通知。


參數(shù)名 變量 類型[長度限制] 必填 描述
返回狀態(tài)碼 code string[1,32] 錯誤碼,SUCCESS為接收成功,其他錯誤碼為失敗
示例值:SUCCESS
返回信息 message string[1,256] 返回信息,如非空,為錯誤原因
示例值:系統(tǒng)錯誤

{   
    "code": "SUCCESS"
}


技術咨詢

文檔反饋