有2种方法发起支付:1.跳转到我们支付页;2.获取json支付页信息,自定义支付页
http://vippay.wzhot.com/
使用方法:用表单post的方式,post参数并跳转到此网址,会自动显示我们的支付页http://vippay.wzhot.com/order.php?orderid=order_id(订单号)。
http://vippay.wzhot.com/format-json/
说明:用post方式传参数,并直接获取json返回值,显示在您自定义的支付页上。
# | 参数名 | 含义 | 类型 | 说明 |
---|---|---|---|---|
1 | uid | 商户uid | string(24) | 必填。您的商户唯一标识,注册后在设置里获得。一个24位字符串 |
2 | order_price | 价格 | float | 必填。单位:元。精确小数点后2位 |
3 | order_type | 支付渠道 | string(255) | 必填。alipay:支付宝;wechat:微信支付 |
4 | notify_url | 通知回调网址 | string(255) | 必填。用户支付成功后,我们服务器会主动发送一个post消息到这个网址。由您自定义。不要urlencode。例:http://www.aaa.com/paysapi_notify |
5 | redirect_url | 跳转网址 | string(255) | 必填。用户支付成功后,我们会让用户浏览器自动跳转到这个网址。由您自定义。不要urlencode。例:http://www.aaa.com/paysapi_return |
6 | order_id | 商户自定义订单号 | string(50) | 必填。我们会据此判别是同一笔订单还是新订单。我们回调时,会带上这个参数。例:201710192541,不同的订单订单号不能重复 |
7 | order_name | 商户自定义客户号 | string(100) | 选填。我们会显示在您后台的订单列表中,方便您看到是哪个用户的付款,方便后台对账。请用英文或数字,不要用中文,也可以填您数据库中的用户uid。例:xxx, xxx@aaa.com |
8 | extension | 备注信息 | string(100) | 选填。请用英文或数字,不要用中文。您的备注信息,用来显示在后台的订单名称。 |
9 | sign | 秘钥 | string(32) | 必填。sign的拼接顺序:md5(md5(orde_price + order_type) + secretkey) |
sign的拼接顺序:md5(md5(orde_price + order_type) + secretkey);
注意:所有参数不能用中文,secretkey在安全上非常重要,一定不要显示在任何网页代码、网址参数中。只可以放在服务端。计算sign时,先在服务端计算好,把计算出来的sign传出来。严禁在客户端计算sign,严禁在客户端存储secretkey。sign值必为小写
{ //提示给用户的文字信息,会根据不同场景,展示不同内容 "msg":"付款即时到账 未到账可联系我们", "data":{ //二维码信息,如果没返回,说明存在错误,参考msg的信息。 //想展示二维码内容,可以qrcode值放到这个网址后面: https://www.kuaizhan.com/common/encode-png?large=true&data= //生成支付二维码的参数,根据这个参数在支付页面生成支付二维码。 "qr_url":"HTTPS://QR.ALIPAY.COM/FKX08406GFWYYSF0YRNC10", //支付渠道:alipay-支付宝;wechat-微信 "order_type":"alipay", //显示给用户的订单金额(一定要把这个价格显示在支付页上,而不是订单金额) "qr_price":0.05 }, //code 提交成功返回0,不成功返回-1。 "code":0, }
用户付款成功后,我们会向您在发起付款接口传入的notify_url网址发送通知。(注意:避免网络不稳定重发通知导致重复充值,每个order_id只允许执行一次充值逻辑。)
# | 参数名 | 含义 | 类型 | 说明 |
---|---|---|---|---|
1 | order_id | 生成的订单ID号 | string(24) | 一定存在。一个24位字符串,是此订单在易合支付服务器上的唯一编号 |
2 | order_name | 您的自定义订单名称 | string(50) | 一定存在。是您在发起付款接口传入的您的自定义订单名称 |
3 | order_price | 订单定价 | float | 一定存在。是您在发起付款接口传入的订单价格 |
4 | qr_price | 实际支付金额 | float | 一定存在。表示用户实际支付的金额。一般会和order_price值一致,如果同时存在多个用户支付同一金额,就会和order_price存在一定差额,差额一般在1-2分钱上下,越多人同时付款,差额越大。 |
5 | extension | 您的自定义参数 | string(50) | 如果您在发起付款接口带入此参数,我们会原封不动传回。 |
6 | sign | 秘钥 | string(32) | 一定存在。拼接方法:md5(md5(order_id + order_price) +secretkey)。得到sign。您需要在您的服务端按照同样的算法,自己验证此sign是否正确。只在正确时,执行您自己逻辑中支付成功代码。 |
sign的拼接顺序:如用到了所有参数,就按这个顺序拼接:md5(md5(order_id + order_price) +secretkey);
用户付款成功后,我们会在先通过上面的接口,通知您服务器付款成功,再过1-3秒后将用户跳转到您在发起付款接口传入的redirect_url网址。注:用Json方式发起支付的,不会有主动跳转。需要自行监控您的订单信息是否被我们异步回调接口修改成支付成功状态,发现您订单更新后,自行给用户显示支付成功。
# | 参数名 | 含义 | 类型 | 说明 |
---|---|---|---|---|
1 | order_id | 您的自定义单号 | string(50) | 一定存在。您可以通过此order_id在您后台查询到付款确实成功后,给用户一个付款成功的展示。 |
注意:请不要将此跳转认为是用户付款成功的判断条件,此行为极不安全。请根据我们的付款成功回调通知是否送到,来判断交易是否成功。