# Crypto


# 支付方式

| 支付方式 | 接入方式 | 支持币种          | 最小限额          | 最大限额             |
| -------- | -------- | ----------------- | ----------------- | -------------------- |
| USDT     | API      | USD / USDT / USDC | 0.01 USD 或等值 U | 5000.00 U 或等值 U   |
| USDC     | API      | USD / USDT / USDC | 0.01 USD 或等值 U | 5000.00 USD 或等值 U |

## 支付方式用例

1. **[创建 Checkout]**

POST：/v1/checkout/sessions

***request***

```JSON
{
    "mode": "payment",
    "success_url": "https://yourwebsite.com/",
    "merchant_order_id":"orderXXXXX",
    "line_items": [
        {
            "price_data": {
                "currency": "USDC",
                "unit_amount": 10000,
                "product_data": {
                    "name": "Test",
                    "description": "very delicious"
                }
            },
            "quantity": 1
        }
    ]
}
```

- `amount`单位是所选货币的最小货币单位；USDT与 USDC的最小单位为 6 六位小数，如 {amount: 1000000, currency: "USDC"} 表示1 USDC
- `merchant_order_id`为您系统的订单号，该参数选填

***response***

```JSON
{
    "id": "cs_1938553233404329984",
    "object": "checkout.session",
    "created": 1751022082000,
    "livemode": true,
    "currency": "USDC",
    "customer": "",
    "mode": "payment",
    "status": "open",
    "url": "https://XXXXXXXXXXXXXXXXXXXXXXXX",
    "allowPromotionCodes": false,
    "line_items": {
        "object": "list",
        "data": [
            {
                "id": "li_1938553233421107200",
                "object": "item",
                "currency": "USDC",
                "description": "Test",
                "price": {
                    "id": "price_1938553233433690112",
                    "object": "price",
                    "created": 1751022082000,
                    "livemode": true,
                    "active": true,
                    "currency": "USDC",
                    "product": {
                        "id": "prod_1938553233454661632",
                        "object": "product",
                        "created": 1751022082000,
                        "livemode": true,
                        "active": true,
                        "description": "very delicious",
                        "name": "Test",
                        "updated": 1751022082000
                    },
                    "type": "one_time",
                    "unit_amount": 10000,
                    "billing_scheme": "per_unit"
                },
                "quantity": 1,
                "amount_subtotal": 10000,
                "amount_total": 10000
            }
        ]
    },
    "payment_intent": "pi_1938553233735680000",
    "payment_method_types": [
        "USDC"
    ],
    "payment_status": "unpaid",
    "success_url": "https://yourwebsite.com/",
    "amount_subtotal": 10000,
    "amount_total": 10000,
    "amount_original_subtotal": 10000,
    "amount_original_total": 10000,
    "billing_address_collection": "auto",
    "expires_at": 1751108482081,
    "payment_link": "",
    "client_secret": "pi_1938553233735680000_secret_iJZuG7GWco2MapNP5ejtsssf",
    "customer_creation": "if_required",
    "total_details": {
        "amount_discount": 0
    },
}
```

- `payment_intent`为支付单号，后续是否成功，以 paymentIntent 单的状态为准
- `url`为收银台的地址，得到后需要打开或重定向到收银台链接，用户在其中完成支付流程。

# **查询一笔PaymentIntent**

**GET：/v1/payment_intents/{id}** 

# Webhook 

**创建 Webhook**

**POST：/v1/webhook_endpoints**

```JSON
{
    "url": "https://...", //用于接收Webhook的url
    "description": "I am description",
    "enabled_events": [
        "payment_intent.created",
        "payment_intent.payment_failed",
        "payment_intent.requires_action",
        "payment_intent.succeeded",
        "payment_intent.canceled",
        "charge.refund.updated"
    ]
}
```

- webhook只要注册成功了，那么当webhook所指定的事件发生时，都会对已创建webhook的url发送一次https请求来通知事件的发生

## 测试Webhoook

创建一笔 Payment Intent，即可触发`payment_intent.created`事件，会向用于接收Webhook的 url 推送创建支付单事件的回调
