易语言对接易支付相关流程

易语言对接易支付

生成跳转支付链接进行支付

  1. sign计算相关
    .版本 2
    .支持库 dp1
    
    .子程序 sign计算, 文本型
    .参数 param, 文本型, 数组
    .参数 key, 文本型
    .局部变量 signpars, 文本型
    .局部变量 分割, 文本型, , "0"
    .局部变量 x, 整数型
    .局部变量 k, 文本型
    .局部变量 v, 文本型
    .局部变量 sign, 文本型
    
    数组_排序 (param, 0, )
    .计次循环首 (取数组成员数 (param), x)
        k = 文本_取左边 (param [x], “=”, , )
        v = 文本_取右边 (param [x], “=”, , )
        .如果真 (k ≠ “sign” 且 v ≠ “”)
            .如果 (x = 取数组成员数 (param))
                signpars = signpars + k + “=” + v
            .否则
                signpars = signpars + k + “=” + v + “&”
            .如果结束
    
        .如果真结束
    
    .计次循环尾 ()
    signpars = signpars + key
    sign = 取数据摘要 (到字节集 (signpars))
    返回 (sign)
  2. 支付跳转链接生成(页面跳转支付submit.php接口)
    .版本 2
    
    .子程序 _submit下单_被单击
    .局部变量 api地址, 文本型
    .局部变量 支付方式, 文本型, , , alipay:支付宝,wxpay:微信支付,qqpay:QQ钱包
    .局部变量 商户订单号, 文本型
    .局部变量 异步通知地址, 文本型
    .局部变量 页面跳转地址, 文本型
    .局部变量 商品名称, 文本型
    .局部变量 金额, 文本型
    .局部变量 网站名称, 文本型
    .局部变量 sign, 文本型
    .局部变量 sign_type, 文本型
    .局部变量 参数数组, 文本型, , "8"
    .局部变量 商户ID, 文本型
    .局部变量 支付跳转链接, 文本型
    .局部变量 密匙, 文本型
    
    api地址 = 编辑框_url.内容
    商户ID = 编辑框_商户ID.内容
    密匙 = 编辑框_商户密匙.内容
    
    .判断开始 (单选框_微信.选中)
        支付方式 = “wxpay”
    .判断 (单选框_支付宝.选中)
        支付方式 = “alipay”
    .判断 (单选框_QQ.选中)
        支付方式 = “qqpay”
    .默认
    
    .判断结束
    置随机数种子 ()
    商户订单号 = 到文本 (取随机数 (10, 99)) + 时间_取北京时间戳 () + 到文本 (取随机数 (10, 99))
    编辑框_商户订单号.内容 = 商户订单号
    异步通知地址 = 编辑框_异步通知地址.内容
    页面跳转地址 = 编辑框_页面跳转地址.内容
    商品名称 = 编辑框_商品名称.内容
    金额 = 编辑框_金额.内容
    网站名称 = 编辑框_网站名称.内容
    sign_type = “MD5”
    
    参数数组 [1] = “pid=” + 商户ID
    参数数组 [2] = “type=” + 支付方式
    参数数组 [3] = “out_trade_no=” + 商户订单号
    参数数组 [4] = “notify_url=” + 异步通知地址
    参数数组 [5] = “return_url=” + 页面跳转地址
    参数数组 [6] = “name=” + 商品名称
    参数数组 [7] = “money=” + 金额
    参数数组 [8] = “sitename=” + 网站名称
    
    sign = sign计算 (参数数组, 密匙)
    
    支付跳转链接 = api地址 + “submit.php?” + 参数数组 [1] + “&” + 参数数组 [2] + “&” + 参数数组 [3] + “&” + 参数数组 [4] + “&” + 参数数组 [5] + “&” + 参数数组 [6] + “&” + 参数数组 [7] + “&” + 参数数组 [8] + “&sign=” + sign + “&sign_type=” + sign_type
  3. 最后访问支付跳转链接跳转进行扫码支付即可

处理支付成功操作

  1. 手动利用查询单个订单(api.php?act=order)接口进行查询
    .版本 2
    .支持库 spec
    
    .子程序 _查单_被单击
    .局部变量 提交信息, 文本型
    .局部变量 json, 类_json
    .局部变量 返回, 文本型
    .局部变量 code, 文本型
    .局部变量 返回文本, 文本型
    .局部变量 返回商户订单号, 文本型
    .局部变量 支付方式, 文本型
    .局部变量 返回订单号, 文本型
    .局部变量 商户ID, 文本型
    .局部变量 创建订单时间, 文本型
    .局部变量 完成交易时间, 文本型
    .局部变量 商品名称, 文本型
    .局部变量 商品金额, 文本型
    .局部变量 支付状态, 文本型
    
    
    提交信息 = “act=order&pid=” + 编辑框_商户ID.内容 + “&key=” + 编辑框_商户密匙.内容 + “&out_trade_no=” + 编辑框_商户订单号.内容
    返回 = UTF8到文本 (到字节集 (网页_访问S (编辑框_url.内容 + “api.php?” + 提交信息, , , , , , , , , , , , , , , , , , , , )))
    
    调试输出 (返回)
    
    json.解析 (返回, )
    code = json.取通用属性 (“code”, )
    调试输出 (“code:” + code)
    返回文本 = json.取通用属性 (“msg”, )
    调试输出 (“msg:” + 返回文本)
    返回订单号 = json.取通用属性 (“trade_no”, )
    调试输出 (“trade_no:” + 返回订单号)
    返回商户订单号 = json.取通用属性 (“out_trade_no”, )
    调试输出 (“out_trade_no:” + 返回商户订单号)
    支付方式 = json.取通用属性 (“type”, )
    调试输出 (“type:” + 支付方式)
    商户ID = json.取通用属性 (“pid”, )
    调试输出 (“pid:” + 商户ID)
    创建订单时间 = json.取通用属性 (“addtime”, )
    调试输出 (“addtime:” + 创建订单时间)
    完成交易时间 = json.取通用属性 (“endtime”, )
    调试输出 (“endtime:” + 完成交易时间)
    商品名称 = json.取通用属性 (“name”, )
    调试输出 (“name:” + 商品名称)
    商品金额 = json.取通用属性 (“money”, )
    调试输出 (“money:” + 商品金额)
    支付状态 = json.取通用属性 (“status”, )
    调试输出 (“status:” + 支付状态)
    json.清除 ()
  2. 或者自行进行异步通知处理(notify_url)和跳转通知处理(return_url)

1

2

Demo下载地址:https://lonely-ly.lanzouq.com/iPbTI07rkcqd
密码:

© 版权声明
THE END
喜欢就支持一下吧
点赞14赞赏 分享
评论 共4条

请登录后发表评论