﻿# 开放接口附录 - 多渠道联调最小请求示例汇总

**适用接口**：`UnifiedPay` / `UnifiedPayout` / 查询接口  
**适用渠道**：NovaVexis / CowPay / Eqpay / Fzpay / Ynuopay  
**版本日期**：2026-04-18

**签名与信封字段（MD5、`sign` 位置、响应验签例外等）**：以主文档为准 → [统一收银台API接口对接文档.md](./统一收银台API接口对接文档.md) 或 [api-docs.html](./api-docs.html)。

---

## 1. 适用范围

本文档用于给测试商户提供一份可直接照抄的最小请求示例。

使用方式：

- 先按本文档选一个最接近自己场景的 JSON
- 跑通签名、路由、回调后
- 再进入具体渠道的 `pay_type_code` 附录补齐国家特有字段

本文档只保留联调第一步最需要的字段，不追求覆盖所有产品。

---

## 2. 联调前检查清单

发请求前，先确认这几项：

- `appId`、签名密钥、白名单 IP 已配置
- `channelCode` 已开通
- `payTypeCode` 与国家、币种、支付方式匹配
- 金额单位统一为分
- `notifyUrl` 可被公网访问
- 回调验签逻辑已准备好

---

## 3. 代收最小请求示例

## 3.1 NovaVexis 巴西 PIX 扫码

适用：

- `channelCode = novavexis`
- `payTypeCode = novavexis_br_acquire_pix_qrcode`

```json
{
  "appId": "your_app_id",
  "merchantOrderNo": "DEMO_NVX_BR_0001",
  "amount": 50000,
  "currency": "BRL",
  "channelCode": "novavexis",
  "payMethodCode": "qr",
  "subject": "PIX QR payment",
  "notifyUrl": "https://merchant.example.com/pay-notify",
  "returnUrl": "https://merchant.example.com/return",
  "country": "BR",
  "payTypeCode": "novavexis_br_acquire_pix_qrcode",
  "clientIp": "203.0.113.10",
  "timestamp": "1773542405",
  "nonce": "5d39470a8f62488b",
  "apiVersion": "v1.0",
  "sign": "YOUR_SIGN"
}
```

## 3.2 NovaVexis 菲律宾 GCash

适用：

- `channelCode = novavexis`
- `payTypeCode = novavexis_ph_acquire_gcash`

```json
{
  "appId": "your_app_id",
  "merchantOrderNo": "DEMO_NVX_PH_0001",
  "amount": 50000,
  "currency": "PHP",
  "channelCode": "novavexis",
  "payMethodCode": "wallet",
  "subject": "GCash payment",
  "notifyUrl": "https://merchant.example.com/pay-notify",
  "returnUrl": "https://merchant.example.com/return",
  "country": "PH",
  "payTypeCode": "novavexis_ph_acquire_gcash",
  "clientIp": "203.0.113.10",
  "timestamp": "1773542405",
  "nonce": "5d39470a8f62488b",
  "apiVersion": "v1.0",
  "sign": "YOUR_SIGN"
}
```

## 3.3 CowPay 孟加拉 bKash

适用：

- `channelCode = cowpay`
- `payTypeCode = cowpay_bd_acquire_bkash`

```json
{
  "appId": "your_app_id",
  "merchantOrderNo": "DEMO_COW_BD_0001",
  "amount": 50000,
  "currency": "BDT",
  "channelCode": "cowpay",
  "payMethodCode": "h5",
  "subject": "bKash payment",
  "notifyUrl": "https://merchant.example.com/pay-notify",
  "returnUrl": "https://merchant.example.com/return",
  "country": "BD",
  "payTypeCode": "cowpay_bd_acquire_bkash",
  "timestamp": "1773542405",
  "nonce": "5d39470a8f62488b",
  "apiVersion": "v1.0",
  "sign": "YOUR_SIGN"
}
```

## 3.4 Ynuopay 菲律宾 GCashWAP

适用：

- `channelCode = ynuopay`
- `payTypeCode = ynuopay_ph_acquire_gcashwap`

```json
{
  "appId": "your_app_id",
  "merchantOrderNo": "DEMO_YNUO_PH_0001",
  "amount": 50000,
  "currency": "PHP",
  "channelCode": "ynuopay",
  "payMethodCode": "h5",
  "subject": "GCashWAP payment",
  "notifyUrl": "https://merchant.example.com/pay-notify",
  "returnUrl": "https://merchant.example.com/return",
  "country": "PH",
  "payTypeCode": "ynuopay_ph_acquire_gcashwap",
  "payerEmail": "demo@example.com",
  "payerPhone": "09171234567",
  "timestamp": "1773542405",
  "nonce": "5d39470a8f62488b",
  "apiVersion": "v1.0",
  "sign": "YOUR_SIGN"
}
```

## 3.5 Ynuopay 美国代收

适用：

- `channelCode = ynuopay`
- `payTypeCode = ynuopay_us_acquire`

```json
{
  "appId": "your_app_id",
  "merchantOrderNo": "DEMO_YNUO_US_0001",
  "amount": 50000,
  "currency": "USD",
  "channelCode": "ynuopay",
  "payMethodCode": "h5",
  "subject": "US payment",
  "notifyUrl": "https://merchant.example.com/pay-notify",
  "returnUrl": "https://merchant.example.com/return",
  "country": "US",
  "payTypeCode": "ynuopay_us_acquire",
  "payerEmail": "demo@example.com",
  "payerPhone": "2025550101",
  "ext": {
    "accountNo": "MEMBER10001",
    "country": "US",
    "province": "CA",
    "city": "Los Angeles",
    "address": "Sunset Blvd 100",
    "zipCode": "90001"
  },
  "timestamp": "1773542405",
  "nonce": "5d39470a8f62488b",
  "apiVersion": "v1.0",
  "sign": "YOUR_SIGN"
}
```

## 3.6 Eqpay 美国 CashApp

适用：
- `channelCode = eqpay`
- `payTypeCode = eqpay_us_acquire_cashapp`

```json
{
  "appId": "your_app_id",
  "merchantOrderNo": "DEMO_EQPAY_US_0001",
  "amount": 50000,
  "currency": "USD",
  "channelCode": "eqpay",
  "payMethodCode": "h5",
  "subject": "CashApp payment",
  "notifyUrl": "https://merchant.example.com/pay-notify",
  "returnUrl": "https://merchant.example.com/return",
  "country": "US",
  "payTypeCode": "eqpay_us_acquire_cashapp",
  "payerEmail": "demo@example.com",
  "payerPhone": "2025550101",
  "timestamp": "1773542405",
  "nonce": "5d39470a8f62488b",
  "apiVersion": "v1.0",
  "sign": "YOUR_SIGN"
}
```

## 3.7 Fzpay 尼日利亚代收

适用：
- `channelCode = fzpay`
- `payTypeCode = fzpay_ng_acquire_15001`

```json
{
  "appId": "your_app_id",
  "merchantOrderNo": "DEMO_FZPAY_NG_0001",
  "amount": 50000,
  "currency": "NGN",
  "channelCode": "fzpay",
  "payMethodCode": "h5",
  "subject": "NG payment",
  "notifyUrl": "https://merchant.example.com/pay-notify",
  "returnUrl": "https://merchant.example.com/return",
  "country": "NG",
  "payTypeCode": "fzpay_ng_acquire_15001",
  "payerEmail": "demo@example.com",
  "payerPhone": "2348012345678",
  "timestamp": "1773542405",
  "nonce": "5d39470a8f62488b",
  "apiVersion": "v1.0",
  "sign": "YOUR_SIGN"
}
```

---

## 4. 代付最小请求示例

## 4.1 NovaVexis 印度银行卡代付

适用：

- `channelCode = novavexis`
- `payTypeCode = novavexis_in_payout_personal_bank`

```json
{
  "appId": "your_app_id",
  "merchantOrderNo": "DEMO_NVX_IN_OUT_0001",
  "applyAmount": 50000,
  "currency": "INR",
  "channelCode": "novavexis",
  "payeeType": "BANK",
  "payeeName": "RAHUL KUMAR",
  "payeeAccount": "123456789012",
  "payeeBankCode": "HDFC",
  "ifsc": "HDFC0001234",
  "countryCode": "IN",
  "payTypeCode": "novavexis_in_payout_personal_bank",
  "notifyUrl": "https://merchant.example.com/payout-notify",
  "timestamp": "1773542405",
  "nonce": "5d39470a8f62488b",
  "apiVersion": "v1.0",
  "sign": "YOUR_SIGN"
}
```

## 4.2 CowPay 孟加拉钱包代付

适用：

- `channelCode = cowpay`
- `payTypeCode = cowpay_bd_payout_common`

```json
{
  "appId": "your_app_id",
  "merchantOrderNo": "DEMO_COW_BD_OUT_0001",
  "applyAmount": 50000,
  "currency": "BDT",
  "channelCode": "cowpay",
  "payeeType": "BKASH",
  "payeeName": "MD RAHIM",
  "payeeAccount": "01700000000",
  "payeeBankCode": "bkash",
  "countryCode": "BD",
  "payTypeCode": "cowpay_bd_payout_common",
  "notifyUrl": "https://merchant.example.com/payout-notify",
  "timestamp": "1773542405",
  "nonce": "5d39470a8f62488b",
  "apiVersion": "v1.0",
  "sign": "YOUR_SIGN"
}
```

## 4.3 CowPay 美国 PayPal 代付

适用：

- `channelCode = cowpay`
- `payTypeCode = cowpay_us_payout_paypal`
- `payeeType = PAYPAL`

```json
{
  "appId": "your_app_id",
  "merchantOrderNo": "DEMO_COW_US_OUT_0001",
  "applyAmount": 50000,
  "currency": "USD",
  "channelCode": "cowpay",
  "payeeType": "PAYPAL",
  "payeeName": "JOHN SMITH",
  "payeeAccount": "john@example.com",
  "payeeMobile": "+12025550123",
  "payeeEmail": "john@example.com",
  "countryCode": "US",
  "payTypeCode": "cowpay_us_payout_paypal",
  "notifyUrl": "https://merchant.example.com/payout-notify",
  "timestamp": "1773542405",
  "nonce": "5d39470a8f62488b",
  "apiVersion": "v1.0",
  "sign": "YOUR_SIGN"
}
```

## 4.4 Ynuopay 印度代付

适用：

- `channelCode = ynuopay`
- `payTypeCode = ynuopay_in_payout`

```json
{
  "appId": "your_app_id",
  "merchantOrderNo": "DEMO_YNUO_IN_OUT_0001",
  "applyAmount": 50000,
  "currency": "INR",
  "channelCode": "ynuopay",
  "payeeType": "BANK",
  "payeeName": "RAHUL KUMAR",
  "payeeAccount": "9876543210",
  "ifsc": "HDFC0001234",
  "payeeMobile": "9876543210",
  "countryCode": "IN",
  "payTypeCode": "ynuopay_in_payout",
  "notifyUrl": "https://merchant.example.com/payout-notify",
  "timestamp": "1773542405",
  "nonce": "5d39470a8f62488b",
  "apiVersion": "v1.0",
  "sign": "YOUR_SIGN"
}
```

## 4.5 Ynuopay 菲律宾 Gcash 代付

适用：

- `channelCode = ynuopay`
- `payTypeCode = ynuopay_ph_payout_gcash`

```json
{
  "appId": "your_app_id",
  "merchantOrderNo": "DEMO_YNUO_PH_OUT_0001",
  "applyAmount": 50000,
  "currency": "PHP",
  "channelCode": "ynuopay",
  "payeeType": "GCASH",
  "payeeName": "JUAN DELA CRUZ",
  "payeeAccount": "09171234567",
  "payeeMobile": "09171234567",
  "countryCode": "PH",
  "payTypeCode": "ynuopay_ph_payout_gcash",
  "notifyUrl": "https://merchant.example.com/payout-notify",
  "timestamp": "1773542405",
  "nonce": "5d39470a8f62488b",
  "apiVersion": "v1.0",
  "sign": "YOUR_SIGN"
}
```

## 4.6 Ynuopay 孟加拉代付

适用：

- `channelCode = ynuopay`
- `payTypeCode = ynuopay_bd_payout`

```json
{
  "appId": "your_app_id",
  "merchantOrderNo": "DEMO_YNUO_BD_OUT_0001",
  "applyAmount": 50000,
  "currency": "BDT",
  "channelCode": "ynuopay",
  "payeeType": "BKASH",
  "payeeName": "MD RAHIM",
  "payeeAccount": "01700000000",
  "payeeBankCode": "BKASH",
  "countryCode": "BD",
  "payTypeCode": "ynuopay_bd_payout",
  "notifyUrl": "https://merchant.example.com/payout-notify",
  "timestamp": "1773542405",
  "nonce": "5d39470a8f62488b",
  "apiVersion": "v1.0",
  "sign": "YOUR_SIGN"
}
```

## 4.7 Eqpay 美国 ACH 代付

适用：
- `channelCode = eqpay`
- `payTypeCode = eqpay_us_payout_ach`

```json
{
  "appId": "your_app_id",
  "merchantOrderNo": "DEMO_EQPAY_US_OUT_0001",
  "applyAmount": 50000,
  "currency": "USD",
  "channelCode": "eqpay",
  "payeeType": "BANK",
  "payeeName": "JOHN SMITH",
  "payeeAccount": "000123456789",
  "payeeBankCode": "021000021",
  "countryCode": "US",
  "payTypeCode": "eqpay_us_payout_ach",
  "notifyUrl": "https://merchant.example.com/payout-notify",
  "timestamp": "1773542405",
  "nonce": "5d39470a8f62488b",
  "apiVersion": "v1.0",
  "sign": "YOUR_SIGN"
}
```

## 4.8 Fzpay 尼日利亚代付

适用：
- `channelCode = fzpay`
- `payTypeCode = fzpay_ng_payout_15001`

```json
{
  "appId": "your_app_id",
  "merchantOrderNo": "DEMO_FZPAY_NG_OUT_0001",
  "applyAmount": 50000,
  "currency": "NGN",
  "channelCode": "fzpay",
  "payeeType": "BANK",
  "payeeName": "DEMO USER",
  "payeeAccount": "0123456789",
  "payeeBankCode": "BANK",
  "payeeBankName": "Access Bank",
  "payeeMobile": "2348012345678",
  "countryCode": "NG",
  "payTypeCode": "fzpay_ng_payout_15001",
  "notifyUrl": "https://merchant.example.com/payout-notify",
  "ext": {
    "email": "user@example.com",
    "returnurl": "https://merchant.example.com/payout-return"
  },
  "timestamp": "1773542405",
  "nonce": "5d39470a8f62488b",
  "apiVersion": "v1.0",
  "sign": "YOUR_SIGN"
}
```

---

## 5. 查询接口最小请求

## 5.1 代收查询

```json
{
  "appId": "your_app_id",
  "merchantOrderNo": "DEMO_NVX_BR_0001",
  "timestamp": "1773542405",
  "nonce": "5d39470a8f62488b",
  "apiVersion": "v1.0",
  "sign": "YOUR_SIGN"
}
```

接口：

- `POST /api/PayRequest/QueryPayOrder`

## 5.2 代付查询

```json
{
  "appId": "your_app_id",
  "merchantOrderNo": "DEMO_NVX_IN_OUT_0001",
  "timestamp": "1773542405",
  "nonce": "5d39470a8f62488b",
  "apiVersion": "v1.0",
  "sign": "YOUR_SIGN"
}
```

接口：

- `POST /api/PayRequest/QueryPayoutOrder`

## 5.3 商户余额查询

```json
{
  "appId": "your_app_id",
  "timestamp": "1773542405",
  "nonce": "5d39470a8f62488b",
  "apiVersion": "v1.0",
  "sign": "YOUR_SIGN"
}
```

接口：

- `POST /api/PayRequest/QueryMerchantBalance`

---

## 6. 使用建议

- 跑第一个单时，不要同时改很多字段
- 先固定一个 `payTypeCode` 跑通签名和回调
- 跑通后，再切换国家或产品
- 如果某个国家还要求更细字段，回到对应渠道附录查看完整说明
