1***@qq.com
1***@qq.com
  • 发布:2019-06-12 11:32
  • 更新:2019-08-02 14:44
  • 阅读:826

关于支付 有几个问题想请教

分类:HTML5+

发起支付请求方法:
plus.payment.request(channel, statement, successCB, errorCB);

这里的 statement 文档是这样描述的:

>channel: ( PaymentChannel ) 必选 支付通道  
>指定支付操作的通道,通过getChannels接口获取。  
>statement: ( String | JSON | OrderStatementIAP ) 必选 支付订单信息  
>支付订单信息,由支付通道定义的数据格式,通常是由业务服务器生成或向支付服务器获取,是经过加密的字符串信息。  
>successCB: ( PaymentSuccessCallback ) 必选 请求支付成功回调函数  
>请求支付成功时触发,用于返回支付结果。  
>errorCB: ( PaymentErrorCallback ) 可选 请求支付失败回调函数  
>请求支付失败时触发,用于返回错误信息。

但我不知道 如何得到这个 statement 翻开 官方的例子,也没有对这个详细地描述 只是写了一个地址然后通过这个逻辑服务器返回。但返回的详细内容呢?? 也就是说 他要些什么内容 就拿支付宝来说,statement我应该返回什么东西给它?

官方代码

var channel=null;    
// 1. 获取支付通道    
function plusReady(){ //uni-app中将此function里的代码放入vue页面的onLoad生命周期中    
    // 获取支付通道    
    plus.payment.getChannels(function(channels){    
        channel=channels[0];    
    },function(e){    
        alert("获取支付通道失败:"+e.message);    
    });    
}    
document.addEventListener('plusready',plusReady,false);//uni-app不需要此代码    

var ALIPAYSERVER='http://demo.dcloud.net.cn/helloh5/payment/alipay.php?total=';    
var WXPAYSERVER='http://demo.dcloud.net.cn/helloh5/payment/wxpay.php?total=';    
// 2. 发起支付请求    
function pay(id){    
    // 从服务器请求支付订单    
    var PAYSERVER='';    
    if(id=='alipay'){    
        PAYSERVER=ALIPAYSERVER;    
    }else if(id=='wxpay'){    
        PAYSERVER=WXPAYSERVER;    
    }else{    
        plus.nativeUI.alert("不支持此支付通道!",null,"捐赠");    
        return;    
    }    
    var xhr=new XMLHttpRequest(); //uni-app中请使用uni的request api联网    
    xhr.onreadystatechange=function(){    
        switch(xhr.readyState){    
            case 4:    
            if(xhr.status==200){    
                plus.payment.request(channel,xhr.responseText,function(result){    
                    plus.nativeUI.alert("支付成功!",function(){    
                        back();    
                    });    
                },function(error){    
                    plus.nativeUI.alert("支付失败:" + error.code);    
                });    
            }else{    
                alert("获取订单信息失败!");    
            }    
            break;    
            default:    
            break;    
        }    
    }    
    xhr.open('GET',PAYSERVER);    
    xhr.send();    
}  

void plus.payment.request(channel, statement, successCB, errorCB);

2019-06-12 11:32 负责人:无 分享
已邀请:
f***@ecvinternational.com

f***@ecvinternational.com

statement 是支付订单数据 如(支付宝)我们的后台系统(最好一边看支付宝开发文档一遍坐)调用支付宝的统一下单接口,得到支付宝返回给我的下单数据 这就是我们要返回给前台的参数 statement

该问题目前已经被锁定, 无法添加新回复