> For the complete documentation index, see [llms.txt](https://docs.coda.co/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.coda.co/https-coda-payments.gitbook.io-zhong-wen-coda-private-technical-documentation/codapay/hou-duan-api-ji-cheng/hou-duan-fei-ka-pian-api-ji-cheng/hou-tai-api-diao-yong-liu-cheng-gai-lan/ka-zhi-fu.md).

# 卡支付

## 卡支付调用流程

客户可以使用借记卡或信用卡支付订单。授权方式根据支付渠道不同而有所不同，例如直接在 Coda 支付页面输入卡信息并进行 3DS 身份验证，或被重定向到渠道提供商的页面。

<figure><img src="/files/Tu1iCiXuyO6EBNMGNIXH" alt=""><figcaption></figcaption></figure>

## 请求参数

<table><thead><tr><th width="148">参数</th><th width="95">类型</th><th width="116">长度</th><th>描述</th></tr></thead><tbody><tr><td>api_key</td><td>String</td><td>256</td><td><strong>必填</strong><br>Coda提供的API密钥 - 请参考 <a data-mention href="/pages/Knn2G4Gd1ZPSUbSS0PUS">/pages/Knn2G4Gd1ZPSUbSS0PUS</a> 了解如何获取。</td></tr><tr><td>project_id</td><td>String</td><td>10</td><td><strong>此字段仅适用于 v2.0 API，必填项</strong><br>由 Coda 提供的 Project ID，对每个标题产品都是唯一的。<br>请参阅 <a data-mention href="/pages/Knn2G4Gd1ZPSUbSS0PUS">/pages/Knn2G4Gd1ZPSUbSS0PUS</a> 了解</td></tr><tr><td>order_id</td><td>String</td><td>64</td><td><p><strong>必填</strong></p><p>您在支付请求发起时传递的订单ID</p></td></tr><tr><td>country</td><td>Number</td><td>N/A</td><td><strong>必填</strong><br>ISO 3166 的国家代码 <a data-mention href="/pages/7B3qZnefeSwkSs84sKuB">/pages/7B3qZnefeSwkSs84sKuB</a></td></tr><tr><td>lang</td><td>String</td><td>2</td><td><p><strong>必填</strong></p><p><a data-mention href="/pages/lumiE4ZV7er3NqdusLTc">/pages/lumiE4ZV7er3NqdusLTc</a></p></td></tr><tr><td>type</td><td>Number</td><td>1</td><td><p>1：数字内容物品</p><p>2：非数字内容物品</p></td></tr><tr><td>pay_type</td><td>Number</td><td>1</td><td><p><strong>必填</strong></p><p>卡支付使用 <code>pay_type = 6</code>。<br><br>更多详情请参阅 <a data-mention href="/pages/9qMfw9ltzzDp2UjOhCld">/pages/9qMfw9ltzzDp2UjOhCld</a></p></td></tr><tr><td>pay_channel</td><td>Number</td><td>3</td><td>每个支付渠道的代码。</td></tr><tr><td>merchant_name</td><td>String</td><td>128</td><td><p><strong>可选</strong><br>如果您希望指定商家名称，请在此字段中输入名称。</p><p><br>默认值为空。</p></td></tr><tr><td>items</td><td>ItemInfo</td><td>N/A</td><td><p><strong>必填</strong></p><p>用户购买的商品列表</p></td></tr><tr><td>items[].code</td><td>String</td><td>128</td><td><p><strong>必填</strong></p><p>商家的商品代码</p></td></tr><tr><td>items[].name</td><td>String</td><td>128</td><td><p><strong>必填</strong></p><p>商品名称，仅支持拉丁字符</p></td></tr><tr><td>items[].price</td><td>Number</td><td>N/A</td><td><strong>必填</strong><br>已含税的商品价格（已含税），以请求中指定的货币计价</td></tr><tr><td>items[].type</td><td>Number</td><td>N/A</td><td><strong>必填</strong><br>默认值=1</td></tr><tr><td>profile</td><td>Map</td><td>N/A</td><td><strong>必填</strong><br><a data-mention href="#profile-zi-duan">#profile-zi-duan</a></td></tr></tbody></table>

## Profile 字段

<table><thead><tr><th width="146">参数</th><th width="106">类型</th><th width="110">长度</th><th>描述</th></tr></thead><tbody><tr><td>user_id</td><td>String</td><td>128</td><td><p><strong>必填</strong></p><p>客户的用户 ID</p></td></tr><tr><td>client_ip</td><td>String</td><td>15</td><td><strong>可选</strong><br>客户的 IP 地址 (仅支持IPv4)</td></tr><tr><td>name</td><td>String</td><td>128</td><td><strong>可选</strong><br>客户姓名</td></tr><tr><td>user_agent</td><td>String</td><td>512</td><td><p><strong>可选</strong></p><p>客户的用户代理数据（浏览器和操作系统的详细信息）</p></td></tr></tbody></table>

### 请求示例

{% tabs %}
{% tab title="v2.0 请求" %}

```json
{
  "project_id": "1", //此字段仅适用于 2.0 API
  "country": "360",
  "api_key": "test_e944d44f065eade8157737385a09",
  "order_id": "<Your OrderID>",
  "lang": "en",
  "merchant_name": "Koko eBooks",
  "type": "1",
  "pay_type": "6",
  "email": "test@coda.co",
  "msisdn": "<Your number>",
  "items": [
    {
      "code": "1",
      "name": "Test Item",
      "price": 1000.0
    }
  ],
  "profile": {
    "user_id": "12345",
    "name": "Test"
  }
}
```

{% endtab %}

{% tab title="v1.0 请求" %}

```json
{
  "api_key": "<Your APIKey>",
  "order_id": "<Your Order ID>",
  "lang": "en",
  "merchant_name": "Koko eBooks",
  "type": "1",
  "pay_type": "6",
  "pay_channel": "-14",
  "email": "test@coda.co",
  "items": [
    {
      "code": "9",
      "name": "Killing",
      "price": 150
    }
  ],
  "profile": {
    "user_id": "Testuser397"
  }
}
```

{% endtab %}
{% endtabs %}

## 响应参数

<table><thead><tr><th width="153.33333333333331">参数</th><th width="141">类型</th><th width="94">长度</th><th>描述</th></tr></thead><tbody><tr><td>result_code</td><td>Number</td><td>N/A</td><td><p>ResultCode将帮助指示交易的状态。<br></p><p><code>ResultCode = 0</code> 表示交易成功。<br><br>错误代码列表请参阅 <a data-mention href="/pages/Ijfanb3Eb2mtXRsbF81n">/pages/Ijfanb3Eb2mtXRsbF81n</a></p></td></tr><tr><td>result_desc</td><td>String</td><td>512</td><td>如果resultCode返回错误，则该值描述错误信息。</td></tr><tr><td>txn_id</td><td>Number</td><td>N/A</td><td>支付请求发起返回的Coda订单ID。</td></tr><tr><td>txn_timeout</td><td>Number</td><td>N/A</td><td>交易超时时间（分钟）</td></tr><tr><td>total_price</td><td>Number</td><td>N/A</td><td>用户支付的总金额，以本地货币计价。</td></tr><tr><td>pay_instructions</td><td>String</td><td>15</td><td>如果响应返回了此值，商家应在页面上向客户显示提供的支付指引。</td></tr><tr><td>profile</td><td>Object</td><td>N/A</td><td>请参考 <a data-mention href="#profile-zi-duan-1">#profile-zi-duan-1</a></td></tr></tbody></table>

## Profile 字段

<table data-full-width="false"><thead><tr><th width="169">参数</th><th width="165">类型</th><th width="107.33333333333331">长度</th><th>描述</th></tr></thead><tbody><tr><td>redirect_url</td><td>String</td><td>128</td><td>仅当所选支付渠道遵循重定向 URL 流程时，才返回支付网关的重定向 URL。</td></tr><tr><td>merchantType</td><td>String</td><td>128</td><td>请忽略此字段。</td></tr><tr><td>user_id</td><td>String</td><td>128</td><td>客户的用户 ID</td></tr><tr><td>payment_code</td><td>Number</td><td>N/A</td><td>由支付渠道生成的代码。</td></tr></tbody></table>

### 响应示例

{% tabs %}
{% tab title="示例" %}

```json
{
    "txn_id": <Coda Transaction ID>,
    "txn_timeout": 26,
    "result_code": 0,
    "total_price": 150.0,
    "pay_instructions": "",
    "profile": {
        "user_id": "Testuser397",
        "merchantType": "Codapay",
        "redirect_url": "sample_URL.com",
        "payment_code": ""
    }
}

```

{% endtab %}
{% endtabs %}

{% hint style="warning" %}
&#x20;<mark style="color:orange;">**USD 订单交易参考**</mark>

请查看[此指南](https://coda-payments.gitbook.io/zhong-wen-coda-private-technical-documentation/codapay/hou-duan-api-ji-cheng/usd-mei-jin)，了解更多关于 USD 交易的信息。
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.coda.co/https-coda-payments.gitbook.io-zhong-wen-coda-private-technical-documentation/codapay/hou-duan-api-ji-cheng/hou-duan-fei-ka-pian-api-ji-cheng/hou-tai-api-diao-yong-liu-cheng-gai-lan/ka-zhi-fu.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
