Tài liệu nhà phát triển

Tích hợp thanh toán stablecoin trên Ethereum

Kiểm tra định danh token, tham số và xác nhận trên Ethereum. Thanh toán toàn bộ số tiền API trả về.

Định danh token được hỗ trợ trên mạng chính

Hợp đồng và Mint là giá trị cấu hình sẵn, không phải trạng thái kênh trực tiếp. Tạo đơn cần mạng và tài sản đã bật cùng ví người bán hợp lệ. Luôn chuyển đến payment.address từ API, không chuyển đến hợp đồng hoặc Mint.

Định danh token được hỗ trợ trên mạng chính
MạngLoại tiềnHợp đồng / MintSố chữ số thập phân của token
ERC20 network logoERC20USDT6
ERC20 network logoERC20USDC6

Thiết lập của người bán

  1. Cấu hình ví nhận của mạng và Webhook đã bật với URL và khóa. Chỉ lưu API Key và khóa HMAC trên máy chủ.
  2. Kiểm tra tổ hợp network / currency có khả dụng. Quản trị viên quản lý RPC, mạng và tài sản; người bán không cần triển khai bộ quét.
  3. Hiển thị payment.amount, payment.address, currency, network và hạn từ phản hồi. Dữ liệu QR không phải hình ảnh.
  4. Xác minh chữ ký, loại trùng và lưu bền vững sự kiện trước khi trả HTTP 2xx. Xử lý giao hàng bảo đảm tính lũy đẳng.

Lưu ý về mạng và tài sản

  • ERC20 ở đây là Ethereum mainnet, không phải mọi mạng dùng chuẩn này. Cùng địa chỉ 0x có thể tồn tại trên nhiều mạng EVM; dùng mạng và phiên bản token của đơn. USDC gốc của Circle không thể thay bằng bản cầu nối.

Ví dụ yêu cầu có chữ ký và phản hồi

25.00 là số tiền minh họa. Dùng số tiền thực của đơn và đáp ứng mức tối thiểu của tài sản. Địa chỉ, đơn và mã băm là ví dụ. cURL / Java đã sao chép sẽ gửi yêu cầu: cấu hình khóa của bạn trước khi chạy.

create / cURL
# Run against your account only when ready; this sends an API request.
: "${BOLTUTIL_API_KEY:?Set your complete API Key}"
: "${BOLTUTIL_WEBHOOK_SECRET:?Set your Webhook secret}"
timestamp=$(python3 -c 'import time; print(int(time.time()*1000))')
body='{"amount":"25.00","currency":"USDT","network":"ERC20","externalOrderId":"INV-20260209-99281"}'
signature=$(printf '%s.%s' "$timestamp" "$body" | openssl dgst -sha256 -hmac "$BOLTUTIL_WEBHOOK_SECRET" | awk '{print $NF}')

curl --request POST "https://api.boltutil.com/api/v1/order/create" \
  --header 'Content-Type: application/json' \
  --header "X-Bolt-Key: $BOLTUTIL_API_KEY" \
  --header "X-Bolt-Timestamp: $timestamp" \
  --header "X-Bolt-Signature: $signature" \
  --data-binary "$body"

Địa chỉ, băm giao dịch và đơn đặt hàng là ví dụ. Thay thế chúng bằng bài kiểm tra data của riêng bạn.

Base URL

PROD
https://api.boltutil.com
Đầy đủ tham số đơn →

Xác nhận và xử lý thông báo

Phát hiện không phải xác nhận. Dùng trạng thái và callback đã xác minh: PAID vẫn chờ xác nhận. CONFIRMED / COMPLETED có thể do chấp nhận thủ công; kiểm tra paidAmount, shortfallAmount, settlementType. COMPLETED không chứng minh đã giao hàng.

Câu hỏi tích hợp

Loại tiền được hỗ trợ có đang khả dụng không?

Chưa chắc. Mạng và tài sản phải được bật, với ví và Webhook hợp lệ. Bảng tĩnh không thể hiện trạng thái trực tiếp.

Khách có được làm tròn số tiền không?

Thanh toán đầy đủ payment.amount. Hệ thống có thể làm tròn lên và thêm phần chênh nhỏ để phân biệt các đơn dùng chung ví. Không tự làm tròn hoặc cắt bớt.

Có thể giao hàng ngay khi số dư tăng không?

Xác minh kết quả đơn đã xác nhận và tính xác thực của thông báo. Sai mạng, phiên bản token, số tiền và sự kiện trùng cần xử lý. Số dư tăng không thay thế kết quả thanh toán đơn.