发起支付
网关地址:
跳转支付页接口URL: 网关地址/pay/index
传参方式:POST 或 GET
使用方法:用表单post/get的方式,跳转到此网址,成功将显示支付页。
请求参数:
# | 参数名 | 含义 | 类型 | 说明 |
---|---|---|---|---|
1 | order_no | 订单号 | string | 必填。商户自己的订单号,请确保唯一 |
2 | subject | 商品名称 | string | 可为空。 |
3 | pay_type | 支付类型 | string | 必填。支付宝=zfb 微信支付=wx |
4 | money | 交易金额 | float | 必填。交易金额,单位:元,保留两位小数,如2.88 |
5 | app_id | app_id | int | 必填。接口后台获取 |
6 | extra | 商户自定义数据 | string | 可为空。 |
7 | sign | 签名 | string(32) | 必填,大写。MD5(order_no=123456&subject=&pay_type=zfb&money=10.00&app_id=10088&extra=abc&接口密钥) |
8 | notify_url | 异步通知基础url 举例: https://your.domain.com/order/notify | string | 可为空。 |
9 | return_url | 用户支付后跳转url 举例: https://your.domain.com/order/return | string | 可为空。 |
注意:接口密钥在安全上非常重要,一定不要显示在任何网页代码、网址参数中。只可以放在服务端。计算sign时,先在服务端计算好,把计算出来的sign传出来。严禁在客户端计算sign,严禁在客户端存储接口密钥。
如果支付页接口URL后面加“format=json”参数,那么返回结果就是 json 格式的,此方式需要开发者自己展示付款二维码
返回示例:
{ "user_id": 10050, "qrcode": "https://***", "order_no": "2022102415326547895", "realmoney": "0.05", "pay_type": "zfb", "out_time": 1666673139 }
付款成功异步通知
用户付款成功后,我们会向接口的 异步通知网址 发送通知。您的服务器需返回“success”,就表示回调已收到,返回数据不要包含任何其它HTML代码。如果返回其它数据,会重试5次。
传参方式:Post
参数内容:
# | 参数名 | 含义 | 类型 | 说明 |
---|---|---|---|---|
1 | order_no | 订单号 | string | 自己的订单号,请确保唯一 |
2 | subject | 商品名称 | string | 和请求时一样,原样返回 |
3 | pay_type | 支付类型 | string | 支付宝=zfb 微信支付=wx |
4 | money | 订单金额 | float | 订单金额 |
5 | realmoney | 实际支付金额 | float | 表示用户实际支付的金额。一般会和money值一致,如果同时存在多个用户支付同一金额,就会和money存在一定差额,差额一般在1-2分钱上下,越多人同时付款,差额越大。 |
6 | user_order_id | 鱼码订单编号 | int | 鱼码订单编号 |
7 | app_id | 接口APP_ID | int | 接口APP_ID |
8 | extra | 商户自定义数据 | string | 和请求时一样,原样返回 |
9 | sign | 秘钥 | string(32) | 大写。MD5(order_no=123456&subject=&pay_type=zfb&money=10.00&realmoney=10.00&yuma_order=鱼码订单编号&app_id=10088&extra=abc&接口密钥) |
注意:建议将发货的操作放在此页面下。
付款成功同步跳转
用户付款成功后,我们会在先通过上面的接口,通知您服务器付款成功,再过1-2秒后将用户跳转到接口的 return_url 网址。
传参方式:Get
参数内容:
# | 参数名 | 含义 | 类型 | 说明 |
---|---|---|---|---|
1 | order_no | 订单号 | string | 自己的订单号,请确保唯一 |
2 | subject | 商品名称 | string | 和请求时一样,原样返回 |
3 | pay_type | 支付类型 | string | 支付宝=zfb 微信支付=wx |
4 | money | 订单金额 | float | 订单金额 |
5 | realmoney | 实际支付金额 | float | 表示用户实际支付的金额。一般会和money值一致,如果同时存在多个用户支付同一金额,就会和money存在一定差额,差额一般在1-2分钱上下,越多人同时付款,差额越大。 |
6 | user_order_id | 鱼码订单编号 | int | 鱼码订单编号 |
7 | app_id | 接口APP_ID | int | 接口APP_ID |
8 | extra | 商户自定义数据 | string | 和请求时一样,原样返回 |
9 | sign | 秘钥 | string(32) | 大写。MD5(order_no=123456&subject=&pay_type=43&money=10.00&realmoney=10.00&yuma_order=鱼码订单编号&app_id=10088&extra=abc&接口密钥) |
注意:请不要将发货操作放在此页面下,用户提前关闭网页可能导致发货失败,此页面一般仅用于显示支付结果
订单状态查询:URL: 网关地址/pay/getstatus
传参方式:Get
参数内容:
# | 参数名 | 含义 | 类型 | 说明 |
---|---|---|---|---|
1 | order_no | 订单号 | string | 自己的订单号,请确保唯一 |
2 | user_id | 用户ID | string | 鱼码用户ID,会员中心基础配置中查看 |
{ "status": 0, "code": "pending", "msg": "等待用户支付" }