OpenCryptoPay 支付网关开发文档

供第三方商城、发卡系统、APP 及智能合约业务系统调用与对接

📥 下载 OpenAPI / Postman JSON
🚀 快速开始

OpenCryptoPay 是一个非托管的加密货币支付网关,支持 USDT (TRC-20 / BEP-20 / Polygon / ERC-20 / Arbitrum)。 资金直接到账商户自己的冷热钱包,具有防假充值、金额尾数防撞锁定与毫秒级扫链撮合机制。

网关基础地址 (Base URL)
生产正式网关
https://pay.2fa.blue
POST 创建支付订单 /api/v1/order/create

商户后台调用该接口创建订单,系统自动分配专属应付金额(含微小浮动尾数防撞单)并返回收银台支付链接 pay_url。

请求参数 (Request Body - JSON)
字段名 类型 必填 说明
out_trade_no string 是 商户系统的唯一订单号(如 ORDER_20261102_001)
amount number 是 原始充值金额(单位:USDT,例如 10.00)
network string 否 支付公链:TRC20 (默认波场), BEP20 (BSC), POLYGON, ERC20
notify_url string 否 支付完成后的异步通知 Webhook 地址
redirect_url string 否 用户支付成功后前端跳转页面
cURL 调用示例
Bash / cURL
curl -X POST https://pay.2fa.blue/api/v1/order/create \
  -H "Content-Type: application/json" \
  -d '{
    "out_trade_no": "ORDER_1001",
    "amount": 10.00,
    "network": "TRC20",
    "notify_url": "https://your-shop.com/api/notify",
    "redirect_url": "https://your-shop.com/order/success"
  }'
响应结果 (Response - JSON)
200 OK
{
  "code": 200,
  "message": "Order created successfully",
  "data": {
    "trade_no": "PAY1793608327859ED99B4",
    "out_trade_no": "ORDER_1001",
    "network": "TRC20",
    "token": "USDT",
    "amount": 10,
    "actual_amount": 10.01,
    "receiver_address": "TG3XXyExBkPp9nzdajDZsozEu4B5U2U2AZ",
    "status": "PENDING",
    "pay_url": "https://pay.2fa.blue/checkout.html?trade_no=PAY1793608327859ED99B4",
    "expire_at": 1793610127859
  }
}
GET 查询订单状态 /api/v1/order/status/:trade_no

通过网关系统订单号 trade_no 查询订单当前支付状态与链上交易详情。

响应示例
{
  "code": 200,
  "data": {
    "trade_no": "PAY1793608327859ED99B4",
    "status": "PAID",
    "actual_amount": 10.01,
    "tx_id": "8f3e2b9c7d4a1...",
    "paid_at": 1793608400000
  }
}
🔔 Webhook 异步回调规范与验签

当链上转账确认入账后,系统会向商户的 notify_url 发起 POST 请求。 商户必须校验签名,确认参数未被篡改,入账成功后必须返回文本 SUCCESS。

回调参数签名算法

1. 排除 sign 字段,将剩余所有非空参数按 ASCII 字母升序 字典排序并用 & 拼接(如 amount=10&status=PAID...)。
2. 使用商户通信密钥(API_AUTH_TOKEN)进行 HMAC-SHA256 签名计算。

PHP 验签示例
PHP
<?php
$rawBody = file_get_contents('php://input');
$data = json_decode($rawBody, true);
$sign = $data['sign'];
unset($data['sign']);

// 1. 字典序排列
ksort($data);
$signStr = urldecode(http_build_query($data));

// 2. HMAC-SHA256
$calculated = hash_hmac('sha256', $signStr, 'secret_token_123456');

if (hash_equals($calculated, $sign) && $data['status'] === 'PAID') {
    // 处理你的发货逻辑...
    echo "SUCCESS"; // 必须输出纯文本 SUCCESS
} else {
    http_response_code(400);
    echo "FAIL";
}
🛒 易支付 (EPay) 协议网关对接

兼容市面上所有发卡/商城开源系统(独角数卡、WordPress WooCommerce 易支付插件、WHMCS、OneAPI)。

网关接口地址 https://pay.2fa.blue/submit.php
商户 ID (PID) 1001(或任意数字)
商户密钥 (Key) 你的 API_AUTH_TOKEN(后台中控设置)