Foxtable(狐表)用户栏目专家坐堂 → 微信支付测试例子有个不理解的~


  共有2321人关注过本帖树形打印复制链接

主题:微信支付测试例子有个不理解的~

帅哥哟,离线,有人找我吗?
fubblyc
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
微信支付测试例子有个不理解的~  发帖心情 Post By:2019/3/15 14:35:00 [只看该作者]


If result.GetValue("return_code") = "SUCCESS" AndAlso result.GetValue("result_code") = "SUCCESS" Then
    If dr Is Nothing Then
        dr = DataTables(tn).Find("out_trade_no='" & result.GetValue("out_trade_no") & "'")
    End If
    If dr Is Nothing Then
        Functions.Execute("logtext","无此业务订单,out_trade_no= " & result.GetValue("out_trade_no") )
        Return False
    End If
    dr("trade_state") = result.GetValue("trade_state")

为什么是两个 if dr is nothing then  ,是不是可以合并在一起。



图片点击可在新窗口打开查看此主题相关图片如下:23.png
图片点击可在新窗口打开查看


[此贴子已经被作者于2019/3/15 14:37:03编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2019/3/15 14:45:00 [只看该作者]

 

不可以合并,每一步的判断都是必要的。

 

执行到这里的时候,dr有可能已经有值了

 

dr = DataTables(tn).Find("out_trade_no='" & result.GetValue("out_trade_no") & "'")


 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2019/3/15 14:48:00 [只看该作者]

哦哦,明白了,谢谢甜老师!

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2019/3/15 14:52:00 [只看该作者]

老师,测试的例子,是没有订单明细,直接就是商品的支付情况。


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190315145028.png
图片点击可在新窗口打开查看




我设计的是商品一个表,订单明细一个表。

设计是 顾客付款后,查询订单是否支付成功。

问题是,在查询的页面,不知道怎么取 当前订单的 商户号,我是取最后一个订单。

如果是2个人同时在购买,就会造成错乱。

有什么办法可以解决吗?


图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190315145054.png
图片点击可在新窗口打开查看


[此贴子已经被作者于2019/3/15 14:52:51编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2019/3/15 14:54:00 [只看该作者]

'公众号内支付获取H5调起JS API参数
Dim e As RequestEventArgs = args(0)
Dim product_id As String = e.PlainText
Dim wb As New WeUI

Dim dr1 As DataRow = DataTables("公众号支付订单").Find("product_id='" & product_id & "'","out_trade_no Desc") '查询是否存在此业务订单
If dr1 IsNot Nothing Then
    If Functions.Execute("api_QueryOrder",dr1("out_trade_no"),0) = True Then
        e.WriteString( "OK")
    Else
        e.WriteString( "NO")
    End If
Else
    e.WriteString("错误:不存在此业务订单号【" & product_id & "】,无法发起支付!")
End If

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2019/3/15 15:10:00 [只看该作者]

我的js 是这样;
function jsApiCall() {

    var result = sendAjaxText(document.getElementById("订单编号").value, "getWxJsApiParam.htm", "", false); //通过订单编号从服务器获取JS接口需要的参数
//alert(document.getElementById("订单编号").value)
    if (result == ""){
        showDialog('dlg1', '错误', "业务后台出错-1!");
        return;
    }
    if (result.substring(0, 2) == "错误") {
        showDialog('dlg1', '错误', result);
        return;
    }
    var wxJsApiParam = JSON.parse(result);
    WeixinJSBridge.invoke(
        'getBrandWCPayRequest',
        wxJsApiParam, //josn串
        function (res) {
            WeixinJSBridge.log(res.err_msg);

    var result2 = sendAjaxText(document.getElementById("订单编号").value, "QueryOrder.htm", "", false); 
    if (result2 == "") {
        showDialog('dlg1', '错误', "业务后台出错-2!");
        return;
    }

    if (result2.indexOf("OK") != -1) {     

      window.location.href="youhuiquanliebiao.htm";
    } 

    if (result2 == "NO") {
        showDialog('dlg1', '温馨提示', "支付未完成哦!");
        return;
    }

         //   document.getElementById("txt").value = JSON.stringify(res);
         //   alert(res.err_code + res.err_desc + res.err_msg);//接口调用后的返回处理,可以在网页显示成功是否。注意这里返回的成功并不能代码真正的成功,需要查询订单进行确认


        }
    );
}

 回到顶部
帅哥,在线噢!
有点蓝
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107730 积分:547983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/15 15:37:00 [只看该作者]

根据订单编号来查呀,不要说每一笔订单的编号都是一样的吧

 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2019/3/15 15:41:00 [只看该作者]

document.getElementById("订单编号").value

这里所谓的 订单编号 其实是商品编号,商品编号是一样的。


我也想获取微信支付产生的订单编号,就是不知道怎么取到,才用本商品的最后一行的订单编号。

 回到顶部
帅哥,在线噢!
有点蓝
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:107730 积分:547983 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/3/15 15:43:00 [只看该作者]

每一笔支付生成一个唯一编号,然后改为使用编号,不要使用商品编号


 回到顶部
帅哥哟,离线,有人找我吗?
fubblyc
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:九尾狐 帖子:2355 积分:16187 威望:0 精华:0 注册:2013/9/1 8:09:00
  发帖心情 Post By:2019/3/15 15:43:00 [只看该作者]

蓝老师,你看,测试的例子,订单编号是固定的:

图片点击可在新窗口打开查看此主题相关图片如下:微信截图_20190315154407.png
图片点击可在新窗口打开查看


 回到顶部
总数 13 1 2 下一页