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

# 国际信用卡

> 了解haipay 国际信用卡支付集成方案，包括前置组件、代收 API 和退款接口。

<Warning>
  阅读该接口文档前，务必先查看 [**接口说明**](/docs/zh/guide/api_description_guide)
</Warning>

<Tip>
  通过[**支付链接**](/docs/zh/V20260628/api/version2/payment-link)或[**前置组件**](/docs/zh/V20260628/api/version2/frontend-payment-element)快速集成信用卡支付。
</Tip>

<Tip title="信用卡争议处理重要说明">
  * **针对信用卡交易,消费者有权在交易发生后180天内发起争议申请。当争议被提起时,每笔交易将产生20美元的争议处理费。**
  * **在收到争议通知后,您有两种应对方式可供选择**
    * **其一:您可以选择接受争议,即向发卡银行提交回复,确认您不对退款金额提出异议。**
    * **其二:您可以选择对争议进行抗辩,通过完成一个引导式的提交流程,根据提示提供相关证据和支持性文件来阐述您的立场。**
  * **若您选择对争议进行抗辩,将额外收取20美元的抗辩费。如果发卡银行不接受您提交的抗辩材料并判定消费者胜诉,抗辩费将被扣除,同时消费者的付款将被退还。**
  * **关于费用退还政策,如果您成功赢得争议,Haipay将退还抗辩费。然而,除非您的Haipay合同中另有明确规定,否则最初收取的争议处理费在任何情况下均不予退还。**
</Tip>

<Danger title="PCI DSS（支付卡行业数据安全标准）严格禁止在 WebView 或 iframe 中嵌入信用卡输入页面，主要原因如下：">
  1. PCI 合规性：直接违反 PCI DSS 要求
  2. 安全风险：WebView 和 iframe 可能无法提供足够的安全隔离
  3. 中间人攻击：恶意应用可能拦截或篡改支付数据
  4. 钓鱼风险：无法确保用户是在可信的环境中输入敏感信息
</Danger>

## 地区限制

请查看 [不支持的地区列表](/docs/zh/V20260628/api/version2/restricted-regions) 确认您的目标市场是否可用。

## **限额**

| 交易类型 | 限额(单位:USD) |
| :--- | ---------- |
| 代收   | 0.99-1000  |

## **代收API**

### **1.代收申请**

**简要描述：**

* 创建代收订单

**URL：**

美元: `/usd/collect/apply`
说明：appId需使用美元对应的，用户支付成功后增加美元余额

**参数：**

| 参数名             | 必选 | 类型     | 说明                                                                              |
| :-------------- | :- | :----- | :------------------------------------------------------------------------------ |
| appId           | 是  | Long   | 业务ID（后台获取，需要根据URL中的币种传递对应的业务ID）                                                 |
| orderId         | 是  | String | 商户订单号(必须保证唯一性，长度不超过48)                                                          |
| name            | 否  | String | 用户姓名，推荐使用真实姓名，格式：包含firstName和lastName，以空格分割的，示例：John Doe                        |
| phone           | 是  | String | 真实手机号（格式参考 [电话号码格式](/docs/zh/guide/frequently_asked_question#phone_format) ）    |
| email           | 否  | String | 真实电子邮件                                                                          |
| amount          | 是  | String | 交易金额（精确到小数点后两位；禁止添加标点符号，例如：”,”）                                                 |
| payType         | 是  | String | [支付方式类型](/docs/zh/V20260628/api/version2/creditcard-mit#inBankCode)             |
| inBankCode      | 是  | String | [支付方式编码](/docs/zh/V20260628/api/version2/creditcard-mit#inBankCode)             |
| clientIp        | 否  | String | 用户端ip                                                                           |
| callBackUrl     | 是  | String | 用户支付成功后跳转地址                                                                     |
| callBackFailUrl | 是  | String | 用户支付失败后跳转地址                                                                     |
| notifyUrl       | 否  | String | 回调地址                                                                            |
| subject         | 是  | String | 支付备注                                                                            |
| body            | 否  | String | 备注详情                                                                            |
| partnerUserId   | 是  | String | 用户唯一标识（如用户ID userId），用于风控系统，必须真实有效，否则会影响交易。 格式要求：数字、大小写字母或常用符号-\~!@#\$%&\*()\_。 |
| sign            | 是  | String | 签名                                                                              |

**请求示例**

```json theme={null}
{
  "appId": 1054,
  "orderId": "M233323000059",
  "amount": "300",
  "phone": "09230219312",
  "email": "23423@qq.com",
  "name": "test",
  "inBankCode": "USA",
  "payType": "BANK_TRANSFER",
  "partnerUserId": "149597870",
  "sign": "af0gAHkUOyYHu9owQp8NJ4mPEeUW4vuJcjdxqLIzrVw8AvpLSjD1DXupReSG/CyuSkFRyiIvCp5u703AuGGmfgD2gKDH3Ywau41bAbG2jnHJ8mtjiSJ5iWUzanyd4Kr7d1+rETbzUl7/BkW3t0X8UUFdqpxwG8DPUjAwUKfplWDHV7koG51Ozexd80DCsmW6eWdouAZ1uNXGLYmV3ftE3BmfNRtuv1C5bfTJWrTEIOxbF6g2uYOFZTlIgrQgd7/2PsAYwQQXNz8Q8CYl4OxqCv4pXJxaLWPbR5tqZu9og5kn32C9aHW/NlU1y39vzz+4ef81yPAqUV9oHlSMSPrMmw=="
}
```

**响应示例**

```json theme={null}
{
  "status": "1",
  "error": "00000000",
  "msg": "",
  "data": {
    "orderId": "M233323000059",
    "orderNo": "6023071013539074",
    "payUrl": "",
    "clientToken": "",
    "sign": "YEoA8Y2JzQFGVzwJSqmemm1Kfv/bfyIfCqv2dp7RNzT5B72AQvdD+nt2nR4sL1HWscvmNHyVt5ovAi7MMhy3ziih/sMph+wPx4YjH3W1h5DyBvSlWvaKfKrK5ViomZ0pPYWydwRHnnRnicxToHK9S6qtSy7Q73O0hdz4hJ9p41Th3ycBl2Q9SeqSZYSY1ohcPDhdyRf2y0prb8rHgpBKzxZ5BKX/1bsE9OmsSEHAEYT8OGgko6aNe8XPAhr4G48cpWTftvnGQuzh0O65nuZRI/PF+Axt2zJCVbFHDDSREI9NlAT82ebDqhlVdxQzKE67D1nxgjb3dPmDUYHOBpmwxQ=="
  }
}
```

返回data参数说明

| 参数名         | 类型     | 说明                                                                                 |
| :---------- | :----- | :--------------------------------------------------------------------------------- |
| orderId     | String | 商户订单号(必须保证唯一性)                                                                     |
| orderNo     | String | 平台订单号                                                                              |
| payUrl      | String | 支付链接                                                                               |
| bankCode    | String | 支付方式编码                                                                             |
| clientToken | String | 在前置组件中使用的客户端令牌 (见[前置组件](/docs/zh/V20260628/api/version2/frontend-payment-element)) |
| sign        | String | 签名                                                                                 |

### **2.代收查询**

**简要描述：**

* 查询代收订单

**URL：**

美元: `/usd/collect/query`

**参数：**

| 参数名     | 必选 | 类型     | 说明                              |
| :------ | :- | :----- | :------------------------------ |
| appId   | 是  | Long   | 业务ID（后台获取，需要根据URL中的币种传递对应的业务ID） |
| orderId | 是  | String | 商户订单号                           |
| orderNo | 否  | String | 平台订单号（响应快）                      |
| sign    | 是  | String | 签名                              |

**请求示例**

```json theme={null}
{
  "appId": 1054,
  "orderId": "M22222000028",
  "sign": "EmyJGm3ELzG4FsOd0Krs9ncbSjo4oTGuXWML+7djYla3+VAwd9wS17z38p/7U2ZAjroO04XrE7YXcB1o76Dtyipj3h3bJzs7FYma1QNkMUdt9hh7m8U6hMsMQX7vIWHtXNwz4pbTSC75+kQWXaCew7KoE6LXECdJU8AISgNgeki2TK9R0pCfshr0Z2SZBPeuT6OvIH5LdmqgdZhuqnffGU2qnXk4KMkO848e6/WALLBR+LE1wyKHfPnYVcuKSMVYxkvKyyIL5JIPEgW0o5bh4RCbaUn3NZtyYwrU1uQ3ZDFRThm9j6XAQP+LBlmq3nOePqBtp/VDVarRaV+7FbQg3A=="
}
```

**响应示例**

```json theme={null}
{
  "status": "1",
  "error": "00000000",
  "msg": "",
  "data": {
    "orderId": "M22222000028",
    "orderNo": "6023042811314347",
    "amount": "50.00",
    "actualAmount": "0.00",
    "fee": "0.00",
    "status": 1,
    "sign": "fP433ygWVDLVGxYkVnIJj7riGq0U3vyVX+MbBAImxfGLZkZcEAHVEoVYuULZSmXAAXKRSyd67WlDNm+24pougM54ofAoH4HMtCL2tfCoBReFyz3z02AGKkrKE2xWhSpWoqfQoBvzwuN5iGMMu0s9Q1YvqiwJ8WDVIENnmiIyD8qDJN7caHTW2US14/faG+69AvnuIgJ/nu7/jogOlgEYdZdVYU7gcRDE+d47KjlFGswQkJ/h/uzV7cWtUqrtOO7ZnZ3/z33Xx8awokX36QoYcPSWAU0h+Ij9O9402HNhm1eTbYcLU0uI/z8xCAtyAI/tTyiFijpiNlxUKQj+zKsILw=="
  }
}
```

返回data参数说明

| 参数名          | 类型      | 说明                                                  |
| :----------- | :------ | :-------------------------------------------------- |
| orderId      | String  | 商户订单号(必须保证唯一性)                                      |
| orderNo      | String  | 平台订单号                                               |
| amount       | String  | 交易金额                                                |
| actualAmount | String  | 收到金额                                                |
| fee          | String  | 手续费                                                 |
| status       | Integer | 状态(0未开始，1支付中，2成功（终态），3失败（终态）, -1异常待确认)              |
| payTime      | String  | 支付成功时间（当status=2时有值）(本地时间), 格式: yyyy-MM-dd HH:mm:ss |
| errorMsg     | String  | 支付失败原因（当status=3时有值）                                |
| sign         | String  | 签名                                                  |

### **3.退款申请**

**简要描述：**

* 发起原信用卡交易订单的退款操作，同步返回的退款状态请注意状态值，建议以查询接口为主。

**URL：**

美元: `/usd/refund/apply`

**参数：**

| 参数名          | 必选 | 类型     | 说明                               |
| :----------- | :- | :----- | :------------------------------- |
| appId        | 是  | Long   | 业务ID（后台获取，需要根据URL中的币种传递对应的业务ID）  |
| orderId      | 是  | String | 商户申请退款订单号（商户新的订单号，不能使用原代收的商户订单号） |
| orderNo      | 是  | String | 平台订单号（原代收返回的平台单号）                |
| refundAmount | 否  | String | 可选，不传则全额退款                       |
| sign         | 是  | String | 签名                               |

返回data参数说明

| 参数名      | 类型     | 说明                                                      |
| :------- | :----- | :------------------------------------------------------ |
| appId    | String | 业务ID                                                    |
| orderNo  | String | 平台订单号 （原代收返回的平台单号）                                      |
| orderId  | String | 商户退款申请订单号                                               |
| refundNo | String | 本次退款平台单号                                                |
| status   | String | 退款状态，1表示退款申请成功，0表示处理中，2表示失败，正常下发起就是返回处理中，后续需要调用查询接口查询状态 |
| errorMsg | String | 错误信息，不一定有值                                              |
| sign     | String | 签名                                                      |

### **4.退款查询**

**简要描述：**

* 发起退款的订单的结果查询。

**URL：**

美元: `/usd/refund/refundQuery`

**参数：**

| 参数名      | 必选 | 类型     | 说明                              |
| :------- | :- | :----- | :------------------------------ |
| appId    | 是  | Long   | 业务ID（后台获取，需要根据URL中的币种传递对应的业务ID） |
| orderId  | 否  | String | 商户退款申请订单号                       |
| refundNo | 否  | String | 平台退款单号（申请退款返回的平台单号，如果有值优先查询此字段） |
| sign     | 是  | String | 签名                              |

返回data参数说明

| 参数名          | 类型     | 说明                                     |
| :----------- | :----- | :------------------------------------- |
| appId        | String | 商户订单号(必须保证唯一性)                         |
| orderNo      | String | 平台订单号(原代收返回的平台单号）                      |
| orderId      | String | 商户申请订单号                                |
| refundNo     | String | 平台退款单号                                 |
| status       | String | 退款状态，1表示退款申请成功，0表示处理中，2表示失败，退款结果以此状态为准 |
| errorMsg     | String | 错误信息，不一定有值                             |
| refundAmount | String | 退款金额                                   |
| sign         | String | 签名                                     |

### **5.支付方式** <a id="inBankCode" />

| 币种  | 支付类型(payType)  | 支付编码(inBankCode) | 限额        | 状态 | 说明         |
| :-- | :------------- | :--------------- | :-------- | :- | :--------- |
| USD | BANK\_TRANSFER | CREDIT\_CARD     | 0.99-1000 | 可用 | VISA       |
| USD | BANK\_TRANSFER | CREDIT\_CARD     | 0.99-1000 | 可用 | MasterCard |
| USD | BANK\_TRANSFER | CREDIT\_CARD     | 0.99-1000 | 可用 | JCB        |
| USD | EWALLET        | GOOGLE\_PAY      | 0.99-1000 | 可用 | Google Pay |
| USD | EWALLET        | APPLE\_PAY       | 0.99-1000 | 可用 | Apple Pay  |

### 6.测试卡号

测试卡号请参考 [测试卡号](/docs/zh/V20260628/api/version2/test-cards)，包括模拟成功支付、拒付和争议场景。

## 相关主题

* [前置组件](/docs/zh/V20260628/api/version2/frontend-payment-element)
* [支付链接](/docs/zh/V20260628/api/version2/payment-link)
* [商户发起交易 (MIT)](/docs/zh/V20260628/api/version2/creditcard-mit)
