写作背景。 uniapp作为国内一个跨平台开发的解决方案。在国内使用当然则得心应手。但是本人在做一个纽约那年的app公司采取了通过第三方对接微信和支付白支付。 具体能不能直接实现境外支付暂时有待探索。记录一下过程希望能帮到需要的人。 由于是一年前的项目。 故有些地方可能会出错。 希望各位看官指出来。 我来修改。 谢谢
第一步:需要开通支付宝和微信支付的权限。 对应地址。 支付宝开通地址 https://auth.alipay.com/login/index.htm 微信地址。https://pay.weixin.qq.com/index.php/core/home/login?return_url=%2F 至于微信在ios13上线之后对支付校验做了处理。故要求的选项要填上
第二步: 如何将微信和支付宝介入uniapp. 我这里提供两种解决方式。 一种是通过集成原生插件即成。 这种方式只需要要求你按照文档即成就好。 原生插件有第三方平台或原生开发提供。 参考地址。 https://ask.dcloud.net.cn/article/35414。https://ask.dcloud.net.cn/article/35416。 对于大多数而言没必要采取即成原生插件,另一种方法就是通过接口读取第三方平台的支付信息。 然后将支付信息传递给uniapp提供的函数
/**
* 移动支付
**/
_mobile_payment:function({payType,orderInfo}){
uni.getProvider({
service:'payment',// 获取原生支付配置列表
success:(result) => {
if (~ result.provider.indexOf('wxpay') && ~ result.provider.indexOf('alipay') ){
uni.requestPayment({
provider: payType,
orderInfo: orderInfo, //微信、支付宝订单数据
success: function (res) {
},
fail: function (err) {
}
});
}
},
fail:() => {
}
})
},
说明 微信和支付宝的支付信息有所不同。 需要在提前处理。 以上只是关键代码。细节需要完善。
第三步。测试。这一步要自定义基座下进行。 在打包自定义基座之前为了能通过校验我们还需要准备最后一步。 在manifest.json找到ios选项。 配置p12 密钥以及其他附加选项。 关于ios的p12文件的密钥可以去苹果开发者中心拿的到。 安卓找到android 配置keystore,关于安卓的keystore稍微麻烦点。我们需要借助java sdk提供的keytool 工具读取。