最近對微信App支付(App端集成微信支付SDK)申請步驟,以及終端在進行微信支付時商戶App、商戶Server、微信App、微信支付Server
的交互流程進行了簡單了解。這篇文章應該算是學習筆記,分享出來,希望對感興趣的朋友有一定幫助。
本文從以下三個方面介紹微信App支付:
- 微信支持哪幾種支付模式?
- 如何申請接入微信App支付?
- 微信App支付流程(
支付過程中的前后端交互邏輯
)
一、微信支付模式
微信支付的全部支付模式以及對應的支付場景如下:
- 付款碼支付(場景:
線下面對面收銀
)
付款碼支付是用戶展示微信錢包內的“刷卡條碼/二維碼”給商戶系統掃描后直接完成支付的模式。主要應用線下面對面收銀的場景。 - Native支付(場景:
PC網站支付
)
Native支付是商戶系統按微信支付協議生成支付二維碼,用戶再用微信“掃一掃”完成支付的模式。該模式適用於PC網站支付、實體店單品或訂單支付、媒體廣告支付等場景。 - JSAPI支付(場景:
微信內H5支付
)
JSAPI支付是用戶在微信中打開商戶的H5頁面,商戶在H5頁面通過調用微信支付提供的JSAPI接口調起微信支付模塊完成支付。應用場景有:
用戶在微信公眾賬號內進入商家公眾號,打開某個主頁面,完成支付;
用戶的好友在朋友圈、聊天窗口等分享商家頁面連接,用戶點擊鏈接打開商家頁面,完成支付;
將商戶頁面轉換成二維碼,用戶掃描二維碼后在微信瀏覽器中打開頁面后完成支付; - APP支付(場景:
商戶App集成微信sdk完成支付
)
APP支付又稱移動端支付,是商戶通過在移動端應用APP中集成開放SDK調起微信支付模塊完成支付的模式。 - H5支付(場景:
手機瀏覽器支付
)
H5支付主要是在手機、ipad等移動設備中通過瀏覽器來喚起微信支付的支付產品。 - 小程序支付(場景:
微信小程序支付
)
小程序支付是專門被定義使用在小程序中的支付產品。目前在小程序中能且只能使用小程序支付的方式來喚起微信支付。
二、微信App支付申請步驟
App支付為終端在商戶App
內集成微信支付SDK
,點擊支付后通過調用微信支付SDK
相關接口,喚起微信App
從而完成支付流程。
微信APP支付申請步驟如下:
- 注冊微信開放平台賬號
需要的資料:
郵箱、企業注冊地、開發者資料(姓名、手機號、聯系地址、身份證號);
- 認證開發者資質(認證資質后方可申請微信支付)
需要的資料:
認證公函的蓋章電子版、企業全稱、工商營業執照照片、對公賬戶(賬戶名稱、賬號、開戶銀行,個體工商戶可用法人的銀行賬戶代替)、認證聯系人信息(姓名、電話、座機、郵箱、身份證號碼);
申請開發者資質認證審核服務費:300元/次;
- 創建應用獲取AppID
需要資料:
應用名稱、簡介、官網、應用logo、安卓應用簽名、安卓應用包名;
- 微信支付商戶平台接入微信支付
需要的資料:
超級管理員資料(姓名、手機號、郵箱)、營業執照照片、組織機構代碼證照片(未三證合一)、法人身份證正反面照片、對公銀行賬戶(開戶名稱、開戶銀行、開戶支行、開戶賬號)、經營信息(經營類目、售賣商品描述)、公眾號AppID
- 在線簽署協議
- 確定App綁定關系
2.1 注冊微信開放平台賬號
微信開放平台注冊地址如下:
https://open.weixin.qq.com/
注冊所需信息:
郵箱、企業注冊地、開發者資料(姓名、手機號、聯系地址、身份證號)。
微信開放平台注冊步驟如下:
- 微信開放平台注冊賬號
注冊地址:
https://open.weixin.qq.com/
- 填寫注冊信息
一般采用郵箱注冊。
- 完善開發者資料:
開發者資料包括:姓名、手機號、聯系地址、身份證號。
2.2 認證開發者資質
通過開發者資質認證后方可申請微信支付。
進入微信開放平台【賬號-開發者資質認證】:
https://open.weixin.qq.com/
申請開發者資質認證審核服務費:300元/次;
申請所需材料:
認證公函的蓋章電子版、企業全稱、工商營業執照照片、對公賬戶(賬戶名稱、賬號、開戶銀行,個體工商戶可用法人的銀行賬戶代替)、認證聯系人信息(姓名、電話、座機、郵箱、身份證號碼);
認證審核時間: 1-5個工作日;
開發者資質認證操作步驟如下:
- 點擊“現在申請”進入微信公眾平台:
- 選擇認證類型&上傳公函:
- 上傳工商營業執照:
- 填寫對公銀行卡信息:
- 填寫聯系人信息:
- 確認命名:
- 支付認證費用:
2.3 創建應用獲取AppID
該步驟開始的前提:
APP開發基本完成,打包獲取應用簽名、包名
(備用);
創建應用:
進入微信開放平台【管理中心-移動應用】https://open.weixin.qq.com/
所需信息:
應用名稱、簡介、官網、應用logo、安卓應用簽名、安卓應用包名
創建應用並提交審核,審核通過后會獲取到AppID。
2.4 微信支付商戶平台接入微信支付
進入微信開放平台【管理中心/應用詳情】“申請開通微信支付”:
https://open.weixin.qq.com/
申請所需材料:
超級管理員資料(姓名、手機號、郵箱)、營業執照照片、組織機構代碼證照片(未三證合一)、法人身份證正反面照片、對公銀行賬戶(開戶名稱、開戶銀行、開戶支行、開戶賬號)、經營信息(經營類目、售賣商品描述)、公眾號AppID
提交后系統會進行校驗,校驗通過會進行匯款驗證,驗證通過后即完成申請資料提交;
微信支付審核時間:1-5個工作日
;
微信支付商戶平台接入微信支付的操作步驟如下:
- 填寫超級管理員姓名、手機號、郵箱,以創建申請單:
- 進入填寫商戶資料頁面,選擇主體類型為“企業”后,按頁面提示提交相關信息,詳見下圖:
- 預覽申請單並確認:
2.5 在線簽署協議
微信支付審核通過后,需要在線簽署協議。
- 審核通過后,待簽約模版消息會通過
微信支付商家助手
公眾號推送給超級管理員
- 點擊消息進入簽約頁面,核對商戶信息和閱讀協議后,點擊簽署,即可完成簽約
2.6 確定綁定關系
微信支付交易發起依賴於公眾號、小程序、移動應用(即APPID)與商戶號(即MCHID)的綁定關系,因此商戶在完成簽約后,需要確認當前商戶號同AppID的綁定關系,方可使用。
App集成微信支付SDK:
- 登錄微信支付平台【產品中心/AppID賬號管理/我關聯的AppID賬號】新增AppID賬號;
微信支付平台:
https://pay.weixin.qq.com
- 前往微信開放平台【管理中心/查看/微信支付/商戶號管理】確認授權申請。
微信開放平台:
https://open.weixin.qq.com/
三、微信App支付流程
終端用戶點擊支付
后,商戶客戶端App
、商戶Server
、微信客戶端App
、微信支付Server
商戶App通過集成微信支付SDK完成支付大概需要經過以下步驟:
- 生成支付訂單;
- 支付授權;
- 用戶輸入密碼進行交易;
- 支付結果異步通知;
- 商戶App驗證支付結果,並提示用戶;
流程說明:
- 步驟1-2:終端用戶打開
商戶App
,瀏覽並選中商戶在售商品,完成下單操作; - 步驟3:終端用戶完成下單后,
商戶App
調用商戶Server
接口請求生成訂單; - 步驟4-6:
商戶Server
調用微信統一下單Api
請求生成預付費訂單pre_pay_id
; - 步驟7-8:
商戶Server
生成帶簽名的客戶端支付信息,並將pre_pay_id、sign返回給商戶App
。 - 步驟9:
商戶App
調用微信支付sdk
提供的支付Api,喚起微信支付;並傳入訂單號、簽名、價格等信息。 - 步驟10-12:
微信App
請求微信支付系統
發起支付請求,微信支付系統
完成支付參數驗證,並將支付授權返回給微信App
。 - 步驟13-15:
微信App
彈出支付密碼輸入窗口,用戶收入支付密碼並確認支付;支付密碼由微信App
調用微信支付系統
相關接口傳遞給微信支付系統
;微信支付系統
完成密碼校驗,隨后完成交易。 - 步驟16-18:
微信支付系統
完成交易后,會通過異步通知的方式通知商戶Server
,商戶Server
完成數據庫入庫與其他邏輯操作后,通知微信支付系統處理結果。 - 步驟19-20:
微信支付系統
完成交易后,通知微信App
交易成功;微信App
回調給商戶App
支付成功的消息。 - 步驟21-23:
商戶App
收到微信支付成功的回調后,會調用商戶Server
相關接口,再次確認訂單是否支付成功,(此時若商戶Server
尚未收到微信支付系統
支付成功的異步回調,會調用微信支付系統
相關Api主動查詢訂單狀態)商戶Server
將支付狀態回調給商戶App
,交易完成。
參考
open帳號注冊操作步驟:
https://kf.qq.com/faq/170811QrE3En170811bUNRJb.html
微信認證申請流程:
https://kf.qq.com/faq/161220Brem2Q161220uUjERB.html
移動應用創建流程:
https://kf.qq.com/faq/170824EnUNRJ170824bYnEJr.html
如何提交接入申請資料?
https://kf.qq.com/faq/180910aYF77n18091073a6Jj.html
商戶申請接入時,如何簽約?
https://kf.qq.com/faq/180910Rn6FbI180910ZbYNn2.html
商戶申請接入時,如何確認綁定關系?
https://kf.qq.com/faq/180910QZzmaE180910vQJfIB.html
商家商戶號與AppID賬號關聯管理
https://kf.qq.com/faq/1801116VJfua1801113QVNVz.html