开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 210|回复: 7
打印 上一主题 下一主题
收起左侧

[已解决] 易支fu和码支fu的sign怎么用易语言创建

 关闭 [复制链接]
结帖率:66% (35/53)
跳转到指定楼层
楼主
发表于 3 天前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式   河南省商丘市
25精币
https://www.mazfu.com/doc/epay_md5
这是原贴的PHP代码
/** * 生成签名 * @param array $params 需要签名的参数数组 * @param string $key 商户密钥 * @Return string 签名结果 */function getSign($params, $key) {    // 1. 过滤空值和签名参数    $params = array_filter($params, function($value, $key) {        return $value !== '' && $value !== null && $key != 'sign' && $key != 'sign_type';    }, ARRAY_FILTER_USE_BOTH);        // 2. 按照参数名ASCII码从小到大排序    ksort($params);        // 3. 拼接成URL键值对    $stringA = '';    foreach ($params as $k => $v) {        $stringA .= "{$k}={$v}&";    }    $stringA = rtrim($stringA, '&');        // 4. 拼接商户密钥并进行MD5加密    $stringSignTemp = $stringA . $key;    return md5($stringSignTemp);}// 使用示例$params = [    'pid' => '1000',                    // 商户ID    'type' => 'alipay',                 // 支fu方式    'out_trade_no' => '20240101123456', // 商户订单号    'notify_url' => 'http://www.example.com/notify_url.php', // 异步通知地址    'return_url' => 'http://www.example.com/return_url.php', // 跳转通知地址    'name' => '测试商品',               // 商品名称    'money' => '100.00',                // 金额];// 商户密钥$key = 'your_key_here';// 生成签名$sign = getSign($params, $key);$params['sign'] = $sign;$params['sign_type'] = 'MD5';// 现在可以使用 $params 进行支fu请求了
大佬们,怎么转易语言,搞了半天没搞懂


最佳答案

查看完整内容

.版本 2 .支持库 spec .支持库 dp1 .局部变量 参数, 文本型 .局部变量 拼接文本, 文本型 .局部变量 sign, 文本型 .局部变量 res, 字节集 ' money=100.00&name=测试商品¬ify_url=http://www.example.com/notify_url.php&out_trade_no=20250101123456&pid=10790&return_url=http://www.example.com/return_url.php&type=alipayWBDVsC3rUDM4SrruqPeZ ' 24c0ddf615999373f297a029af647860 参数 = “money=100.00&name=测 ...

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:100% (5/5)

签到天数: 1 天

沙发
发表于 3 天前 | 只看该作者   四川省南充市
awa123awa 发表于 2025-7-3 20:37
.版本 2
.支持库 dp1
.支持库 spec

.版本 2
.支持库 spec
.支持库 dp1

.局部变量 参数, 文本型
.局部变量 拼接文本, 文本型
.局部变量 sign, 文本型
.局部变量 res, 字节集


' money=100.00&name=测试商品&notify_url=http://www.example.com/notify_url.php&out_trade_no=20250101123456&pid=10790&return_url=http://www.example.com/return_url.php&type=alipayWBDVsC3rUDM4SrruqPeZ

' 24c0ddf615999373f297a029af647860



参数 = “money=100.00&name=测试商品&notify_url=http://www.example.com/notify_url.php&out_trade_no=20250101123456&pid=10790&return_url=http://www.example.com/return_url.php&type=alipay”
拼接文本 = 参数 + “WBDVsC3rUDM4SrruqPeZ”
调试输出 (拼接文本)

sign = 取数据摘要 (编码_Ansi到Utf8 (拼接文本))

调试输出 (sign)

res = 网页_访问_对象 (“https://www.mazfu.com//xpay/epay/mapi.php?” + 参数 + “&sign=” + sign, , , , , , , , , , , , , , , , , , )
调试输出 (编码_Utf8到Ansi (res))
返回 (0)  ' 可以根据您的需要返回任意数值


补充内容 (2025-7-3 20:49):
被加密的字符串有中文导致md5不符合预期,用精易模块的编码_Utf8到Ansi解决
回复

使用道具 举报

结帖率:100% (5/5)

签到天数: 1 天

板凳
发表于 3 天前 | 只看该作者   四川省南充市
拼接文本="money=100.00&name=测试商品&notify_url=http://www.example.com/notify_url.php&out_trade_no=20240101123456&pid=1000&return_url=http://www.example.com/return_url.php&type=alipayyour_key_here"

sign=md5(拼接文本)

拼接文本的各个参数你对照文档
回复

使用道具 举报

结帖率:66% (35/53)

签到天数: 6 天

地板
 楼主| 发表于 3 天前 | 只看该作者   河南省商丘市
虚拟易友 发表于 2025-7-3 20:14
拼接文本="money=100.00&name=测试商品&notify_url=http://www.example.com/notify_url.php&out_trade_no=2 ...

看不懂啊
回复

使用道具 举报

结帖率:100% (5/5)

签到天数: 1 天

地下
发表于 3 天前 | 只看该作者   四川省南充市

就是把参数按照a-z重新排列后用md5加密

补充内容 (2025-7-3 20:27):
在排列后的参数尾巴上补上key才加密的
回复

使用道具 举报

结帖率:66% (35/53)

签到天数: 6 天

6
 楼主| 发表于 3 天前 | 只看该作者   河南省商丘市
虚拟易友 发表于 2025-7-3 20:14
拼接文本="money=100.00&name=测试商品&notify_url=http://www.example.com/notify_url.php&out_trade_no=2 ...

自己尝试了一下,还是{"code":0,"msg":"签名错误","trade_no":""}
回复

使用道具 举报

结帖率:66% (35/53)

签到天数: 6 天

7
 楼主| 发表于 3 天前 | 只看该作者   河南省商丘市
虚拟易友 发表于 2025-7-3 20:27
就是把参数按照a-z重新排列后用md5加密

补充内容 (2025-7-3 20:27):

.版本 2
.支持库 dp1
.支持库 spec

拼接文本 = “money=100&name=测试商品&notify_url=http://www.pay.com/notify_url.php&out_trade_no=20240101123456&pid=10790&return_url=http://www.pay.com/return_url.php&type=wxpayWBDVsC3rUDM4SrruqPeZ”

sign = 取数据摘要 (到字节集 (拼接文本))
调试输出 (sign)
   

https://www.mazfu.com//xpay/epay/mapi.php?pid=10790&type=wxpay&out_trade_no=20240101123456&name=%E6%B5%8B%E8%AF%95%E5%95%86%E5%93%81&money=100&sign=9792397a5bdd2348ec80bad72cdba7a8
回复

使用道具 举报

结帖率:66% (35/53)

签到天数: 6 天

8
 楼主| 发表于 3 天前 | 只看该作者   河南省商丘市
虚拟易友 发表于 2025-7-3 20:48
.版本 2
.支持库 spec
.支持库 dp1

wc,NB,谢谢哥
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表