快速上手:5 分钟测通你的支付对接

Team 1 分钟阅读 1,526 次查看

5 分钟测通你的对接

用我们公开的 沙箱 API 环境,配套共享的测试凭证。不会有真实扣款,订单也不会到达真正的支付服务商。

第 1 步:拿到沙箱凭证

打开 /sandbox,复制 App IDAPI Key(用于签名)和 Query Key(用于查单)。

第 2 步:创建一笔测试订单

用沙箱页面上的表单,或者向 /api/createorder 发一个带签名的 POST:

curl -X POST "https://your-domain.com/api/createorder" \
  -H "Content-Type: application/json" \
  -d '{
    "appid": "YOUR_SANDBOX_APPID",
    "action": "createorder",
    "clientip": "127.0.0.1",
    "amount": "9.99",
    "currency": "USD",
    "paymentMethod": "alipay",
    "description": "Test order",
    "notify_url": "https://your-domain.com/api/sandbox/webhook-receiver",
    "sign_type": "MD5",
    "sign": "CALCULATED_MD5_SIGN"
  }'

MD5 签名沙箱页面会替你算好。算法见 API 文档的签名一节

第 3 步:模拟支付

打开创建订单响应里的 redirectUrl(或者在沙箱页面上点 Simulate pay)。点 Simulate Success,网关就会把一个 Webhook 排队发到你的 notify_url

第 4 步:验证 Webhook 签名

回调用 GET 发送,查询参数里包含 signsign_type=MD5。用和创建订单相同的算法、配你的 API Key 来验证。

// Node.js example (conceptual)
const crypto = require('crypto');
function verifyCallback(params, apiKey) {
  const copy = { ...params };
  delete copy.sign;
  delete copy.sign_type;
  const keys = Object.keys(copy).filter(k => copy[k] != null).sort();
  const str = keys.map(k => k + '=' + copy[k]).join('&') + apiKey;
  const expected = crypto.createHash('md5').update(str).digest('hex');
  return expected === params.sign;
}

你的服务器必须返回纯文本 success(不区分大小写)。

第 5 步:查询订单状态

GET /api/order?action=order&appid=APPID&key=QUERY_KEY&paymentId=ORDER_ID

或者轮询这个公开接口:GET /api/order/status/:orderId

准备上生产

完整参考:API 文档 · 在线测试:沙箱环境

标签: api, sandbox, integration, webhook

← 所有文章