钉钉对接支付

在对接项目时候

有个钉钉支付需求:在这里也是查了很多文档

其实小程序引入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。

详情可查看 电脑网站支付产品

APP 支付

必传不同点:method=alipay.trade.app.pay,product_code=QUICK_MSECURITY_PAY。

详情可以看看这个

小程序文档 - 支付宝文档中心

 支付宝沙箱

 小程序文档 - 支付宝文档中心

最后就是实际的业务需求

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值