B端项目使用的是支付宝手机网页支付,微信浏览器中屏蔽了支付宝的功能。上有政策下有对策,支付宝也有应对的办法,下来就来说一说支付宝手机网站支付。
第一步:开发准备工作
登录支付宝平台(需要实名认证的支付宝账号),根据实际情况创建应用。
选择自用型应用,添加应用功能。
配置应用环境
支付宝中使用的是RSA2非对称密钥结构。
第二步:快速接入
下载服务端SDK(software Development Kit),包含了java、php、.net三个语言版本,封装了签名验签、http请求等功能。但是我们的项目中没有使用sdk,一般情况下sdk是用在原生的安卓和ios项目中,但是我们的项目使用的是混合式开发。
准备工作:支付宝给出了在微信浏览器中支付的解决方法,而且官网中有demo。
我下载了demo,其中有两个比较重要的文件,一个是ap.js,另一个是pay.htm(支付宝在微信浏览器中的引导页,会引导用户在浏览器中访问此链接),支付页面和pay.htm页面必须引入ap.js文件。
大概思路是前台点击支付宝支付,然后调起后台的拼装支付参数的方法,返回一个拼装好的url,将这个url在前台赋值给一个a标签,我写了一个自定义事件,为了触发a标签前去访问拼装好的链接。
注意:ap.js中有个地址要修改下。
修改为本地的路径。前台代码就是这些就可以调起支付宝了。
后台代码:
/**
* 后台组装好请求数据,前台以form表单的形式向支付宝手机网页
* 支付接口发起请求
* @param saleMoney
* @param orderNumber
* @param orderTitle
* @param description
*/