开发者中心
支付接入文档
云擎支付提供两套接入方式:面向新项目的 API v1(HMAC-SHA256),以及兼容彩虹易支付的 V1 协议。所有金额单位为元,保留两位小数;所有回调都必须验签。
1. API v1 鉴权
推荐每次请求携带以下 Header:
- X-Merchant-No
- 商户号,如 M261103000001
- X-Timestamp
- Unix 秒级时间戳,误差 300 秒内
- X-Nonce
- 8-64 位随机串,不可重复
- X-Signature
- HMAC-SHA256 十六进制小写
signature = HMAC_SHA256( timestamp + "\n" + nonce + "\n" + METHOD + "\n" + path + "\n" + rawBody, api_secret )
path 为请求路径(包含部署子目录),例如 /api/v1/orders。POST 的 rawBody 必须与实际发送的字节完全一致。
2. 创建订单
POST /api/v1/orders{
"out_trade_no": "ORDER20261103001",
"subject": "测试商品",
"amount": "0.01",
"pay_type": "wxpay",
"channel": "wechat_native",
"notify_url": "https://merchant.com/notify",
"return_url": "https://merchant.com/return",
"param": "user_id=1001"
}pay_type 可选:wxpay、alipay、qqpay、bank。channel 可选,指定后优先使用该通道。返回:
{
"ok": true,
"data": {
"trade_no": "CP20261103010203000001",
"amount": "0.01",
"status": "pending",
"pay_url": "https://pay.example.com/pay/CP...",
"expires_at": "2026-11-03 12:30:00"
}
}将用户浏览器跳转到 pay_url 完成支付。查询订单:GET /api/v1/orders/{trade_no}。
3. 异步通知
必须验签支付成功后,平台以 application/x-www-form-urlencoded POST 到订单 notify_url:
pid=M261103000001 trade_no=CP20261103010203000001 out_trade_no=ORDER20261103001 type=wxpay name=测试商品 money=0.01 trade_status=TRADE_SUCCESS param=user_id=1001 sign=... sign_type=MD5
验签算法:排除 sign、sign_type 与空值,按参数名 ASCII 升序拼接 k=v&...,末尾直接追加商户 api_secret,计算 MD5 小写。校验金额、订单号与 trade_status 后,返回纯文本 success。
不要只依赖同步跳转结果发货。同步跳转可能被用户关闭或篡改,异步通知才是最终依据。
易支付 V1 兼容
彩虹易支付- 页面支付
- https://pay.shengka.net/submit.php
- API 下单
- https://pay.shengka.net/mapi.php
- 查询接口
- https://pay.shengka.net/api.php
- 商户 ID
- 商户号 merchant_no
- 商户密钥
- 商户 api_secret
POST https://pay.shengka.net/mapi.php pid=M261103000001 type=alipay out_trade_no=ORDER20261103001 name=测试商品 money=0.01 notify_url=https://merchant.com/notify return_url=https://merchant.com/return sign=MD5签名 sign_type=MD5
返回 JSON:code=1、trade_no、payurl / qrcode。查询:api.php POST act=order&pid=...&key=...&out_trade_no=...。
订单状态
- pending
- 待支付,等待用户选择通道
- paying
- 已向上游发起支付,等待回调
- review
- 手工二维码已提交付款确认,等待核销
- success
- 支付成功,已入账并触发通知
- expired
- 超过有效期自动关闭
- refunded
- 已全额退款
安全清单
始终验签
幂等处理
保护密钥
公网可达
快速自测
使用商户后台“API 对接”页生成的 PHP 示例,创建 0.01 元订单。也可用 curl:
curl -X POST "https://pay.shengka.net/api/v1/orders" \
-H "Content-Type: application/json" \
-H "X-Merchant-No: 你的商户号" \
-H "X-Timestamp: 时间戳" \
-H "X-Nonce: 随机串" \
-H "X-Signature: 签名" \
-d '{"out_trade_no":"TEST001","subject":"测试","amount":"0.01"}'