本系统提供易支付 V1 风格的页面跳转支付接口。商户按本文档对接本网关,付款用户进入网关收银台完成浏览器信息采集后,网关再向内部支付系统下单。
| 请求数据格式 | application/x-www-form-urlencoded |
|---|---|
| 返回数据格式 | 支付接口返回页面跳转或收银台页面;订单查询返回 JSON |
| 签名算法 | MD5 |
| 字符编码 | UTF-8 |
| 网关地址 | https://gate.tw.mihapay.info |
| 商户凭证 | 下游通过 POST 提供上游商户 pid 和 key,本网关不分配或固定商户凭证。 |
付款用户通过 HTTPS POST 表单提交 pid、key 和订单信息。本接口需要商户密钥,由网关替换回调地址后向上游重新签名。密钥不回显,以加密形式随订单保留,用于支付通知验签;收到通知时使用同一套 pid/key。
商户无需上传用户 IP、浏览器指纹或风险值,网关自行采集和计算。请使用 HTTPS 网关地址。每个订单号必须唯一,重复提交不会再次向支付后端下单。
POSTGET 推荐使用浏览器 POST 表单。
接口地址:https://gate.tw.mihapay.info/submit.php
| 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|
| pid | 是 | String | 你的上游商户号 | 下游提供的上游商户号 |
| key | 是 | String | 你的上游密钥 | 仅通过 POST 请求体提交,不参与上游参数拼接 |
| type | 否 | String | alipay | 支付方式,不传跳转到收银台选择 |
| out_trade_no | 是 | String | 20160806151343349 | 商户系统内部订单号 |
| notify_url | 是 | String | http://you.com/notify.php | 服务器异步通知地址 |
| return_url | 否 | String | http://you.com/return.php | 页面跳转通知地址 |
| name | 是 | String | VIP会员 | 商品名称 |
| money | 是 | String | 1.00 | 单位:元,最大2位小数 |
| param | 否 | String | 业务扩展参数,支付后原样返回 | |
| sign | 是 | String | 202cb962ac59075b964b07152d234b70 | 签名,见第5节 |
| sign_type | 是 | String | MD5 | 默认 MD5 |
POST 接口地址:https://gate.tw.mihapay.info/api/EasyPay/queryOrder
| 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|
| orderNo | 是 | String | 商户系统内部订单号 (out_trade_no) |
{
"code": 1,
"msg": "查询成功",
"time": 1759415363,
"data": { "status": "success", "out_trade_no": "...", "trade_no": "..." }
}
通知类型:服务器异步通知(notify_url)、页面跳转通知(return_url)。两者均由本网关在确认结果后重新签名转发,商户收到的始终是本网关签名的通知,与真实支付后端完全隔离。
| 变量名 | 必填 | 类型 | 描述 |
|---|---|---|---|
| pid | 是 | String | 本网关商户ID |
| trade_no | 是 | String | 平台订单号 |
| out_trade_no | 是 | String | 商户订单号 |
| type | 是 | String | 支付方式 |
| name | 是 | String | 商品名称 |
| money | 是 | String | 商品金额 |
| trade_status | 是 | String | 只有 TRADE_SUCCESS 是成功 |
| param | 否 | String | 业务扩展参数 |
| sign | 是 | String | 签名 |
| sign_type | 是 | String | 默认 MD5 |
收到异步通知后,商户应验签、核对订单号和金额,并幂等处理订单,再返回字符串 success。页面跳转通知仅用于展示结果;当前网关不提供通知失败重试。
sign、sign_type 和空值不参与签名。a=b&c=d&e=f 的格式拼接,参数值不做 URL 编码。sign = md5(拼接字符串 + 商户密钥KEY),md5 结果小写,+ 仅表示字符串连接。params := map[string]string{
"pid": "M20250829000001",
"type": "alipay",
"out_trade_no": "20160806151343349",
"notify_url": "https://you.com/notify.php",
"return_url": "https://you.com/return.php",
"name": "VIP会员",
"money": "1.00",
"sign_type": "MD5",
}
sign := signer.Sign(params, YOUR_KEY) // 排序拼接 + 密钥, 取 MD5
params["sign"] = sign
// 在商户服务端将 params 渲染为隐藏表单字段,字段值须进行 HTML 转义。
// 将表单页面返回给付款用户,由用户浏览器提交到:
// <form method="post" action="https://gate.tw.mihapay.info/submit.php">...</form>
| type 调用值 | 描述 |
|---|---|
| alipay | 支付宝 |
| wxpay | 微信支付 |
| qqpay | QQ钱包 |