商户 PHP 对接 Demo

纯 PHP 7.4+ / 8.x · 签名与平台 SignService 一致 · 直连网关(非门户 /mapi 沙箱)

已加载 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_urlhttps://test.starfusionx.com/notify_url.php

正在探测网关…

源码文件

lib/PaySign.php签名/验签,可拷贝至生产项目
submit_order.phpPOST https://api.starfusionx.com/prod/pay/submitOrder
query_order.phpPOST 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

测试下单

以商户门户「代收通道」中已开通的 pay_type 为准

提交时自动转为分(money 字段)

测试查单

签名工具(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)
  1. 剔除 signsign_type 后,其余参数按 key 升序拼接 key=value&(空值也参与)。
  2. 末尾追加 key={secret_key} 得待签串。
  3. sign_type=1sign = strtoupper(md5(待签串))
  4. sign_type=2:商户私钥 SHA256 签名后 base64;异步通知用平台 RSA 公钥验签。
  5. 请求为 application/x-www-form-urlencoded POST;参数 time 须在服务器时间窗内。
下单参数 POST /pay/submitOrder
参数必填说明
mch_id商户号
pay_type支付类型 1~7,见代收通道列表
money金额,单位(字符串)
order_id商户订单号,唯一
timeUnix 时间戳(秒)
notify_url异步通知地址
return_url支付完成跳转
commodity_name商品名称
extra透传字段,回调原样带回
client_ip用户 IP
sign / sign_type签名

成功返回 code=200data.pay_url 为支付链接。

查单参数 POST /pay/query
参数必填说明
mch_id商户号
order_id商户订单号
timeUnix 时间戳
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 须公网可达。