自定義交易組件
本文主要介紹新版自定義交易組件的業務流程及各流程的注意事項,文檔篇幅較長,如無需查看完整文檔可以使用瀏覽器自帶頁面搜索功能進行關鍵字搜索(快捷鍵Ctrl+F )。
在開始開發前應確認以下必要前置條件是否完成:
1、開通場景經營商戶號;
2、部分接口強制校驗來源IP白名單,白名單配置方式:
1)服務商配置方式"點我查看"
2)普通小程序:登錄小程序管理后臺->開發管理->開發設置->“開發者ID”下的“IP白名單”
3、因視頻號場景受控訂單無微信支付回調,支付結果等事件是通過小程序消息推送進行下發的,需要登錄小程序管理后臺后,在「開發」-「開發設置」-「消息推送」中啟用并設置消息推送配置,開發者接收到的消息需要解密, 消息加解密說明可在開發文檔查詢。
1、業務流程圖
1.1 關鍵流程邏輯
1.2 售后流程
1.3 主要業務變動
2、接入流程詳細說明
整體接入流程
注:本文2.1-2.2為前置必做流程,完成后才可以進行接口調試
2.1 開通自定義交易組件
2.1.1 公眾平臺后臺開通
登錄公眾平臺,點擊功能下方的“交易組件”,點擊“開通”閱讀并同意開通協議后即可進行下一步操作。
開通后頁面如圖所示
2.1.2 接口申請開通
調用接口 “shop/register/apply” 申請開通自定義版交易組件,請求成功后將發送“法務協議確認”到管理員微信,管理員需要在“24小時內”點擊該模板消息,并確認服務協議。服務協議簽署成功后,開發者可以通過“獲取接入狀態接口(可點擊跳轉)”或“”事件回調“進行開通狀態判斷,若狀態為“已開通”,開發者才可以繼續調用后續接口進行調試接入。
2.1.3 自定義交易組件“升級版”跟升級前的自定義交易組件有什么區別,哪些接口需要進行升級?
1.新支付接口,必須走新商戶號。
2.取消訂單, 小程序(小程序內以及發現-小程序我的訂單)和視頻號雙向可取消,之前只可以在小程序上取消,然后同步給視頻號狀態。
3.申請退款,小程序和視頻號雙向可申請退款。
4.申請退貨退款,小程序和視頻號雙向可申請退貨退款,之前只有小程序上操作。
5.未付款訂單,小程序和視頻號 可在各自訂單中心重新支付,同步狀態。
6.確認收貨,小程序和視頻號雙向可確認收貨。
7.同步發貨狀態接口更新。
2.2 開通場景經營所需商戶號
視頻號場景下,會通過開通商戶號、補齊資料,獲得一個新的電商收付通的商戶號。商家在視頻號內的交易資金流,需要使用這個新商戶號。
- 準備事項:需準備營業執照、法人身份證、商戶號超級管理員手機號、郵箱信息
- 注意事項:小程序超管將作為微信支付商戶號的超級管理員,如管理員已離職、管理員曾變更過姓名未在小程序后臺更新等情況,將影響商戶號的簽約,請確認無誤后再進行商戶號申請。
2.2.1 通過公眾平臺后臺申請
在小程序官方后臺自定義交易組件頁面,點擊商戶號申請所對應的“去開通”按鈕進入商戶號申請頁面,共計三部分(不想開商戶號了,暫時不放圖):
2.2.1.1 填寫基礎信息
此部分主要為上傳營業執照、法人身份證、填寫商戶號超管信息
2.2.1.2驗證賬戶小額打款/法人驗證
此部分會有兩種情況,如為“小額打款”驗證方式,在頁面輸入收到的打款金額即可;如為法人驗證,需要使用實名認證為法人同名微信掃碼進行驗證。
2.2.1.3確認賬戶真實性。
點擊“去簽署”按鈕會展示簽約二維碼,使用超管微信進行掃碼,用于確認經營意愿并簽署協議,完成商戶號注冊。
2.2.2 通過API接口申請
調用“提交支付資質”接口,提交場景經營所需商戶號申請,提交成功后,商戶申請是沒有事件回調的,需要服務商主動調用“狀態查詢接口”查詢申請單進度,申請單狀態同“電商收付通二級商戶進件申請單狀態查詢”。此處不做過多描述,有問題可以留言,后續視情況補充更新。
2.2.3 開通場景經營商戶常見問題
2.2.3.1 Q:新版交易組件需要重新申請商戶號嗎?是否可以使用原有商戶號?
A:不可以,新版交易組件必須要申請開通場景專用商戶號
2.2.3.2 Q:新版場景專用商戶號費率是多少,是否有優惠,結算周期是多久?
A:商戶號費率為0.6%,無費率優惠,結算周期為7+7日,即用戶收貨后7天后結算。
2.2.3.3 Q:申請新商戶號時,最后一步簽約遇到“微信實名信息與管理員信息不一致”是什么原因?
A:申請新的場景專用商戶號時,“超級管理員”這一項不支持修改,默認為小程序“超級管理員”實名信息,如需修改,需要為該用戶前往成員管理為小程序綁定超級管理員。
2.2.3.4 Q:申請新的商戶號時,為什么不能修改主體信息?
A:“當前主體”這一項不支持修改,因為商戶號主體必須和該小程序注冊主體保持一致。
2.2.3.5 Q:通過新版自定義交易組件申請的場景專用商戶號是否對跨境類小程序(自助報關)有影響?
A:會,二級商戶當前暫不支持自助清關接口調用,留意后續更新通知
2.2.3.6 Q:新商戶號是否支持分賬功能?
A:即將支持,敬請期待。
2.3 上傳商品并通過審核,完成商品接口調用(僅有API接入方式)
基礎流程,不做過多說明,只寫流程、常見錯誤和注意事項
2.3.1 添加商品流程:
(1)首先去“獲取類目詳情”,與自己的系統商品類目相匹配
(2)查看對應類目是否需要行業資質,如果需要,請上傳相關資質
(3)“上傳相關類目資質”獲得對應類目的使用權限
(4)如果商品有品牌,“上傳品牌信息”獲得品牌的使用權限
(5)調用“添加商品”接口將商品進行上傳
2.3.2 SPU接口常見錯誤及注意事項
2.3.2.1 Q:自定義交易組件提交上傳類目資質時報錯{“errcode”: 1000009, “errmsg”: “調用的類目id不存在”}
A: 調用獲取類目詳情,看對應““qualification_type"與"product_qualification_type"參數是否為"0”,為"0"無需上傳類目資質
2.3.2.2 Q:調用自定義交易組件“添加商品”接口shop/spu/add時報錯“該賬號客服方式必須包含微信客服/小程序客服” {“errcode”:1040042,“errmsg”:"該賬號客服方式必須包含微信客服/小程序客服”}
A11:需要在MP后臺配置微信客服/小程序客服后,然后通過“更新商家信息”接口更新商家信息
調用“獲取商家信息”接口應返回一下內容才為成功,“service_agent_type”字段需要同時包含0,1,2三個值
2.3.2.3 Q:類目審核成功,但是添加商品報錯,{“errcode”:1000005,“errmsg”:"該商品使用了未申請通過的類目,請先申請類目且通過后再提審商品 "}
A: 檢查是否取消開通過,取消開通會清空品牌類目。對于服務商,可以監聽賬戶接入回調事件,目前只有取消開通回調。
2.3.2.4 Q:調用自定義組件上傳圖片接口報錯{“errcode”:1070001,“errmsg”:"文件/圖片為空 "}
A25:檢查請求報文協議,需Content-Type: multipart/form-data
2.4 調試支付校驗,完成訂單接口調用
2.4.1 支付流程:
(1)按照"開發指引"修改基礎庫配置
(2)在小程序中調用"生成訂單"接口生成一筆訂單
(3)完成訂單的支付(視頻號場景需要調用生成支付參數后完成收銀臺的拉起,其他場景按照已有業務邏輯進行支付)
(4)調用"同步訂單支付結果"接口同步訂單的支付結果(二級商戶單無需同步支付結果,系統自動流轉訂單狀態)
注意:
- 這里兩個接口都需要調用,以同步訂單結果為最后確認步驟,視頻號場景則以支付成功作為最終確認步驟。
- 基礎庫拉起收銀臺接口改造后需要發版才可以生效。
- 完成接口調用后,點擊完成,切換狀態。
2.4.2 訂單接口接口常見錯誤及注意事項
2.4.2.1 Q:二級商戶號訂單支付流程與原有訂單支付流程有什么區別?
A17:主要區別是:二級商戶號訂單調起支付所需參數是通過“生成支付參數”獲取,無需同步支付結果;原流程調起支付是需要通過微信支付統一下單獲取,需要同步支付結果。
2.4.2.2 Q:調用自定義交易組件“創建訂單”接口shop/order/add時報錯“不支持的發貨方式” {“errcode”:1010036,“errmsg”:"不支持的發貨方式“}
A:視頻號場景當前只支持“正常快遞”方式,其他請留意后續更新。
2.4.2.3 Q:自定義交易組件申請視頻號專用商戶號后,喚起支付報錯: “商戶號該產品權限未開通”
A:需要先調用“生成訂單”接口,生成訂單時將fund_type設為1,然后調用“生成支付參數”接口獲取調取支付所需參數,不要調用微信支付統一下單接口獲取調用支付參數
2.4.2.4 Q:自定義交易組件二級商戶單調起支付時報錯“JSAPI缺少參數total_fee”
A:生成支付參數失敗,沒返回正確的預支付 ID,重新調用生成支付參數接口獲取新的支付參數即可
2.4.2.5 Q:自定義交易組件調用同步訂單支付結果時報錯 {“errcode”:990022,“errmsg”:"暫不支持操作“}
A:二級商戶單無需同步支付結果,付款成功后系統自動流轉訂單狀態并下發支付結果回調事件。
2.5 調試發貨接口,完成物流相關接口調用
2.5.1 發貨流程
(1)先調用獲取快遞公司列表接口獲取快遞公司信息
(2)調用"訂單發貨"接口,完成發貨
2.5.2 發貨接口常見錯誤及注意事項
注意事項:
- 視頻號訂單狀態流轉不可逆的,當finish_all_delivery=0時,訂單狀態流轉到21(部分發貨), 當finish_all_delivery=1時,訂單狀態從20(待發貨)/ 21(部分發貨)流轉到30(待收貨),部分發貨時finish_all_delivery一定要傳0,最后一次發貨才可以傳1,切記!切記!切記?。?!
2.5.2.1 Q:調用自定義交易組件“創建訂單”接口shop/order/add時報錯“不支持的發貨方式” {“errcode”:1010036,“errmsg”:"不支持的發貨方式“}
A:視頻號場景當前只支持“正??爝f”方式,其他請留意后續更新。
2.5.2.2 Q:當自定義交易組件訂單只存在一個SKU,發貨時誤操作為部分發貨,訂單狀態碼流轉為21時,在既不能確認收貨、也不能退款的情況下應該如何處理?
A:按照截圖示例傳參,即可完成發貨,訂單狀態由21轉為30,訂單狀態變更后就可以正常流轉
注:傳參時order_id與out_order_id二選一傳參
2.6 調試售后接口,完成售后接口調用
2.6.1 售后流程、超時時間及售后事件和API、回調的對應關系
看本文1.2 售后流程圖
用戶及商戶處理售后超時時間
類型 | 超時時間 |
---|---|
商家處理退款超時 | 48小時 |
商家處理退貨超時 | 48小時 |
用戶超時未申請平臺接入 | 7天 |
用戶上傳退貨物流超時 | 7天 |
商家超時未確認收貨 | 10天 |
售后事件和API、回調的對應關系
事件 | API | 觸發回調 | 說明 |
---|---|---|---|
用戶申請退款 | 用戶提交售后申請 | 用戶提交售后申請回調 | - |
用戶申請退貨 | 用戶提交售后申請 | 用戶提交售后申請回調 | - |
用戶修改申請 | 用戶更新售后申請 | 用戶更新售后申請回調 | - |
用戶取消申請 | 用戶取消售后申請 | 用戶取消售后申請回調 | - |
用戶申請平臺介入 | 無API,只能由用戶在微信側觸發 | 暫無 | - |
用戶超時未申請平臺介入(7天) | - | 用戶申請平臺介入超時回調 | - |
用戶上傳退貨物流 | 用戶上傳物流信息 | 用戶上傳退貨物流回調(待商家確認收貨) | - |
用戶超時未上傳退貨物流(7天) | - | 用戶上傳退貨物流超時回調 | - |
用戶確認退款憑證 | 無API,只能由用戶在微信側觸發 | 用戶確認退款憑證回調 | - |
商家同意退款 | 同意退款 | - | - |
商家處理退款超時(48小時) | - | 商家處理退款請求超時回調 | - |
商家同意退貨 | 同意退貨 | - | - |
商家處理退貨超時(48小時) | - | 商家處理退貨申請超時回調 | - |
商家拒絕退款 | 拒絕售后 | - | - |
商家拒絕退貨 | 拒絕售后 | - | - |
商家上傳退款憑證 | 上傳退款憑證 | - | |
商家確認收貨 | 同意退款 | 商家確認收到的貨沒問題后,調用同意退款API表示確認收貨,如果有問題就調用拒絕售后API | |
商家超時未確認收貨(10天) | - | 商家確認收貨超時回調 | - |
平臺退款成功 | - | 平臺退款成功回調 | - |
平臺退款失敗 | - | 平臺退款失敗回調(待商家線下退款) | - |
平臺判定用戶責任 | - | 糾紛事件更新售后單狀態回調 | 糾紛事件通知請見糾紛回調 |
平臺判定商家退款 | - | 糾紛事件更新售后單狀態回調 | 糾紛事件通知請見糾紛回調 |
平臺判定商家退貨 | - | 糾紛事件更新售后單狀態回調 | 糾紛事件通知請見糾紛回調 |
2.6.2 售后接口常見錯誤及注意事項
注意事項
- 新舊接口不可混用,新售后接口無法處理舊接口訂單,否則會出現很多意想不到的錯誤
2.6.2.1 枚舉值定義
(1)AfterSalesReason
枚舉值 | 描述 |
---|---|
1 | 排錯/多拍 |
2 | 不想要了 |
3 | 無快遞信息 |
4 | 包裹為空 |
5 | 已拒簽包裹 |
6 | 快遞長時間未送達 |
7 | 與商品描述不符 |
8 | 質量問題 |
9 | 賣家發錯貨 |
10 | 三無產品 |
11 | 假冒產品 |
12 | 其他 |
(2)AfterSalesState
枚舉值 | 描述 |
---|---|
1 | 用戶取消 |
2 | 商家受理退款申請中 |
4 | 商家拒絕退款 |
5 | 商家拒絕退貨退款 |
6 | 待買家退貨 |
7 | 售后單關閉 |
8 | 待商家收貨 |
11 | 平臺退款中 |
13 | 退款成功 |
21 | 平臺受理退款申請中 |
22 | 平臺介入處理完成 |
23 | 商家受理退貨申請中 |
24 | 平臺受理退貨申請中 |
2.6.2.2 Q:調用自定義交易組件售后相關接口:“創建售后單”、“用戶取消售后單”、“用戶上傳物流信息”、“獲取售后單列表”、“獲取售后單詳情”、“同意退款“、”同意退貨“、“拒絕售后”、“上傳退款憑證”、“更新售后單”等接口時報錯{“errcode”: 48001,“errmsg”: “api unauthorized”}
A18:未開通視頻號場景經營商戶號,需要先開通場景經營商戶號才可以調用。
2.6.2.3 Q:調用自定義交易組件創建售后接口ecaftersale/add時報錯2747002,參數錯誤{“errcode”:2747002,“errmsg”:"參數錯誤 "}
A9:1.請檢查“orderamt”參數,傳參金額應不含郵費。
2.新舊接口不可混合調用,新接口不支持對舊接口生成的訂單創建售后。
2.6.2.4 Q:調用自定義交易組件創建售后接口ecaftersale/add時報47001錯誤{“errcode”:47001,“errmsg”:"data format error "}
A:請檢查“product_info”字段,注意對應類型為“object”。
2.6.2.5 Q:調用自定義交易組件“同意退款”接口shop/ecaftersale/acceptrefund時報錯“同意退款失敗” {“errcode”:9700209,“errmsg”:"同意退款失敗 退款失敗“}
A:1.該問題是訂單流轉狀態不對導致,請嚴格按照文檔流程進行操作調用;
2.新舊接口混合調用也會報此錯誤
3.“orderamt"傳參為"0”
2.6.2.6 Q:用自定義交易組件創建售后接口ecaftersale/add時是報錯“售后金額不合法,大于最大可退款金額”{“errcode”:2747014,“errmsg”:" 售后金額不合法,大于最大可退款金額"}
A:1.請確認請求創建售后時"orderamt"金額是否大于下單時"sku_real_price"金額
2.訂單已進行部分退款