快速开始
准备商户配置,获取第一个用户充值地址。
1. 准备商户配置
在注册页面提交申请。商户激活后,使用所有者账户登录控制台:
- 打开收款地址,配置自己控制的 BSC 主钱包,并再次输入地址确认。
- 打开开发者设置,查看商户 ID、商户编码,生成 API Key 与 API Secret。
- 在同页配置公网 HTTPS 回调地址,保存首次生成的独立回调密钥。
API Secret 与回调密钥只在生成时显示一次。控制台登录密码、API Secret 和回调密钥分别使用,均不要放入浏览器代码。修改钱包、生成或轮换密钥需要验证当前登录密码。
无需开发的收款方式
在支付链接填写收款项目、订单号、金额与有效期,即可创建公开收银台。付款人无需登录,可查看地址、二维码与付款状态。需要按业务用户长期收款时,再使用下面的 API 方式。
2. 从服务端发送签名请求
以下 Node.js 示例创建业务用户 customer_1001。凭据从环境变量读取;示例金额和编号均不代表真实业务数据。
import {createHmac, randomUUID} from 'node:crypto';
const key = process.env.UPAY_API_KEY;
const secret = process.env.UPAY_API_SECRET;
if (!key || !secret) throw new Error('请先设置 API 凭据');
const path = '/v1/customers';
const body = JSON.stringify({external_id: 'customer_1001'});
const timestamp = Math.floor(Date.now() / 1000).toString();
const nonce = randomUUID();
const message = `${timestamp}.POST.${path}.${nonce}.${body}`;
const signature = createHmac('sha256', secret).update(message).digest('hex');
const response = await fetch(`https://u.agpt.pro${path}`, {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-Key': key,
'X-Timestamp': timestamp,
'X-Nonce': nonce,
'X-Signature': signature,
},
body,
});
const result = await response.json();
if (!response.ok) throw new Error(result.error || `HTTP ${response.status}`);
console.log(result.data);3. 保存地址与用户的关联
响应中的 customer_id 是平台用户标识,external_id 是你提交的业务用户编号,address 是充值地址。请保存这些信息并将地址展示给对应用户。
相同商户使用同一 external_id 重复创建,会返回同一用户的有效地址;提交的 metadata 会更新。详情见用户与充值地址。
4. 验证充值与回调
确认网络为 BNB Smart Chain、资产为 USDT,再进行小额主网充值。记录交易哈希,等待链上确认,并验证业务系统收到的回调签名。
5. 检查归集结果
平台会在充值确认后安排归集。请分别检查充值回调、业务账本和主钱包到账情况;三者可能存在处理时间差。
如果要先熟悉控制台操作,请阅读测试收款说明。