> ## Documentation Index
> Fetch the complete documentation index at: https://sdk.qfapi.com/llms.txt
> Use this file to discover all available pages before exploring further.

# WAP 支付（H5 支付）

> WAP（H5）支付允許商戶將用戶引導至手機瀏覽器完成電子錢包付款，適用於行動網站或 App 內嵌瀏覽器場景。

## 簡介

WAP（H5）支付允許商戶將用戶引導至手機瀏覽器（如 Chrome / Safari / Edge）開啟支付流程，並跳轉至對應電子錢包完成付款。

此方式適用於：

* 行動網站（Mobile Web）
* App 內嵌瀏覽器
* 第三方瀏覽器啟動的支付流程

***

## 使用建議與限制

<Note>
  建議商戶引導用戶使用標準手機瀏覽器（如 Chrome／Safari）開啟支付流程。

  由於 WhatsApp、Facebook Messenger、WeChat 等社交 App 內嵌瀏覽器存在限制，QFPay 無法保證可正常喚起外部電子錢包 App。

  例如： 在 WeChat 內建瀏覽器中，可能無法自動跳轉至 Alipay App。\
  此屬於第三方 App 瀏覽器環境限制。
</Note>

***

## API 端點與方法

```http 建立 WAP 支付交易  theme={null}
POST /trade/v1/payment 
```

***

## 支付類型（PayType）

| PayType  | 描述           |
| -------- | ------------ |
| `800212` | 微信 H5 支付     |
| `801512` | 支付寶香港 WAP 支付 |
| `800712` | 銀聯 WAP 支付    |
| `805812` | PayMe WAP 支付 |

***

## 請求參數

| 參數名稱    | 參數編碼           | 必填 | 類型          | 說明                                          |
| ------- | -------------- | -- | ----------- | ------------------------------------------- |
| 交易金額    | `txamt`        | 是  | Int(11)     | 最小幣值單位（如 100 = 1 元）。**建議大於 200** 以降低風控拒付機率。 |
| 交易貨幣    | `txcurrcd`     | 是  | String(3)   | 三位貨幣代碼。                                     |
| 支付類型    | `pay_type`     | 是  | String(6)   | 依選擇之電子錢包填入對應 PayType。                       |
| 商戶訂單號   | `out_trade_no` | 是  | String(128) | Merchant Order Number，必須唯一。                 |
| 交易時間    | `txdtm`        | 是  | String(20)  | 格式：`YYYY-MM-DD hh:mm:ss`                    |
| 商品名稱    | `goods_name`   | 否  | String(64)  | 最多 20 字元，不可含特殊符號。                           |
| 商戶號     | `mchid`        | 否  | String(16)  | QFPay 分配之商戶識別碼。                             |
| 裝置識別碼   | `udid`         | 否  | String(40)  | 商戶設備唯一識別碼。                                  |
| 前端返回網址  | `return_url`   | 否  | String(255) | 付款完成後跳轉網址。                                  |
| 非同步通知網址 | `notify_url`   | 否  | String(255) | 付款完成後接收通知的 Webhook URL。                     |

***

## 回應參數

| 參數名稱      | 參數編碼           | 類型          | 說明                                                  |
| --------- | -------------- | ----------- | --------------------------------------------------- |
| 支付類型      | `pay_type`     | String(6)   | 對應電子錢包類型。                                           |
| 系統交易時間    | `sysdtm`       | String(20)  | 用於清算依據之時間戳。                                         |
| 商戶交易時間    | `txdtm`        | String(20)  | 商戶原始提交時間。                                           |
| 交易金額      | `txamt`        | Int(11)     | 最終交易金額。                                             |
| 外部訂單號     | `out_trade_no` | String(128) | Merchant Order Number。                              |
| QFPay 訂單號 | `syssn`        | String(40)  | QFPay Transaction ID。                               |
| 回應碼       | `respcd`       | String(4)   | `0000` = 成功建立交易；`1143` / `1145` = 狀態未確定；其他請參閱狀態碼文件。 |
| 回應說明      | `resperr`      | String(128) | 系統處理結果說明。                                           |
| 附加資訊      | `respmsg`      | String(128) | 附加回傳訊息。                                             |
| 支付網址      | `pay_url`      | String(512) | WAP 場景下需跳轉之支付 URL。                                  |

***

## 交易流程說明

1. 商戶呼叫 `/trade/v1/payment`
2. 系統回傳 `pay_url`
3. 商戶將用戶導向該 URL
4. 用戶於電子錢包頁面完成付款
5. 系統透過非同步通知（Webhook）回傳最終交易結果

<Warning>
  `respcd = 0000` 僅代表交易建立成功。\
  最終付款結果需依據 Webhook 或交易查詢 API 確認。
</Warning>

***

## 小結

* 適用於行動瀏覽器支付場景
* 需將用戶導向 `pay_url`
* 建議實作 Webhook 與交易查詢 API
* 注意社交 App 內嵌瀏覽器限制
