帖子
帖子
用户
博客
课程
显示全部楼层
28
帖子
0
勋章
130
Y币

[插件开发] 银联支付相关

[复制链接]
发表于 2016-3-11 10:56:22
本帖最后由 梓梓梓梓 于 2016-3-11 10:58 编辑

刚做完银联支付模块,写个总结给大家参考参考
银联支付在APICloud里面很简单。几行代码就搞定了,如下
var unPay = api.require('unionPay');
    api.ajax({
        url: 'http://192.168.2.200:2888/UnPay/UnPay',//从银联测试服务器上获取tn号  这个是银联支付服务端地址,银联的服务端需要自己写,从网上下个样例改改,具体内容稍后说
        method: 'post',
        dataType: 'json',
        returnAll:false,
        data:{
            values: {OrderID: orderCode,Amount:totalMoney}//提交商户后台生成的订单ID 银联支付服务端获取TN号需要改动的只有4个地方,商户号是固定的,直接写死在服务端,时间服务端直接获取datetime。now,是yyyyMMddhhmmss格式的,然后就是这两个参数,金额和订单号。订单号有长度限制,刚开始传了个4位短ID过去报错,改成订单长单号成功。
        }
    },function(ret,err){
        if (ret.Msg) {//这我MSG是返回的是否成功获取TN号。这块是服务端跟银联交互的结果。
            unPay.pay({
                tn: ret.tn,//成功后传回tn号这里用
                devMode: false//这个是是否测试。ture表示测试工程,false是正式上线工程
            }, function(ret, err){
               api.alert({msg:JSON.stringify(ret)});//成功失败的错误码
            });
        }
    });

这就是APICloud中的代码
下面说下服务端的。具体怎么写参考银联给的样例
服务端的金额是以分为单位的。不能带有小数点。
然后基本配置就是在服务端的config中
正式版这几个参数如下配置,是共用的
<!-- 前台交易地址 -->
    <add key="sdk.frontTransUrl" value="https://gateway**.**/gateway/api/frontTransReq.do"/>
    <!-- 后台交易地址 -->
    <add key="sdk.backTransUrl" value="https://gateway**.**/gateway/api/backTransReq.do"/>
    <!-- 交易状态查询地址 -->
    <add key="sdk.singleQueryUrl" value="https://gateway**.**/gateway/api/queryTrans.do"/>
    <!-- 文件传输类交易地址 -->
    <add key="sdk.fileTransUrl" value="https://filedownload**.**/"/>
    <!-- 批量交易地址 -->
    <add key="sdk.batTransUrl" value="https://gateway**.**/gateway/api/batchTrans.do"/>
    <!-- 有卡交易地址 -->
    <add key="sdk.cardRequestUrl" value="https://gateway**.**/gateway/api/cardTransReq.do"/>
    <!-- app交易地址 手机控件支付使用该地址-->
    <add key="sdk.appRequestUrl" value="https://gateway**.**/gateway/api/appTransReq.do"/>

然后修改自己的前台后台通知地址。
放上签约后给的证书,写上绝对路径,发布出去就应该可以获取tn了。。注意证书要跟密码对上号


放个服务端的官网样例
最后的最后。。除了参数错误大部分都是测试跟正式的混淆。注意这点。
还有81XXXXX 92XXXXX什么的报错去银联官网的技术服务搜索。百度搜不到


后台开发包.zip 下载附件
2016-3-11 10:55上传5.67 MB下载次数: 831
28
帖子
0
勋章
5162
Y币
太喜欢了
3
帖子
0
勋章
17
Y币
   values: {OrderID: orderCode,Amount:totalMoney}这个参数在服务器端怎样接收,我在后台接收后,App跳转到银联,直接终止
3
帖子
0
勋章
17
Y币
解决了
25
帖子
0
勋章
142
Y币
大神这个怎么调用呀。
4
帖子
0
勋章
129
Y币
赞!!!!!!怒赞!!!!!!
10
帖子
0
勋章
53
Y币
您好,我已经获取到tn了,在回调函数里面调用apicloud提示网络连接错误,是测试环境的,请问这个您遇到过不?
5
帖子
0
勋章
23
Y币
你好问一下C:\Users\Administrator\Desktop\app证书\1586856291(1).png支付银联应该选择的是哪个渠道啊?
您需要登录后才可以回帖 登录

本版积分规则