﻿# 收单-发起测试

- 在测试环境中，为方便商户在对接过程中调试不同支付结果的处理流程，PayerMax 提供了完善的模拟策略；

- 商户联调时，通过选择支付方式，输入符合格式的支付信息进入模拟界面完成模拟支付；

- 测试环境不会真实扣款，用户账号信息只验证格式，不做账号真实性验证。

## 1. 集成模式模拟规则

需注意，您设置的测试金额必须在当前支付方式的限额范围内。

### 1.1 直联卡通用规则

- 支付方式：CARD、APPLEPAY、GOOGLEPAY。

::: warning 下单参数`subject`指定以下值可以mock支付结果：
- 成功：subject = `SUCCESS` 或其他
- 失败：subject = `FAILED`
- 支付中：subject = `PENDING` 
:::

- 3DS mock：`subject = 3DS`

    - 支持的集成模式：纯API支付、前置组件；

    - 支付方式：CARD；

    -  3ds 页面选择认证成功则支付成功，选择认证失败则支付失败。

![](https://img-cdn-sg.payermax.com/public/20250528-1b79839f-3dde-4a93-a060-820f378c4a02.png)

### 1.2 收银台支付及链接支付

#### 1.2.1 APM

- 跳转URL交互： 产线跳转外部渠道页面，测试环境跳转到结果选择页。

  - 支付方式列表：

| 国家   | 支付方式类型 | 目标机构 |
| ------ | ------------ | -------- |
| CN     | WALLET       | ALIPAY   |
| ...... |              |          |

  - mock方案：

::: warning 跳转链路：
- 选择successful：跳转成功结果页，会发起回调通知，订单状态为`SUCCESS`；
- 选择failed：跳转失败结果页。可点击结果页的Close按钮主动关单或者等订单到关单时间后，会发起回调通知，订单状态为`FAILED`；
- 选择pending：跳转支付中结果页，订单到关单时间后会发起回调通知。
:::

![](https://img-cdn-sg.payermax.com/public/20250528-ff4cd37c-e26b-487e-a067-2577fdd84303.png)

- OTP交互：输入手机验证码后直接获取支付结果。

  - 支付方式列表：

| 国家 | 支付方式类型 | 目标机构 |
| ---- | ------------ | -------- |
| SA   | WALLET       | STCPAY   |

  - mock方案：默认直接返回支付结果为成功，满足subject字段场景按对应结果返回。

::: warning 下单参数subject指定以下值可以mock支付结果：
- 成功：`subject = SUCCESS` 或其他
- 失败：`subject = FAILED`
- 支付中：`subject = PENDING` 
:::

### 1.3 纯API支付

#### 1.3.1 APM

- 大部分支付方式**下单返回`redirectUrl`**，跳转url交互：产线跳转外部渠道页面，测试环境跳转支付结果选择页。

  - 支付方式列表：

| 国家   | 支付方式类型 | 目标机构 |
| ------ | ------------ | -------- |
| ID     | WALLET       | LINKAJA  |
| ...... |              |          |

![](https://img-cdn-sg.payermax.com/public/20250528-4123fec0-b950-4957-ba5f-d3d7a172829f.png)

- **下单返回`qrCode`**：

  - 支付方式列表：

| 国家 | 支付方式类型     | 目标机构        |
| ---- | ---------------- | --------------- |
| ID   | BANK_TRANSFER    | BCA/BRI/BTPN... |
| BR   | REALTIME_PAYMENT | PIX             |
| SG   | REALTIME_PAYMENT | PAYNOW          |
| PH   | REALTIME_PAYMENT | QRPH            |

  - mock方案：下单返回qrCode，订单支付结果参考subject (`subject = SUCCESS`、`subject = FAILED`)。

- **下单返回`vaCode`**：

  - 支付方式列表：

| 国家 | 支付方式类型  | 目标机构        |
| ---- | ------------- | --------------- |
| TW   | BANK_TRANSFER | YUSHANBANK/...  |
| TW   | OTC           | 7-ELEVEN/...... |

  - mock方案：正常返回vaCode，订单支付结果参考subject (`subject = SUCCESS`、`subject = FAILED`)。

### 1.4 前置组件

请参考[1.1 直联卡通用规则](https://docs.payermax.com/202606-version/receipt/test-cases.md#_1-1-直联卡通用规则)。

### 1.5 Tokenization支付

- 用户首次支付时返回Tokenization：

  - 收银台支付：请参考[1.2 收银台支付及链接支付](https://docs.payermax.com/202606-version/receipt/test-cases.md#_1-2-收银台支付及链接支付)；

  - 纯API支付：请参考[1.3 纯API支付](https://docs.payermax.com/202606-version/receipt/test-cases.md#_1-3-纯api支付)。

- 在后续支付时：

  - 请参考[1.3 纯API支付](https://docs.payermax.com/202606-version/receipt/test-cases.md#_1-3-纯api支付)。

## 2. 用户账户信息模拟

### 2.1 APM

满足账号格式即可，部分可参考以下内容，其余可上网查询。

| Email                       | 巴西                                                          | 埃及                                     | 智利          |
| --------------------------- | ------------------------------------------------------------- | ---------------------------------------- | ------------- |
| 任一邮箱：Example@gmail.com | CPF（11位数字）：12345678909 CNPJ（14位数字）：12345678000195 | Mobile Number（01开头11位）：01234567899 | CI：123456785 |

### 2.2 Card

卡支付，测试环境可使用的测试卡号：

| **Visa**            | **Master**          | **JCB**          | **Discover**          | **DinersClub**          |
|---------------------|---------------------|---------------------|---------------------|---------------------|
| 卡号：4444333322221111 | 卡号：5555555555554444 | 卡号：2131 4324 2974 3027 | 卡号：6011000000000012 | 卡号：30569309025904 |
| 姓名：James Smith      | 姓名：Allen Black      | 姓名：James Smith      | 姓名：James Smith      | 姓名：James Smith      |
| 有效期-年：30            | 有效期-年：26            |有效期-年：30            |有效期-年：30            |有效期-年：30            |
| 有效期-月：03            | 有效期-月：11            | 有效期-月：03            | 有效期-月：03            | 有效期-月：03            |
| CVV：123             | CVV：357             | CVV：123             | CVV：123             | CVV：123             |

| **沙特Mada**          | **科威特Knet**         | **卡塔尔Naps**         | **巴林Benefit**       | **巴基斯坦**            |
|---------------------|---------------------|---------------------|---------------------|---------------------|
| 卡号：5297412542005689 | 卡号：4507785555554449 | 卡号：4215375500883243 | 卡号：5326774027281753 | 卡号：4919713330643198 |
| 姓名：William Harris   | 姓名：Jacob Thomas     | 姓名：Olivia Taylor    | 姓名：Brown Jenny      | 姓名：Patric berg      |
| 有效期-年：30            | 有效期-年：26            | 有效期-年：26            | 有效期-年：30            | 有效期-年：2027          |
| 有效期-月：05            | 有效期-月：11            | 有效期-月：06            | 有效期-月：08            | 有效期-月：06            |
| CVV：350             | CVV：357             | CVV：123             | CVV：927             | CVV/CVC：135         |

| **乌兹别克斯坦Humo**          | **乌兹别克斯坦UZCARD**         | **巴西Elo**         |
|---------------------|---------------------|---------------------|
| 卡号：9860133336475222 | 卡号：8600480114230171 | 卡号：5067058340733606 | 
| 姓名：William Harris   | 姓名：Jacob Thomas     | 姓名：Olivia Taylor    |
| 有效期-年：30            | 有效期-年：30            | 有效期-年：30            | 
| 有效期-月：03            | 有效期-月：03            | 有效期-月：03            | 
| CVV：123             | CVV：123             | CVV：123             |

### 2.3 ApplePay

- 商户开发创建沙盒Apple账户，点击参考[官方地址](https://developer.apple.com/cn/apple-pay/sandbox-testing/)；

- 在收银台选择Apple Pay支付，拉起ApplePay支付表单；

- ApplePay授权并支付完成后，根据`subject`字段返回支付结果。详情请参考[ApplePay测试环境模拟流程](https://img-cdn-sg.payermax.com/public/20250529-53286836-207f-4c9c-9746-b1bfcb84bf5d.pdf)。

::: warning 注意：ApplePay支持的条件主要为以下2种，具体支持情况可以参考ApplePay官网。
- 苹果设备（MacBook，iPad，iPhone等）的safari浏览器上使用；
- 苹果自己的webview内核上使用。
:::

### 2.4 GooglePay

- 在收银台选择Google Pay支付，拉起GooglePay支付表单；

- 在GooglePay支付表单中，登录您的GooglePay账户，您可以将您的Gmail账号添加到GooglePay测试卡套件中（ https://groups.google.com/g/googlepay-test-mode-stub-data ） 用于下一步模拟支付；

- GooglePay授权并支付完成后，根据`subject`字段返回支付结果，模拟支付成功或者失败。详情请参考 [GooglePay测试环境模拟流程](https://img-cdn-sg.payermax.com/public/20250528-443892ae-ee63-4c25-85da-6fa43fd6c31a.pdf)。

::: warning 注意：
GooglePay不支持在WebView中拉起GooglePay sheet，建议使用默认浏览器打开。
:::

## 3 请求API退款接口模拟

- 成功：除下面固定金额外任意金额；

- 失败-固定金额（本币）：10000或102（大约1分钟后回调退款失败）；

- 支付中-固定金额（本币）：20000 或 202。
