CChainPay
Đăng nhập

Quickstart: khoản nạp crypto đầu tiên trong 5 phút

Bạn cần một địa chỉ ví do bạn kiểm soát và một URL công khai có thể nhận webhook. Không cần đăng ký, không cần API key.

1. Tạo địa chỉ nạp tiền

curl -X POST https://api.chainpay.site/deposit-address \
  -H 'content-type: application/json' \
  -d '{
    "ticker": "trc20/usdt",
    "callbackUrl": "https://your-service.example.com/webhook?token=your-secret",
    "forwardAddress": "TYourOwnTronWallet...",
    "externalReference": "order-123"
  }'

Phản hồi chứa id và address. Hãy hiển thị address cho người thanh toán. Gửi lại cùng yêu cầu sẽ trả về cùng địa chỉ nên có thể thử lại an toàn.

2. Nhận webhook

Khi khoản nạp đạt ngưỡng xác nhận (19 trên TRON), ChainPay gửi POST với status: "confirmed" tới callbackUrl của bạn. Sau đó tiền được chuyển tới forwardAddress của bạn, đã trừ phí. Hãy tự kiểm tra giá trị token trong query: webhook không được ký.

3. Đối soát bằng API trạng thái

curl https://api.chainpay.site/deposit-address/ADDRESS_ID/status
curl https://api.chainpay.site/deposit-address/ADDRESS_ID/transactions

Coi webhook là «ít nhất một lần» và dùng các endpoint này làm nguồn đối chiếu chính xác.

Ví dụ bằng ngôn ngữ của bạn

Node.js

const res = await fetch('https://api.chainpay.site/deposit-address', {
  method: 'POST',
  headers: { 'content-type': 'application/json' },
  body: JSON.stringify({
    ticker: 'trc20/usdt',
    callbackUrl: 'https://your-service.example.com/webhook?token=your-secret',
    forwardAddress: 'TYourOwnTronWallet...',
    externalReference: 'order-123',
  }),
});
const { id, address } = await res.json();

Python

import requests

r = requests.post("https://api.chainpay.site/deposit-address", json={
    "ticker": "trc20/usdt",
    "callbackUrl": "https://your-service.example.com/webhook?token=your-secret",
    "forwardAddress": "TYourOwnTronWallet...",
    "externalReference": "order-123",
})
address = r.json()["address"]

PHP

$ch = curl_init('https://api.chainpay.site/deposit-address');
curl_setopt_array($ch, [
  CURLOPT_POST => true,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_HTTPHEADER => ['Content-Type: application/json'],
  CURLOPT_POSTFIELDS => json_encode([
    'ticker' => 'trc20/usdt',
    'callbackUrl' => 'https://your-service.example.com/webhook?token=your-secret',
    'forwardAddress' => 'TYourOwnTronWallet...',
    'externalReference' => 'order-123',
  ]),
]);
$address = json_decode(curl_exec($ch), true)['address'];

Bước tiếp theo