支付宝小程序支付实现指南:获取权限与绑定账号详解

2024-08-04
来源:网络整理

在上一章讲解了如何获取用户信息授权之后,接下来就是进行小程序支付。

本期就来介绍如何实现支付宝小程序支付。

PS:访问前准备请参考:访问准备;访问指南请参考:访问指南~

获取小程序支付权限

获取权限分为三个步骤:开户支付、绑定小程序账号、绑定小程序产品。

开户及付款

签订合同需要支付实体账户,账户必须是企业或者个体工商户。

您可以通过签约快车直接开通

与小程序账号绑定

激活成功后,进入小程序管理页面关联小程序,将开发的小程序与账号进行关联。

⚠ 注意:请绑定你开发的小程序,若不绑定,后续将无法支付成功。

小程序绑定产品

在小程序详情界面,进入【产品绑定】,绑定支付产品。

操作请参考[如何在应用中实现产品绑定]:

签字过程中可能遇到的问题也罗列在这里,供大家参考:

Tips:如果你的账号不满足要求,也可以在沙盒环境中进行测试,可以参考我之前写的这篇文章~

支付宝沙盒超详细教程+避雷经验,看完这篇文章就懂

付款呼叫总体流程

获取到权限之后我们就可以进行接口调用了,主要步骤如下:

步骤1:获取用户的授权信息

目的:此步骤是获取用户的()

注:都可以,新旧账号获取到的信息可能会不一样,我的旧账号获取到的,新账号获取到的,具体以自己账号实际情况为准~

对此内容感兴趣的朋友也可以看看[和的区别]

方式一:通过用户授权获取(用户端弹窗)

大家可以参考我之前写的获取用户信息的步骤,下面简单总结一下:

方式二:通过静默授权获取(用户侧无弹窗)

支付宝的开发_支付宝小程序自己能够开发吗_支付宝小程序开发者工具怎么用

静默授权和用户授权都是使用my.方法,但是参数不一样,获取的信息唯一就是uid(),调用步骤为:

代码示例

Page({ getAuthCode() { my.getAuthCode({ scopes: 'auth_base',//静默授权 success: res => { const authCode = res.authCode; fail: err => { console.log('my.getAuthCode 调用失败', err) } }); } })

关于授权的问题我在上一篇文章中已经讲了很多了,这次再补充两个关于静默授权的问题:

第二步:发送订单信息到服务器

获取到用户信息之后,我们可以将订单信息和用户信息打包在一起通过my.send()发送回服务器。

//.js页面 Page({ pay(){ my.request({ url: '商家服务端地址',//须加httpRequest域白名单 method: 'POST', data: {//data里的key、value是开发者自定义的 from: '支付宝', order: 'XXXXX',//订单信息 }, dataType: 'json', success: function(res) { my.alert({content: 'success'}); }, fail: function(res) { my.alert({content: 'fail'}); }, complete: function(res) { my.hideLoading(); my.alert({content: 'complete'}); } }); } });

如果在本地测试的话,记得在IDE的[详细信息]中勾选下面两项检查,否则IDE会验证域名的合法性。

下面列举一下my.call过程中常见的一些问题:

步骤3:在服务器上创建支付订单

目的:获取(支付宝交易号)

在接收到前端发来的订单信息之后,需要将信息传入..接口进行获取。

您可以直接参考服务器代码:[..代码示例]

下面简要列出必须传递给后端的几个参数:

如果获取的值是

如果获取的值是

后端接口调用成功后可获取参数:

服务器接口错误常见问题如下:

步骤 4:调用付款

前端获取到之后,我们就可以通过my.(发起支付)方法在小程序上调出收银员了。

// .js my.tradePay({ // 传入支付宝交易号trade_no tradeNO: '201711152100110410533667792', success: (res) => { my.alert({ content: JSON.stringify(res), }); }, fail: (res) => { my.alert({ content: JSON.stringify(res), }); } });

如果你在IDE上测试,需要使用支付宝扫描二维码支付:

真机测试可直接呼叫收银员进行支付:

您还可以看看在支付过程中可能遇到的一些问题:

以上就是关于小程序支付的所有内容,希望可以帮到你★,°:.☆( ̄▽ ̄)/$:.°★。

分享