已加载
config.php,网关基址:https://api.starfusionx.com/prod/pay
注意:本 Demo 请求真实支付网关;商户门户「接口测试」走
/mapi/integration/* 沙箱,URL 不同。
代收对接传 pay_type(1~7),勿传内部通道编码。若启用 IP 白名单,须添加服务器出站 IP。
环境与网关
| 网关基址 | https://api.starfusionx.com/prod/pay |
|---|---|
| 商户号 | TEST_M001 |
| 密钥 | 5153********e1dc |
| 签名类型 | MD5 (1) |
| notify_url | https://test.starfusionx.com/notify_url.php |
正在探测网关…
源码文件
lib/PaySign.php | 签名/验签,可拷贝至生产项目 |
|---|---|
submit_order.php | POST https://api.starfusionx.com/prod/pay/submitOrder |
query_order.php | POST https://api.starfusionx.com/prod/pay/query |
notify_url.php | 异步通知,验签后响应 SUCCESS |
return_url.php | 支付完成浏览器跳转 |
health.php | 网关健康检查 API(控制台用) |
build_sign.php | 生成待签串与 curl 示例 |
notify_logs.php | 读取 logs/notify.log |
测试下单
测试查单
签名工具(MD5)
生成待签串与 curl 命令,便于对照商户门户文档或抓包调试。RSA 模式请在业务代码中使用商户私钥。
异步通知日志
读取 notify_url.php 写入的 logs/notify.log。须将 notify_url 配置为公网可访问地址(本地可用 ngrok)。
切换到本 Tab 时自动加载
对接文档(摘要)
完整说明见商户门户 → API 对接。以下为 PHP Demo 常用要点。
网关地址
| 网关基址 | https://api.starfusionx.com/prod/pay |
|---|---|
| 下单 | POST https://api.starfusionx.com/prod/pay/submitOrder |
| 查单 | POST https://api.starfusionx.com/prod/pay/query |
签名规则(MD5 / RSA)
- 剔除
sign、sign_type后,其余参数按 key 升序拼接key=value&(空值也参与)。 - 末尾追加
key={secret_key}得待签串。 sign_type=1:sign = strtoupper(md5(待签串))。sign_type=2:商户私钥 SHA256 签名后 base64;异步通知用平台 RSA 公钥验签。- 请求为
application/x-www-form-urlencodedPOST;参数time须在服务器时间窗内。
下单参数 POST /pay/submitOrder
| 参数 | 必填 | 说明 |
|---|---|---|
| mch_id | 是 | 商户号 |
| pay_type | 是 | 支付类型 1~7,见代收通道列表 |
| money | 是 | 金额,单位分(字符串) |
| order_id | 是 | 商户订单号,唯一 |
| time | 是 | Unix 时间戳(秒) |
| notify_url | 是 | 异步通知地址 |
| return_url | 否 | 支付完成跳转 |
| commodity_name | 否 | 商品名称 |
| extra | 否 | 透传字段,回调原样带回 |
| client_ip | 否 | 用户 IP |
| sign / sign_type | 是 | 签名 |
成功返回 code=200,data.pay_url 为支付链接。
查单参数 POST /pay/query
| 参数 | 必填 | 说明 |
|---|---|---|
| mch_id | 是 | 商户号 |
| order_id | 是 | 商户订单号 |
| time | 是 | Unix 时间戳 |
| client_ip | 否 | 客户端 IP |
| sign / sign_type | 是 | 签名 |
返回 trade_status:NOTPAY / SUCCESS / FAILED / CLOSED。
异步通知(平台 → notify_url)
| 参数 | 说明 |
|---|---|
| order_id | 商户订单号 |
| order_no | 平台订单号 |
| money | 金额(分) |
| mch_id | 商户号 |
| status | 订单状态 |
| extra | 透传 |
| time / sign / sign_type | 时间与签名 |
验签通过后须响应纯文本 SUCCESS(大小写敏感),否则平台重试。处理须幂等。
pay_type 对照表
| 值 | 含义 |
|---|---|
| 1 | 支付宝 PC |
| 2 | 支付宝 H5 |
| 3 | 微信 PC |
| 4 | 微信 H5 |
| 5 | 银联快捷 |
| 6 | 银联扫码 |
| 7 | 其他 |
本地启动
cd demo/merchant-php cp config.example.php config.php # 编辑 config.php 后: php -S 0.0.0.0:8090
浏览器打开 http://127.0.0.1:8090/。网关请求仍须从已加白名单的服务器 IP 发出;notify 须公网可达。