山河易支付 · 开发文档
返回官网  |  V1 旧版文档  |  商户中心
目录 接口说明 签名规则 支付方式列表 页面跳转支付 统一下单 订单查询 订单退款 退款查询 关闭订单 支付结果通知 查询商户信息 查询订单列表 提交代付 代付查询 余额查询 枚举值

易支付 · 接口说明及规范

协议规则

项目说明
提交数据格式application/x-www-form-urlencoded
返回数据格式JSON
字符编码UTF-8
签名算法SHA256WithRSA
V2 与 V1 的差异:V2 全面使用 RSA 签名;V2 使用全新接口地址,支持退款、代付等功能; V2 新增 timestamp 入参(±300 秒校验)。V1 使用 MD5 签名,走 submit.php / mapi.php。

获取 RSA 密钥对

登录商户中心 → API 信息 → 点击【生成商户 RSA 密钥对】。 私钥只显示一次,对接时只用商户私钥签名与平台公钥验签。

签名规则

签名步骤

  1. 取请求报文所有非空参数,剔除 sign、sign_type,按键名 ASCII 码升序排序。
  2. 拼接为 k1=v1&k2=v2 形式,得到待签名字符串。
  3. 用商户私钥对该字符串做 SHA256WithRSA 签名,Base64 编码得到 sign。

验签步骤

  1. 按上述 1~2 步得到待签名字符串。
  2. 用平台公钥对 sign 做 SHA256WithRSA 验签。

PHP 示例

function epay_sign(array $params, string $privateKey): string {
    unset($params['sign'], $params['sign_type']);
    $params = array_filter($params, fn($v) => $v !== '' && $v !== null);
    ksort($params, SORT_STRING);
    $str = urldecode(http_build_query($params));
    openssl_sign($str, $sign, $privateKey, OPENSSL_ALGO_SHA256);
    return base64_encode($sign);
}

平台公钥

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAvXslqtr8QH/6jw06m9gI
votIXkHonRPD4ujCZuzS7yiKEvYq03DDDGXeVMZPTP6Ny66v4sG514ps3Hw0441s
SYB1DAmR9eUz8nTOmGANOXsmgcu9KvIKKY7e4O8uxvUxXVQuHq50m93WXtUsMwtM
FIBW0wPpCfREJQEdwidJ+/Xk9za0Oe9sFVihkLtDab8L/dSylbpLL/8UbZp44rUs
eUSQH5vekfu7MrhnDmGYjXrihsvloJaYjDrlVwnrHkqrXAL38/L5iZzt1fj/nEcj
hcqQ7IRkOPrOw7fGyuqqjBvI2uadD/bxFT5hoX7lrWmohoIfPez2V6ghaWpJNmPS
UwIDAQAB
-----END PUBLIC KEY-----

支付方式列表

调用值描述
alipay支付宝
wxpay微信支付
qqpayQQ钱包
bank网银支付
jdpay京东支付
paypalPayPal
usdt泰达币 USDT
stripepay银行卡/钱包
stripealipayStripe 支付宝
stripewxpayStripe 微信支付

实际可用方式以商户所属用户组启用的支付方式为准。

页面跳转支付 POST / GET

请求地址:https://shanhe.site/api/pay/submit

用于用户前台直接发起支付,可用 form 表单跳转或拼接 URL 跳转。

字段名变量名必填类型示例值描述
商户IDpid是Int1001
支付方式type否Stringalipay不传则跳转收银台
商户订单号out_trade_no是String20160806151343349
异步通知地址notify_url是Stringhttp://pay.com/notify.php
跳转通知地址return_url是Stringhttp://pay.com/return.php
商品名称name是StringVIP会员超过 127 字节自动截断
商品金额money是String1.00单位元,两位小数
业务扩展参数param否String支付后原样返回
自定义通道IDchannel_id否Int对应进件商户列表 ID
当前时间戳timestamp是String172120607210 位整数,单位秒
签名字符串sign是String参考签名规则
签名类型sign_type是StringRSA固定 RSA

统一下单 POST

请求地址:https://shanhe.site/api/pay/create

服务器后端调用,返回支付链接与二维码内容。

字段名变量名必填类型示例值描述
商户IDpid是Int1001
接口类型method是Stringwebweb / jump / api
设备类型device否Stringpcpc / mobile / qq / wechat / alipay
支付方式type特殊Stringalipay见支付方式列表
商户订单号out_trade_no是String20160806151343349
异步通知地址notify_url是Stringhttp://pay.com/notify.php
跳转通知地址return_url是Stringhttp://pay.com/return.php
商品名称name是StringVIP会员
商品金额money是String1.00
用户IPclientip是String192.168.1.100
业务扩展参数param否String
当前时间戳timestamp是String1721206072
签名字符串sign是String
签名类型sign_type是StringRSA

返回参数

字段名变量名类型描述
返回状态码codeInt0 表示成功
错误信息msgString失败原因
平台订单号trade_noString
商户订单号out_trade_noString
支付链接payurlString直接跳转的收银台地址
二维码内容qrcodeString可生成二维码
小程序路径urlschemeStringApp / 小程序唤起链接
时间戳timestampString
签名signString平台私钥签名
{
  "code": 0,
  "msg": "success",
  "trade_no": "20261108123456789012",
  "out_trade_no": "ORDER1730000000",
  "payurl": "https://shanhe.site/pay.php?trade_no=20261108123456789012",
  "qrcode": "https://shanhe.site/pay.php?trade_no=20261108123456789012",
  "timestamp": "1721206072",
  "sign": "Base64...",
  "sign_type": "RSA"
}

订单查询 POST

请求地址:https://shanhe.site/api/pay/query

字段名变量名必填类型描述
商户IDpid是Int
平台订单号trade_no二选一String与 out_trade_no 二选一,都传以 trade_no 为准
商户订单号out_trade_no二选一String
当前时间戳timestamp是String
签名字符串sign是String
签名类型sign_type是StringRSA

返回参数

字段名变量名类型描述
返回状态码codeInt0 成功
平台订单号trade_noString
商户订单号out_trade_noString
接口订单号api_trade_noString上游通道返回单号
支付方式typeString
支付状态statusInt0未支付 1已支付 2已退款 3已冻结 4预授权
订单金额moneyString
已退款金额refundmoneyString仅部分退款返回
创建时间addtimeString
完成时间endtimeString仅完成返回
支付用户标识buyerString一般为 openid
业务扩展参数paramString

订单退款 POST

请求地址:https://shanhe.site/api/pay/refund

字段名变量名必填类型描述
商户IDpid是Int
平台订单号trade_no二选一String
商户订单号out_trade_no二选一String
退款金额money是String不能大于可退金额
当前时间戳timestamp是String
签名字符串sign是String
签名类型sign_type是StringRSA

返回参数

字段名变量名类型描述
返回状态码codeInt0 成功
平台订单号trade_noString
退款金额refundmoneyString累计已退款金额
订单状态statusInt1 部分退款,2 全额退款

退款查询 POST

请求地址:https://shanhe.site/api/pay/refundquery

参数同订单查询,返回 money、refundmoney、status。

关闭订单 POST

请求地址:https://shanhe.site/api/pay/close

参数:pid、trade_no 或 out_trade_no、timestamp、sign、sign_type。 已支付订单不可关闭。

支付结果通知

通知类型:服务器异步通知(notify_url)、页面跳转通知(return_url),请求方式 GET。

字段名变量名类型描述
商户IDpidInt
平台订单号trade_noString
商户订单号out_trade_noString
接口订单号api_trade_noString
支付方式typeString
交易状态trade_statusString固定 TRADE_SUCCESS
创建时间addtimeString
完成时间endtimeString
商品名称nameString
商品金额moneyString
业务扩展参数paramString
支付用户标识buyerString
当前时间戳timestampString
签名字符串signString
签名类型sign_typeStringRSA
处理要求:收到通知后必须校验 sign 并判断 trade_status === 'TRADE_SUCCESS'; 处理完成后返回纯文本 success(不能带任何 HTML 或 JSON);平台可能增加扩展字段,验签需兼容。

查询商户信息 POST

请求地址:https://shanhe.site/api/merchant/info

参数:pid、timestamp、sign、sign_type。

字段名变量名类型描述
商户IDpidInt
商户状态statusInt0 封禁,1 正常,2 待审核
支付状态pay_statusInt0 关闭,1 开启
结算状态settle_statusInt0 关闭,1 开启
商户余额moneyString单位元
结算方式settle_typeInt1支付宝 2微信 3QQ 4银行卡
结算账户settle_accountString
结算姓名settle_nameString
订单总数order_numInt
今日订单数order_num_todayInt
昨日订单数order_num_lastdayInt
今日收入order_money_todayString
昨日收入order_money_lastdayString

查询订单列表 POST

请求地址:https://shanhe.site/api/merchant/orders

字段名变量名必填类型描述
商户IDpid是Int
查询偏移offset是Int从 0 开始
每页条数limit是Int最大 50
过滤状态status否Int0 未支付,1 已支付
当前时间戳timestamp是String
签名字符串sign是String
签名类型sign_type是StringRSA

返回 data 数组,元素结构同订单查询。

提交代付 POST

请求地址:https://shanhe.site/api/transfer/submit

字段名变量名必填类型描述
商户IDpid是Int
商户转账单号out_trade_no是String唯一
转账金额money是String不能超过可用余额
收款方式type是Int1支付宝 2微信 3QQ 4银行卡
收款账号account是String
收款姓名name是String
转账备注remark否String
当前时间戳timestamp是String
签名字符串sign是String
签名类型sign_type是StringRSA

代付查询 POST

请求地址:https://shanhe.site/api/transfer/query

参数:pid、trade_no 或 out_trade_no、timestamp、sign、sign_type。 返回 status:0 处理中,1 成功,2 失败。

余额查询 POST

请求地址:https://shanhe.site/api/transfer/balance

返回 money(可用余额)、freeze_money(冻结金额)、settle_status。

枚举值

支付状态

状态值描述
0未支付
1已支付
2已退款
3已冻结
4预授权

结算方式

状态值描述
1支付宝
2微信
3QQ钱包
4银行卡

设备类型

调用值描述
pc电脑端
mobile手机端
qq手机 QQ
wechat微信内
alipay支付宝内

接口类型(method)

调用值描述
web通用网页支付
jump跳转支付
apiAPI 接口支付