Rss & SiteMap

Foxtable(狐表) http://www.foxtable.com

新一代数据库软件,完美融合Access、Foxpro、Excel、vb.net之优势,人人都能掌握的快速软件开发工具!
共3 条记录, 每页显示 10 条, 页签: [1]
[浏览完整版]

标题:关于fx使用zpay支付平台的求助

1楼
ygg8310 发表于:2025/3/17 20:21:00
想用fx实现一个URL跳转支付的页面,经过个人研究发现有个叫ZPAY的平台可以提供个人支付服务,链接地址http://z-pay.cn/
在研究开发文档时发现了一个关于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结果为小写。



测试接口信息

接口地址:https://zpayz.cn/

测试商户ID(PID):20220726190052

测试商户密钥(KEY):vg9ZRZN4FOKtDM06UfqH69GDJoG4gGIJ

以上商户信息仅供测试使用,请勿直接用于正式环境,如果需要退还测试金额请于24小时内使用退款API发起

说明:进入会员中心,依次点击“支付渠道”-“API安全”即可查看自己的API接口信息。



页面跳转支付

请求URL
https://zpayz.cn/submit.php
请求方法
POST 或 GET(推荐POST,不容易被劫持或屏蔽)
此接口可用于用户前台直接发起支付,使用form表单跳转或拼接成url跳转。
请求参数
参数名称类型是否必填描述范例
name商品名称String商品名称不超过100字iphonexs max
money订单金额String最多保留两位小数5.67
type支付方式String支付宝:alipay 微信支付:wxpayalipay
out_trade_no订单编号Num每个商品不可重复201911914837526544601
notify_url异步通知页面String交易信息回调页面,不支持带参数http://www.aaa.com/bbb.php
pid商户唯一标识String一串字母数字组合201901151314084206659771
cid支付渠道IDString如果不填则随机使用某一支付渠道1234
param附加内容String会通过notify_url原样返回金色 256G
return_url跳转页面String交易完成后浏览器跳转,不支持带参数http://www.aaa.com/ccc.php
sign签名(参考本页签名算法)String用于验证信息正确性,采用md5加密28f9583617d9caf66834292b6ab1cc89
sign_type签名方法String默认为MD5MD5

用法举例

https://zpayz.cn/submit.php?name=iphone xs Max 一台&money=0.03&out_trade_no=201911914837526544601&notify_url=http://www.aaa.com/notify_url.php&pid=201901151314084206659771&param=金色 256G&return_url=http://www.baidu.com&sign=28f9583617d9caf66834292b6ab1cc89&sign_type=MD5&type=alipay


成功返回
直接跳转到付款页面
说明:该页面为收银台,直接访问这个url即可进行付款
失败返回
{"code":"error","msg":"具体的错误信息"}
[此贴子已经被作者于2025/3/17 20:22:53编辑过]
2楼
有点蓝 发表于:2025/3/17 21:09:00
'定义一个可排序的字典
Dim lst As New SortedDictionary(Of String, String)(StringComparer.Ordinal)
lst.Add("name", "iphone xs Max 一台")
lst.Add("money", "0.03")
lst.Add("out_trade_no", "201911914837526544601")
lst.Add("notify_url", "http://www.aaa.com/notify_url.php")
lst.Add("pid", "20220726190052")
lst.Add("param", "金色 256G")
lst.Add("return_url", "http://www.baidu.com")
lst.Add("type", "alipay")
'按顺序拼接参数
Dim su As New StringBuilder
For Each key As String In lst.keys
    su.AppendFormat("&{0}={1}", key, lst(key))
Next
Dim s As String = su.ToString().trimstart("&") & "vg9ZRZN4FOKtDM06UfqH69GDJoG4gGIJ"
'MD5加密
Dim sign As String = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(s, "MD5").Tolower

Dim url As String = "https://zpayz.cn/submit.php?name=iphone xs Max 一台&money=0.03&out_trade_no=201911914837526544601&notify_url=http://www.aaa.com/notify_url.php&pid=20220726190052&param=金色 256G&return_url=http://www.baidu.com&sign=" & sign & "&sign_type=MD5&type=alipay"
Output.Show(url)
3楼
ygg8310 发表于:2025/3/17 22:08:00
谢谢,我试一下
共3 条记录, 每页显示 10 条, 页签: [1]

Copyright © 2000 - 2018 foxtable.com Tel: 4000-810-820 粤ICP备11091905号

Powered By Dvbbs Version 8.3.0
Processed in .02344 s, 2 queries.