简体中文
更多信息详见 申请开通Paypal操作指南
注意
在manifest.json文件“App模块配置”项的“Payment(支付)”下,勾选“paypal支付”项并配置相关参数
参数说明
提示:returnURL_android 和 returnURL_ios 可以相同,不相同时需要paypal开发者中心添加多个return URL
在 App 端调用支付前,需在业务服务器生成支付订单并获取orderId
,详情可参考paypal官方文档:Create Order
paypal
、orderInfo属性值为订单对象Object对象类型
属性 | 类型 | 必填 | 说明 |
---|---|---|---|
clientId | String | 是 | 客户端id,在paypal开发者中心创建应用时可获取 |
currency | String | 否 | 币种,必须大写,取值参考paypal官方文档Currency Codes |
environment | String | 是 | 运行环境,可取值sandbox/live,sandbox表示沙盒环境(用于开发测试),live表示线上环境(正式发布) |
orderId | String | 是 | 订单id,服务器生成支付订单时可获取 |
userAction | String | 否 | 按钮样式,可取值paynow/continue |
//订单对象,从服务器获取
var orderInfo = {
"clientId": "clientId from paypal", //客户端id
"orderId": "orderId from server", //订单id
"userAction": "continue", // paynow/continue
"currency":"USD", // 币种
"environment":"sandbox", //运行环境 sandbox/live
};
uni.getProvider({
service: 'payment',
success: function (res) {
console.log(res.provider)
if (~res.provider.indexOf('paypal')) {
uni.requestPayment({
"provider": "paypal",
"orderInfo": orderInfo,
success: function (res) {
var rawdata = JSON.parse(res.rawdata);
console.log("orderId:" + rawdata.orderId);
},
fail: function (err) {
console.log('fail:' + JSON.stringify(err));
}
});
}
}
});
//订单对象,从服务器获取
var orderInfo = {
"clientId": "clientId from paypal", //客户端id
"orderId": "orderId from server", //订单id
"userAction":"continue", // paynow/continue
"currency":"USD", // 币种
"environment":"sandbox", //运行环境 sandbox/live
};
//获取支付渠道
var paypalSev = null;
plus.payment.getChannels(function(channels){
for (var i in channels) {
var channel = channels[i];
if (channel.id === 'paypal') {
paypalSev = channel;
}
}
//发起支付
plus.payment.request(paypalSev, orderInfo, function(result) {
var rawdata = JSON.parse(result.rawdata);
console.log("支付成功");
}, function(e) {
console.log("支付失败:" + JSON.stringify(e));
});
}, function(e){
console.log("获取支付渠道失败:" + JSON.stringify(e));
});
在App端发起支付完成后,返回订单id,并没有完成支付操作,需要在服务器授权或捕获订单完成扣款。