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

開發(fā)指引

更新時(shí)間:2023.08.23

# 1. 接口規(guī)則

為了在保證支付安全的前提下,帶給商戶簡(jiǎn)單、一致且易用的開發(fā)體驗(yàn),我們推出了全新的微信支付APIv3接口。該版本API的具體規(guī)則請(qǐng)參考APIv3接口規(guī)則

# 2. 開發(fā)準(zhǔn)備

# 2.1. 搭建和配置開發(fā)環(huán)境

為了幫助開發(fā)者調(diào)用開放接口,我們提供了JAVA、PHP、GO三種語(yǔ)言版本的開發(fā)庫(kù),封裝了簽名生成、簽名驗(yàn)證、敏感信息加/解密、媒體文件上傳 等基礎(chǔ)功能(更多語(yǔ)言版本的開發(fā)庫(kù)將在近期陸續(xù)提供)。

測(cè)試步驟:

1、根據(jù)自身開發(fā)語(yǔ)言,選擇對(duì)應(yīng)的開發(fā)庫(kù)并構(gòu)建項(xiàng)目,具體配置請(qǐng)參考下面鏈接的詳細(xì)說明:

更多資源可前往微信支付開發(fā)者社區(qū) (opens new window)搜索查看。

2、創(chuàng)建加載商戶私鑰、加載平臺(tái)證書、初始化httpClient的通用方法。

示例代碼

3、基于接口的示例代碼,替換請(qǐng)求參數(shù)后可發(fā)起測(cè)試。

說明:

  • 上面的開發(fā)庫(kù)為微信支付官方開發(fā)庫(kù),其它沒有審核或者控制下的第三方工具和庫(kù),微信支付不保證它們的安全性和可靠性。通過包管理工具引入SDK后,可根據(jù)下面每個(gè)接口的示例代碼替換相關(guān)參數(shù)后進(jìn)行快速測(cè)試。
  • 開發(fā)者如果想詳細(xì)了解簽名生成、簽名驗(yàn)證、敏感信息加/解密、媒體文件上傳等常用方法的具體代碼實(shí)現(xiàn),可閱讀下面的詳細(xì)說明:
  1. 簽名生成
  2. 簽名驗(yàn)證
  3. 敏感信息加解密
  4. merchantPrivateKey(私鑰)
  5. wechatpayCertificates(平臺(tái)證書)
  6. APIV3Key(V3 key)
  • 如想更詳細(xì)的了解我們的接口規(guī)則,可查看我們的接口規(guī)則指引文檔

# 2.2. 業(yè)務(wù)開發(fā)配置

# 2.2.1. 服務(wù)商開通連鎖品牌工具箱

服務(wù)商可登錄【服務(wù)商平臺(tái) (opens new window)-合作工具箱】申請(qǐng)開通【連鎖品牌工具箱】。進(jìn)行品牌申請(qǐng)、查看品牌申請(qǐng)進(jìn)度、邀請(qǐng)品牌總部授權(quán)、品牌門店管理、品牌流量場(chǎng)景管理等日常管理。

示例圖1

# 2.2.2. 設(shè)置分賬比例

連鎖工具箱開通后,品牌主在商戶平臺(tái)進(jìn)入:“品牌專區(qū)-品牌交易-品牌供應(yīng)鏈分賬-供應(yīng)鏈分賬管理”中可進(jìn)行分賬比例的調(diào)整。

示例圖2

# 3. 快速接入

# 3.1. 業(yè)務(wù)流程圖

示例圖3

重點(diǎn)步驟說明:

步驟4 分賬前需調(diào)用《添加分賬接收方》接口添加分賬接收方。

步驟6 分賬訂單發(fā)起分賬需調(diào)用《請(qǐng)求分賬》接口進(jìn)行分賬,微信支付將會(huì)把結(jié)算資金分給分賬接收方。

步驟8 分賬完成后,微信會(huì)通過《分賬動(dòng)賬通知》接口,主動(dòng)通知商戶。商戶也可以通過《查詢分賬結(jié)果》接口,主動(dòng)查詢分賬結(jié)果。

步驟12 分賬后若產(chǎn)生退款,則需先調(diào)用《請(qǐng)求分賬回退》接口,請(qǐng)求將已經(jīng)分給分賬方的資金回退,再處理退款。

步驟13 分賬回退完成后,微信同樣會(huì)通過《分賬動(dòng)賬通知》接口,主動(dòng)通知商戶。商戶也可以通過《查詢分賬回退結(jié)果》接口,主動(dòng)查詢分賬結(jié)果。

步驟17 分賬結(jié)束后,商戶需調(diào)用《完結(jié)分賬》接口結(jié)束分賬訂單。

# 3.2. API接入(含示例代碼)

文檔展示了如何使用微信支付服務(wù)端 SDK 快速接入連鎖品牌分賬產(chǎn)品,完成與微信支付對(duì)接的部分。

注意

  • 文檔中的代碼示例是用來闡述 API 基本使用方法,代碼中的示例參數(shù)需替換成商戶自己賬號(hào)及請(qǐng)求參數(shù)才能跑通
  • 以下接入步驟僅提供參考,請(qǐng)商戶結(jié)合自身業(yè)務(wù)需求進(jìn)行評(píng)估、修改。

# 3.2.1. 【服務(wù)端】請(qǐng)求分賬

**步驟說明:**微信訂單支付成功后,由服務(wù)商發(fā)起分賬請(qǐng)求,將結(jié)算后的資金分給分賬接收方。

示例代碼

重要入?yún)⒄f明:

  • brand_mchid:品牌主商戶號(hào),填寫微信支付分配的商戶號(hào)。
  • sub_mchid:子商戶號(hào),訂單收款方商戶號(hào),可以是品牌主商戶號(hào),也可以是門店商戶號(hào),填寫微信支付分配的商戶號(hào)。
  • AppID:公眾賬號(hào)ID,微信分配的公眾賬號(hào)ID,這里指服務(wù)商的AppID。
  • out_order_no:商戶分賬單號(hào),商戶系統(tǒng)內(nèi)部的分賬單號(hào),在商戶系統(tǒng)內(nèi)部唯一(單次分賬、多次分賬、完結(jié)分賬應(yīng)使用不同的商戶分賬單號(hào)),同一分賬單號(hào)多次請(qǐng)求等同一次,只能是數(shù)字、大小寫字母_``-``|``*``@

更多參數(shù)、響應(yīng)詳情及錯(cuò)誤碼請(qǐng)參見請(qǐng)求分賬接口文檔。

# 3.2.2. 【服務(wù)端】查詢分賬結(jié)果

步驟說明: 發(fā)起分賬請(qǐng)求后,可調(diào)用此接口查詢分賬結(jié)果 。發(fā)起分賬完結(jié)請(qǐng)求后,可調(diào)用此接口查詢分賬完結(jié)的結(jié)果。

示例代碼

重要入?yún)⒄f明:

  • transaction_id:微信訂單號(hào), 微信支付訂單號(hào)。
  • sub_mchid:子商戶號(hào),訂單收款方商戶號(hào),可以是品牌主商戶號(hào),也可以是門店商戶號(hào),填寫微信支付分配的商戶號(hào)。
  • out_order_no:商戶分賬單號(hào),商戶系統(tǒng)內(nèi)部的分賬單號(hào),在商戶系統(tǒng)內(nèi)部唯一(單次分賬、多次分賬、完結(jié)分賬應(yīng)使用不同的商戶分賬單號(hào)),同一分賬單號(hào)多次請(qǐng)求等同一次,只能是數(shù)字、大小寫字母_-|*@。

更多參數(shù)、響應(yīng)詳情及錯(cuò)誤碼請(qǐng)參見查詢分賬結(jié)果接口文檔。

# 3.2.3. 【服務(wù)端】分賬動(dòng)賬通知

步驟說明: 此功能僅針對(duì)分賬接收方,當(dāng)分賬動(dòng)賬金額發(fā)生變動(dòng)時(shí),微信會(huì)把相關(guān)變動(dòng)結(jié)果發(fā)送給需要實(shí)時(shí)關(guān)注的分賬接收方。

注意

  • 分賬動(dòng)賬通知是以POST 方法訪問商戶設(shè)置的通知URL,通知的數(shù)據(jù)以JSON 格式通過請(qǐng)求主體(BODY)傳輸。通知的數(shù)據(jù)包括了加密的支付結(jié)果詳情。
  • 加密不能保證通知請(qǐng)求來自微信。微信會(huì)對(duì)發(fā)送給商戶的通知進(jìn)行簽名,并將簽名值放在通知的HTTP頭Wechatpay-Signature。商戶應(yīng)當(dāng)驗(yàn)證簽名,以確認(rèn)請(qǐng)求來自微信,而不是其他的第三方。簽名驗(yàn)證的算法請(qǐng)參考《微信支付API v3簽名驗(yàn)證》
  • 分賬動(dòng)賬通知HTTP應(yīng)答碼為200或204才會(huì)當(dāng)作正常接收,當(dāng)回調(diào)處理異常時(shí),應(yīng)答的HTTP狀態(tài)碼應(yīng)為500,或者4xx。
  • 商戶成功接收到回調(diào)通知后應(yīng)返回成功的HTTP應(yīng)答碼為200或204。
  • 同樣的通知可能會(huì)多次發(fā)送給商戶系統(tǒng)。商戶系統(tǒng)必須能夠正確處理重復(fù)的通知。 推薦的做法是,當(dāng)商戶系統(tǒng)收到通知進(jìn)行處理時(shí),先檢查對(duì)應(yīng)業(yè)務(wù)數(shù)據(jù)的狀態(tài),并判斷該通知是否已經(jīng)處理。如果未處理,則再進(jìn)行處理;如果已處理,則直接返回結(jié)果成功。在對(duì)業(yè)務(wù)數(shù)據(jù)進(jìn)行狀態(tài)檢查和處理之前,要采用數(shù)據(jù)鎖進(jìn)行并發(fā)控制,以避免函數(shù)重入造成的數(shù)據(jù)混亂。

更多參數(shù)、響應(yīng)詳情及錯(cuò)誤碼請(qǐng)參見分賬動(dòng)賬通知接口文檔。

# 3.2.4. 【服務(wù)端】請(qǐng)求分賬回退

步驟說明: 如果訂單已經(jīng)分賬,在退款時(shí),可以先調(diào)此接口,將已分賬的資金從商戶類型的分賬接收方的賬戶回退給分賬方,再發(fā)起退款。

示例代碼

重要入?yún)⒄f明:

  • sub_mchid:子商戶號(hào),訂單收款方商戶號(hào),可以是品牌主商戶號(hào),也可以是門店商戶號(hào),填寫微信支付分配的商戶號(hào)。
  • out_order_no:商戶分賬單號(hào),商戶系統(tǒng)內(nèi)部的分賬單號(hào),在商戶系統(tǒng)內(nèi)部唯一(單次分賬、多次分賬、完結(jié)分賬應(yīng)使用不同的商戶分賬單號(hào)),同一分賬單號(hào)多次請(qǐng)求等同一次,只能是數(shù)字、大小寫字母_-|*@。
  • out_return_no:商戶回退單號(hào),此回退單號(hào)是商戶在自己后臺(tái)生成的一個(gè)新的回退單號(hào),在商戶后臺(tái)唯一,只能是數(shù)字、大小寫字母_-|*@。
  • return_mchid:回退商戶號(hào),回退商戶號(hào)只能填寫原分賬請(qǐng)求中接收分賬的商戶號(hào)。

更多參數(shù)、響應(yīng)詳情及錯(cuò)誤碼請(qǐng)參見請(qǐng)求分賬回退接口文檔。

# 3.2.5. 【服務(wù)端】查詢分賬回退結(jié)果

步驟說明:商戶需要核實(shí)回退結(jié)果,可調(diào)用此接口查詢回退結(jié)果。如果分賬回退接口返回狀態(tài)為處理中,可調(diào)用此接口查詢回退結(jié)果。

示例代碼

重要入?yún)⒄f明:

  • sub_mchid:子商戶號(hào),訂單收款方商戶號(hào),可以是品牌主商戶號(hào),也可以是門店商戶號(hào),填寫微信支付分配的商戶號(hào)。
  • out_order_no:商戶分賬單號(hào),商戶系統(tǒng)內(nèi)部的分賬單號(hào),在商戶系統(tǒng)內(nèi)部唯一(單次分賬、多次分賬、完結(jié)分賬應(yīng)使用不同的商戶分賬單號(hào)),同一分賬單號(hào)多次請(qǐng)求等同一次,只能是數(shù)字、大小寫字母_-|*@。
  • out_return_no:商戶回退單號(hào),調(diào)用回退接口提供的商戶系統(tǒng)內(nèi)部的回退單號(hào)。

更多參數(shù)、響應(yīng)詳情及錯(cuò)誤碼請(qǐng)參見查詢分賬回退結(jié)果接口文檔。

# 3.2.6. 【服務(wù)端】完結(jié)分賬

步驟說明: 不需要進(jìn)行分賬的訂單,可直接調(diào)用本接口將訂單的金額全部解凍給分賬方商戶。

示例代碼

重要入?yún)⒄f明:

  • transaction_id:微信訂單號(hào), 微信支付訂單號(hào)。
  • sub_mchid:子商戶號(hào),訂單收款方商戶號(hào),可以是品牌主商戶號(hào),也可以是門店商戶號(hào),填寫微信支付分配的商戶號(hào)。
  • out_order_no:商戶分賬單號(hào),商戶系統(tǒng)內(nèi)部的分賬單號(hào),在商戶系統(tǒng)內(nèi)部唯一(單次分賬、多次分賬、完結(jié)分賬應(yīng)使用不同的商戶分賬單號(hào)),同一分賬單號(hào)多次請(qǐng)求等同一次,只能是數(shù)字、大小寫字母_-|*@。

更多參數(shù)、響應(yīng)詳情及錯(cuò)誤碼請(qǐng)參見完結(jié)分賬接口文檔。

# 3.2.7. 【服務(wù)端】查詢訂單剩余待分金額

步驟說明: 可調(diào)用此接口查詢訂單剩余待分金額。

示例代碼

重要入?yún)⒄f明:

  • transaction_id:微信訂單號(hào), 微信支付訂單號(hào)。

更多參數(shù)、響應(yīng)詳情及錯(cuò)誤碼請(qǐng)參見查詢訂單剩余待分金額接口文檔。

# 3.2.8. 【服務(wù)端】查詢最大分賬比例

步驟說明: 服務(wù)商可通過此接口添加分賬接收方,建立分賬接收方列表。連鎖加盟模式下,服務(wù)商添加的分賬接收方統(tǒng)一在品牌主商戶號(hào)維度進(jìn)行管理。

示例代碼

重要入?yún)⒄f明:

  • brand_mchid:品牌主商戶號(hào),通過微信支付認(rèn)證的品牌主商戶號(hào),填寫微信支付分配的商戶號(hào)。

更多參數(shù)、響應(yīng)詳情及錯(cuò)誤碼請(qǐng)參見查詢最大分賬比例接口文檔。

# 3.2.9. 【服務(wù)端】添加分賬接收方

步驟說明: 服務(wù)商可通過此接口添加分賬接收方,建立分賬接收方列表。連鎖加盟模式下,服務(wù)商添加的分賬接收方統(tǒng)一在品牌主商戶號(hào)維度進(jìn)行管理。

示例代碼

重要入?yún)⒄f明:

  • brand_mchid:品牌主商戶號(hào),通過微信支付認(rèn)證的品牌主商戶號(hào),填寫微信支付分配的商戶號(hào)。
  • AppID:公眾賬號(hào)ID,微信分配的公眾賬號(hào)ID,這里指服務(wù)商的AppID。
  • type:分賬接收方類型,枚舉值:
    • MERCHANT_ID:商戶號(hào)(mch_id或者sub_mch_id)
    • PERSONAL_OPENID:個(gè)人OpenID(由服務(wù)商的AppID轉(zhuǎn)換得到)
    • PERSONAL_SUB_OPENID:個(gè)人sub_openid(由品牌主的AppID轉(zhuǎn)換得到)
  • account:分賬接收方賬號(hào):
    • 分賬接收方類型為:MERCHANT_ID時(shí),分賬接收方賬號(hào)為商戶號(hào)(mch_id或者sub_mch_id)
    • 分賬接收方類型為:PERSONAL_OPENID時(shí),分賬接收方賬號(hào)為個(gè)人OpenID
    • 分賬接收方類型為:PESONAL_SUB_OPENID時(shí),分賬接收方賬號(hào)為個(gè)人sub_openid

更多參數(shù)、響應(yīng)詳情及錯(cuò)誤碼請(qǐng)參見添加分賬接收方接口文檔。

# 3.2.10. 【服務(wù)端】刪除分賬接收方

步驟說明: 服務(wù)商發(fā)起刪除分賬接收方請(qǐng)求。刪除后,不再支持品牌主或門店分到該分賬接收方。

示例代碼

重要入?yún)⒄f明:

  • brand_mchid:品牌主商戶號(hào),通過微信支付認(rèn)證的品牌主商戶號(hào),填寫微信支付分配的商戶號(hào)。
  • AppID:公眾賬號(hào)ID,微信分配的公眾賬號(hào)ID,這里指服務(wù)商的AppID。
  • type:分賬接收方類型,枚舉值:
    • MERCHANT_ID:商戶號(hào)(mch_id或者sub_mch_id)
    • PERSONAL_OPENID:個(gè)人OpenID(由服務(wù)商的AppID轉(zhuǎn)換得到)
    • PERSONAL_SUB_OPENID:個(gè)人sub_openid(由品牌主的AppID轉(zhuǎn)換得到)
  • account:分賬接收方賬號(hào):
    • 分賬接收方類型為:MERCHANT_ID時(shí),分賬接收方賬號(hào)為商戶號(hào)(mch_id或者sub_mch_id)
    • 分賬接收方類型為:PERSONAL_OPENID時(shí),分賬接收方賬號(hào)為個(gè)人OpenID
    • 分賬接收方類型為:PESONAL_SUB_OPENID時(shí),分賬接收方賬號(hào)為個(gè)人sub_openid

更多參數(shù)、響應(yīng)詳情及錯(cuò)誤碼請(qǐng)參見刪除分賬接收方接口文檔。

# 4. 常見問題

# Q:分賬調(diào)用“請(qǐng)求分賬接口”返回“非分賬訂單不支持分賬”

A:請(qǐng)按照以下幾點(diǎn)檢查:

  1. 微信訂單號(hào)填寫錯(cuò)誤;
  2. 下單的時(shí)候未傳分賬標(biāo)識(shí)(profit_sharing)的訂單,是沒有分賬權(quán)限的。

# Q:分賬調(diào)用“請(qǐng)求分賬接口”返回“分賬金額不足”

A:請(qǐng)按照以下幾點(diǎn)檢查:

  1. 該訂單已全額退款,沒有資金可以分賬;
  2. 已經(jīng)調(diào)用過“請(qǐng)求單次分賬”,訂單剩余的待分賬金額已經(jīng)解凍,已無(wú)分賬資金;
  3. 超過訂單可分賬金額或者該訂單已無(wú)可分賬金額,請(qǐng)檢查確認(rèn)。

# Q:分賬調(diào)用“請(qǐng)求分賬接口”返回“訂單處理中,暫時(shí)無(wú)法分賬,請(qǐng)稍后再試”

A:請(qǐng)按照以下幾點(diǎn)檢查:

  1. 請(qǐng)?jiān)谟唵沃Ц冻晒?分鐘后再調(diào)用分賬接口;
  2. 未結(jié)算的訂單,請(qǐng)?jiān)诮Y(jié)算后再調(diào)用分賬接口請(qǐng)求分賬;
  3. 老資金流商戶的訂單,不支持分賬;
  4. 商戶開通了收支分離但手續(xù)費(fèi)賬戶余額不足(手續(xù)費(fèi)賬戶最低余額要求是100元以上,在充值手續(xù)費(fèi)賬戶1小時(shí)后,訂單會(huì)正常結(jié)算,即可正常調(diào)用分賬接口)。

# Q:分賬調(diào)用“請(qǐng)求分賬接口”返回“分賬接收商戶全稱不匹配”

A:請(qǐng)按照以下幾點(diǎn)檢查:

  1. 分賬接收商戶全稱填寫錯(cuò)誤,請(qǐng)?zhí)顚懻_的商戶全稱;
  2. 接口需要使用UTF-8編碼。

# Q:分賬調(diào)用“添加分賬接收方接口”返回“系統(tǒng)繁忙,請(qǐng)稍后重試”

A:receiver中的參數(shù)account錯(cuò)誤,參數(shù)account的規(guī)則如下:

  1. 類型是MERCHANT_ID時(shí),是商戶ID;
  2. 類型是PERSONAL_OPENID時(shí),是個(gè)人OpenID;
  3. 類型是PERSONAL_SUB_OPENID時(shí),是個(gè)人sub_openid;
  4. AppID與mchid不匹配也會(huì)報(bào)該錯(cuò)誤,請(qǐng)檢查確認(rèn);
  5. 簽名類型錯(cuò)誤,分賬接口簽名類型目前支持SHA256-RSA、國(guó)密(又稱商用加密算法,即商密SM)。