主题
对接文档
MD5签名算法
1、将发送或接收到的所有参数按照参数名ASCII码从小到大排序(a-z),sign、sign_type、和空值不参与签名!
2、将排序后的参数拼接成URL键值对的格式,例如 a=b&c=d&e=f,参数值不要进行url编码。
3、再将拼接好的字符串与商户密钥KEY进行MD5加密得出sign签名参数,sign = md5 ( a=b&c=d&e=f + KEY ) (注意:+ 为各语言的拼接符,不是字符!),md5结果为小写。
4、具体签名与发起支付的示例代码可下载SDK查看。
(注意:复杂的url地址参数,需在签名计算前进行URL解码,签名计算后为了保证后端接收到完整的值,需要在发送前进行URL编码)
页面跳转支付
此接口可用于用户前台直接发起支付,使用form表单跳转或拼接成url跳转。
URL地址:http://siapi.hrgc8.top/api/pay/submit
请求方式:POST 或 GET(推荐POST,不容易被劫持或屏蔽)
请求参数说明:
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 商户ID | pid | 是 | Int | 1001 | 商户号 |
| 支付方式 | type | 是 | String | alipay、wxpay | 支付通道 |
| 商户订单号 | out_trade_no | 是 | String | 20160806151343349 | 下单所需要的订单号 |
| 异步通知地址 | notify_url | 是 | String | http://www.pay.com/notify_url.php | 服务器异步通知地址 |
| 跳转通知地址 | return_url | 是 | String | http://www.pay.com/return_url.php | 页面跳转通知地址 |
| 商品名称 | name | 是 | String | VIP会员 | 如超过127个字节会自动截取 |
| 商品金额 | money | 是 | String | 1.00 | 单位:元,最大2位小数 |
| 签名字符串 | sign | 是 | String | 202cb962ac59075b964b07152d234b70 | 签名算法,详见上方 |
API接口支付
此接口可用于服务器后端发起支付请求,会返回支付二维码链接或支付跳转url。
URL地址:http://siapi.hrgc8.top/api/pay/mapi
请求方式:POST
请求参数说明:
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 商户ID | pid | 是 | Int | 1001 | 商户号 |
| 支付方式 | type | 是 | String | alipay、wxpay | 支付通道 |
| 商户订单号 | out_trade_no | 是 | String | 20160806151343349 | 下单所需要的订单号 |
| 异步通知地址 | notify_url | 是 | String | http://www.pay.com/notify_url.php | 服务器异步通知地址 |
| 跳转通知地址 | return_url | 否 | String | http://www.pay.com/return_url.php | 页面跳转通知地址 |
| 商品名称 | name | 是 | String | VIP会员 | 如超过127个字节会自动截取 |
| 商品金额 | money | 是 | String | 1.00 | 单位:元,最大2位小数 |
| 用户IP地址 | clientip | 是 | String | 192.168.1.100 | 用户发起支付的IP地址 |
| 签名字符串 | sign | 是 | String | 202cb962ac59075b964b07152d234b70 | 签名算法,详见上方 |
返回结果(JSON):
| 字段名 | 变量名 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|
| 返回状态码 | code | Int | 1 | 1为成功,其它值为失败 |
| 返回信息 | msg | String | 失败时返回原因 | |
| 订单号 | trade_no | String | 20160806151343349 | 支付订单号 |
| 支付跳转url | payurl | String | https://pay.vps0r.com/pay/wxpay/202010903/ | 如果返回该字段,则直接跳转到该url支付 |
| 二维码链接 | qrcode | String | weixin://wxpay/bizpayurl?pr=04IPMKM | 如果返回该字段,则根据该url生成二维码 |
| 支付跳转方式 | pay_method | String | payUrl | // formJump 表单跳转 payUrl 跳转链接 |
pay_method说明 跳转方式分为两类:1、直接在浏览器访问的URL地址 2、form表单提交。请根据pay_method字段进行判断, 当pay_method为payUrl时,可直接访问payurl的地址进行跳转,如:window.location.href=payurl; 当pay_method字段为formJump时,请将payurl字段的form表单内容 写入浏览器空白页面进行跳转,比如:document.write(payUrl)
支付结果通知
通知类型:服务器异步通知(notify_url)、页面跳转通知(return_url)
请求方式:GET
收到异步通知后,需返回success以表示服务器接收并成功处理了订单通知
请求参数说明:
| 字段名 | 变量名 | 必填 | 类型 |
|---|---|---|---|
| 参数名称 | 类型 | 默认值 | 说明 |
| pid | String | 1620062354446368768 | 商户号 |
| type | String | alipay | 仅alipay与wxpay |
| out_trade_no | String | 2024013110151539 | 商户订单号 |
| money | String | 1 | 金额单位'元' |
| name | String | 接口联调测试 | 商品名称 |
| trade_status | String | TRADE_SUCCESS | TRADE_SUCCESS为订单支付成功 |
| trade_no | String | D202401311400017848UlFMs | 系统订单 |
| sign | String | 67c5443a9b1b4f48fe1928f0bc677572 | |
查单接口
此接口可用于服务器后端发起支付请求,会返回支付二维码链接或支付跳转url。
URL地址:http://siapi.hrgc8.top/api/pay/queryOrder
请求方式:GET
请求参数说明:
| 字段名 | 变量名 | 必填 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|---|
| 商户ID | pid | 是 | Int | 1001 | 商户号 |
| 商户订单号 | out_trade_no | 是 | String | 20160806151343349 | 下单所需要的订单号 |
| 签名字符串 | sign | 是 | String | 202cb962ac59075b964b07152d234b70 | 签名算法,详见上方 |
返回结果(JSON):
| 字段名 | 变量名 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|
| 返回状态码 | code | Int | 1 | 1为成功,其它值为失败 |
| 返回信息 | msg | String | 失败时返回原因 | |
| 订单信息 | data | Object | 详见下方 | 订单信息 |
返回结果data(JSON):
| 字段名 | 变量名 | 类型 | 示例值 | 描述 |
|---|---|---|---|---|
| 订单状态 | status | Int | 2 | 0 订单创建、1待支付、2支付成功、3订单关闭、4黑名单 |
| 订单金额 | total_amount | String | 订单金额 | |
| 支付金额 | pay_amount | String | 支付金额 |
