发起支付请求方法:
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);
 
             
             
             
			 
                                        
                                     
            
1 个回复
f***@ecvinternational.com
statement 是支付订单数据 如(支付宝)我们的后台系统(最好一边看支付宝开发文档一遍坐)调用支付宝的统一下单接口,得到支付宝返回给我的下单数据 这就是我们要返回给前台的参数 statement