
商戶透過 QFPay API 建立交易後,將回傳的
pay_params 傳入微信官方 SDK,由微信 App 完成最終扣款流程。
前置條件
在整合前,商戶必須完成以下準備:- 於 微信開放平台 申請並開通 App 支付能力
- 取得對應的 AppID
- App 完成微信平台審核並正式上架
- 已向 QFPay 開通 PayType
800210
https://pay.weixin.qq.com/wiki/doc/api/wxpay/en/pay/In-AppPay/chapter6_2.shtml#menu1
實名認證(選用功能)
商戶可選擇啟用 微信實名認證(Real-name Verification)。 規則說明:- 若提交身份資料,付款人微信帳戶資訊需與資料一致
- 即使未綁定銀行卡,仍可完成付款
- 是否強制實名,依商戶與 PayType 開通狀態為準
SDK 下載
請依平台下載並整合微信官方 SDK: https://developers.weixin.qq.com/doc/oplatform/Downloads/iOS_Resource.htmlAPI 說明
Endpoint
POST/trade/v1/payment
PayType: 800210(微信 In-App 支付)
請求參數
| 參數名稱 | 參數編碼 | 必填 | 說明 |
|---|---|---|---|
| 商戶 ID | mchid | 否 | QFPay 分配的商戶識別碼 |
| 商戶訂單號 | out_trade_no | 是 | 商戶系統唯一訂單號(不可重複) |
| 交易金額 | txamt | 是 | 最小幣值單位,例如 100 = 1 元 |
| 交易幣別 | txcurrcd | 是 | 三位貨幣代碼 |
| 人民幣標記 | rmb_tag | 否 | 香港微信 CNY 交易需設 rmb_tag=Y |
| 交易時間 | txdtm | 是 | YYYY-MM-DD hh:mm:ss |
| 裝置識別碼 | udid | 否 | 商戶 App 裝置識別 |
| 回傳網址 | return_url | 否 | 部分支付場景可能需要 |
| 客戶擴展資訊 | extend_info | 否 | 實名認證資料(僅限中國大陸公民) |
extend_info 格式
如需提交中國大陸用戶實名資訊,請使用以下 JSON 格式。
Real-name Verification Example
user_creid:付款人身分證號碼user_truename:付款人真實姓名(UTF-8 或 Unicode 編碼)
請求範例
Request Example
API 回應說明
當respcd = 0000 時,表示交易建立成功。此時尚未完成扣款,商戶必須呼叫微信 SDK 才會真正觸發付款。
回應參數
| 參數 | 說明 |
|---|---|
syssn | QFPay Transaction ID(系統產生) |
out_trade_no | 商戶訂單號 |
txdtm | 商戶交易時間 |
txamt | 交易金額 |
sysdtm | System Time(QFPay 處理時間) |
respcd | Return Code(0000 = 成功建立交易) |
respmsg | 回應訊息 |
resperr | 錯誤說明 |
txcurrcd | 交易貨幣 |
pay_params | 提供給微信 SDK 的參數 |
回應範例
Response Example
交易生命週期說明(重要)
- 商戶呼叫
/trade/v1/payment - QFPay 回傳
pay_params - 商戶 App 呼叫微信 SDK
- 使用者於微信完成付款
- QFPay 透過 Webhook 非同步通知 回傳最終結果
整合建議
- 必須實作 Webhook 接收最終交易狀態
- 建議保存:
syssn(QFPay Transaction ID)out_trade_no
- App 不應僅依賴 SDK callback 判斷最終結果
- 若 App 被關閉,需透過查詢 API 同步狀態
小結
- 僅適用於原生 App 場景
- 必須整合微信官方 SDK
- API 成功僅代表建立交易
- 最終成功與否需以 Webhook 或查詢 API 為準
