赞
踩
在对接项目时候
有个钉钉支付需求:在这里也是查了很多文档
其实小程序引入sdk包后里面是封装好了支付方式,
小程序直接调用方法:
这里的token是后端加了权限验证拦截器
- topay(){
- let _this = this;
- console.log("11111",)
- let params = {
- totalAmount: 1,
- subject: '积分',
- body: '购物积分'
- }
- const userToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJjcmVhdGVfdGltZSI6MTcwMjg3ODU4NCwicGFzc3dvcmQiOiJtYXBsZSIsInVzZXJpZCI6ImUwN2NmY2ZjLWEwN2QtNDBkOC04ODI4LWJmNWEyNjc5ZTM0MyIsInVzZXJuYW1lIjoibWFwbGUifQ.SAu7bNca0LC2w7pfhUJJQrdcE-QClPgf8H1GF_BkJ1A";
- uni.request({
- url: _this.$server.payBaseUrl + '/pay/orderin',
- method: 'POST',
- data: params,
- header:{"content-type":"application/x-www-form-urlencoded","Token":userToken},
- dataType: 'json',
- success: (res) => {
- let info = res.data.msg
- dd.pay({
- info:info,
- has_alipay:false,
- success: res => {
- uni.showToast({
- title:'支付成功'+res
- })
- console.log("支付结果",res)
- },
- fail: err =>{
- dd.alert({
- content:JSON.stringify(err)
- })
- }
- })
-
- },
- fail: (err) => {
- console.log("错误返回",err)
- this.$u.toast("支付失败!"+JSON.stringify(err))
- reject(err)
- }
- })
- },
uniapp安卓调用
- submitpay(){
- let _this = this;
- console.log("11111",)
- let params = {
- totalAmount: _this.fifter.money,
- subject: '积分',
- body: '购物积分'
- }
- // _this.$u.api.orderin(params).then(res => {
- // // _this.numdata = res.data;
- // console.log("返回数据",res)
- // })
- const userToken = db.get("userToken");
- uni.request({
- url: 'http://'+apiBaseUrl + '/pay/orderin',
- // url: "http://192.168.100.143:8081" + '/pay/orderin',
- method: 'POST',
- data: params,
- header:{"content-type":"application/x-www-form-urlencoded","Token":userToken},
- dataType: 'json',
- success: (res) => {
- let info = res.data.msg
- //支付
- var orderInfo = info; //从服务器获取的订单
- uni.getProvider({
- service: 'payment',
- success: function (res) {
- console.log(res.provider)
- if (~res.provider.indexOf('alipay')) {
- uni.requestPayment({
- "provider": "alipay", //固定值为"alipay"
- "orderInfo": orderInfo, //此处为服务器返回的订单信息字符串
- success: function (res) {
- var rawdata = JSON.parse(res.rawdata);
- this.testendget = rawdata;
- console.log("支付成功");
- this.$u.toast("支付成功"+res.rawdata)
- },
- fail: function (err) {
- this.$u.toast("支付失败!"+JSON.stringify(err))
- console.log('支付失败:' + JSON.stringify(err));
- }
- });
- }
- }
- });
-
- },
- fail: (err) => {
- console.log("错误返回",err)
- this.$u.toast("支付失败!"+JSON.stringify(err))
- reject(err)
- }
- })
- },
这个需要后端接口,这里我后端接口是用go语言写的,返回的字符串拼接数据,这里最重要的一个点就是
手机网站和电脑网站,以及小程序app支付的区别,
必传不同点:method=alipay.trade.wap.pay,product_code=QUICK_WAP_WAY。
详情可查看 手机网站支付产品。
必传不同点:method=alipay.trade.page.pay,product_code=FAST_INSTANT_TRADE_PAY。
详情可查看 电脑网站支付产品。
必传不同点:method=alipay.trade.app.pay,product_code=QUICK_MSECURITY_PAY。
详情可以看看这个
最后就是实际的业务需求
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。