
整體流程說明
JSAPI 支付完整流程:- 於微信內取得
oauth_code - 使用
oauth_code換取openid - 呼叫
/trade/v1/payment - 取得
pay_params - 呼叫微信 JSAPI 支付模組
- 透過 Webhook 或查詢 API 確認最終結果
整合模式
模式一:商戶擁有實名認證公眾號
條件:- 商戶自行註冊並完成微信公眾號實名認證
- 公眾號已與 QFPay 帳戶綁定
- 商戶可自行取得使用者
openid
- https://developers.weixin.qq.com/doc/offiaccount/en/Getting_Started/Overview.html
- https://pay.weixin.qq.com/wiki/doc/api/jsapi.php
模式二:使用 QFPay 提供之公眾號
適用於未擁有實名公眾號的商戶:- OAuth 由 QFPay 代為處理
- 商戶透過 QFPay API 取得
openid
加拿大地區商戶若遇到 PayType 不一致,請依您帳戶實際開通的 PayType 為準,並參閱對應支付方式頁面。
Step 1:取得 oauth_code
Endpoint and Method
Get OAuth Code
Request Parameters
| 參數 | 必填 | 說明 |
|---|---|---|
app_code | 是 | QFPay 分配之 AppCode |
sign | 是 | 依簽名規則生成的 MD5 簽名 |
redirect_uri | 是 | 授權完成後跳轉網址(需 URL encode) |
mchid | 否 | 部分商戶需要傳入 |
Example Request
Example URL
此請求必須在 微信內建瀏覽器 中開啟,否則無法取得
oauth_code。redirect_uri,並附帶 query 參數 code:
Redirect Result
Step 2:取得 openid
Endpoint and Method
Get OpenID
Request Headers
| Header | 必填 | 說明 |
|---|---|---|
X-QF-APPCODE | 是 | AppCode |
X-QF-SIGN | 是 | 依簽名規則生成 |
Request Parameters
| 參數 | 必填 | 說明 |
|---|---|---|
code | 是 | OAuth 取得的授權碼(僅可使用一次) |
mchid | 否 | QFPay 商戶 ID(部分商戶需要) |
Example Request
Example Request (Query + Headers)
Example Response
OpenID Response
Response Parameters
| 參數 | 說明 |
|---|---|
respcd | Return Code(0000 = 成功) |
openid | 使用者 OpenID |
Step 3:發起支付
Endpoint and Method
Create Payment
800207
Request Headers
| Header | 必填 | 說明 |
|---|---|---|
X-QF-APPCODE | 是 | AppCode |
X-QF-SIGN | 是 | 依簽名規則生成 |
Request Parameters
| 參數 | 必填 | 說明 |
|---|---|---|
sub_openid | 是 | 使用者 openid |
out_trade_no | 是 | Merchant Order Number(商戶訂單號,必須唯一) |
txamt | 是 | 金額(最小幣值單位) |
txcurrcd | 是 | 幣別 |
txdtm | 是 | Transaction Time(YYYY-MM-DD hh:mm:ss) |
limit_pay | 否 | 限制支付方式 |
extend_info | 否 | 實名資料(僅限中國大陸) |
Example Request
Payment Request
Example Response
Payment Response
Response Parameters
| 參數 | 說明 |
|---|---|
syssn | QFPay Transaction ID |
respcd | Return Code |
sysdtm | System Time |
pay_params | 微信 JSAPI 呼叫所需參數 |
Step 4:呼叫微信 JSAPI 支付模組
前端需使用pay_params 呼叫微信支付:
WeixinJSBridge Example
直接跳轉模式(QFPay Redirect)
如您採用 QFPay 代為跳轉方式,可使用:Direct Entry
整合注意事項與最佳實務
小結
- 僅適用於微信內建瀏覽器
- 需先完成 OAuth 並取得 openid
- 交易建立成功後需呼叫微信 JSAPI
- 最終交易結果以 Webhook / 查詢 API 為準
