| 项目 | 说明 |
|---|---|
| 请求数据格式 | application/x-www-form-urlencoded |
| 返回数据格式 | JSON |
| 签名算法 | MD5 |
| 字符编码 | UTF-8 |
URL 地址:https://shanhe.site/submit.php
用户前台直接发起支付,form 表单跳转或拼接 URL 跳转。
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 商户ID | pid | 是 | Int | 1001 | |
| 支付方式 | type | 否 | String | alipay | 不传跳转收银台 |
| 商户订单号 | out_trade_no | 是 | String | 20160806151343349 | |
| 异步通知地址 | notify_url | 是 | String | http://pay.com/notify.php | |
| 跳转通知地址 | return_url | 是 | String | http://pay.com/return.php | |
| 商品名称 | name | 是 | String | VIP会员 | |
| 商品金额 | money | 是 | String | 1.00 | |
| 业务扩展参数 | param | 否 | String | 原样返回 | |
| 签名字符串 | sign | 是 | String | MD5 签名 | |
| 签名类型 | sign_type | 否 | String | MD5 | 固定 MD5 |
URL 地址:https://shanhe.site/mapi.php
服务端调用,返回 JSON,适合扫码、App、小程序等场景。
请求参数同页面跳转支付。
| 字段名 | 变量名 | 类型 | 描述 |
|---|---|---|---|
| 返回状态码 | code | Int | 1 表示成功 |
| 返回信息 | msg | String | |
| 平台订单号 | trade_no | String | |
| 支付跳转链接 | payurl | String | |
| 二维码链接 | qrcode | String | |
| App 唤起链接 | urlscheme | String |
{
"code": 1,
"msg": "success",
"trade_no": "20261108123456789012",
"payurl": "https://shanhe.site/pay.php?trade_no=20261108123456789012",
"qrcode": "https://shanhe.site/pay.php?trade_no=20261108123456789012"
}
请求方式 GET,通知到商户的 notify_url 与 return_url。
| 字段名 | 变量名 | 类型 | 描述 |
|---|---|---|---|
| 商户ID | pid | Int | |
| 平台订单号 | trade_no | String | |
| 商户订单号 | out_trade_no | String | |
| 支付方式 | type | String | |
| 商品名称 | name | String | |
| 商品金额 | money | String | |
| 交易状态 | trade_status | String | 固定 TRADE_SUCCESS |
| 业务扩展参数 | param | String | |
| 签名字符串 | sign | String | MD5 |
| 签名类型 | sign_type | String | MD5 |
success,否则平台会重复通知。sign、sign_type 与空值参数。k1=v1&k2=v2(不进行 URL 编码)。key(无 & 分隔)。sign。function epay_sign(array $p, string $key): string { unset($p['sign'], $p['sign_type']); $p = array_filter($p, fn($v) => $v !== '' && $v !== null); ksort($p, SORT_STRING); $str = urldecode(http_build_query($p)); return md5($str . $key); }
| 调用值 | 描述 |
|---|---|
alipay | 支付宝 |
wxpay | 微信支付 |
qqpay | QQ钱包 |
bank | 网银支付 |
jdpay | 京东支付 |
paypal | PayPal |
usdt | 泰达币 USDT |
| 调用值 | 描述 |
|---|---|
pc | 电脑端 |
mobile | 手机端 |
qq | 手机 QQ |
wechat | 微信内 |
alipay | 支付宝内 |
URL:https://shanhe.site/api.php?act=query&pid={商户ID}&key={商户密钥}
| 字段名 | 变量名 | 类型 | 描述 |
|---|---|---|---|
| 返回状态码 | code | Int | 1 成功 |
| 商户ID | pid | Int | |
| 商户状态 | status | Int | 0 封禁,1 正常,2 待审核 |
| 支付状态 | pay_status | Int | |
| 结算状态 | settle_status | Int | |
| 商户余额 | money | String | |
| 结算方式 | settle_type | Int | |
| 结算账户 | settle_account | String | |
| 订单总数 | order_num | Int | |
| 今日订单数 | order_num_today | Int | |
| 今日收入 | order_money_today | String |
URL:https://shanhe.site/api.php?act=settle&pid={商户ID}&key={商户密钥}
返回 data 数组:id, pid, money, fee, amount, type, account, name, status, addtime, endtime。
URL:https://shanhe.site/api.php?act=order&pid={商户ID}&key={商户密钥}&trade_no={平台订单号}
或使用 out_trade_no。两者都传时以 trade_no 为准。
返回 trade_no、out_trade_no、api_trade_no、type、status、money、name、addtime、endtime、param、buyer。
URL:https://shanhe.site/api.php?act=orders&pid={商户ID}&key={商户密钥}&limit=50&offset=0&status=1
| 字段名 | 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|---|
| 每页条数 | limit | 否 | Int | 最大 50,默认 50 |
| 查询偏移 | offset | 否 | Int | 从 0 开始 |
| 订单状态 | status | 否 | Int | 0 未支付,1 已支付 |
URL:https://shanhe.site/api.php?act=refund&pid={商户ID}&key={商户密钥}&trade_no={平台订单号}&money={退款金额}
返回 trade_no、refundmoney(累计退款金额)。