支付宝 Wap 支付的两种实现方式

2021-08-30 20:19:00

简介

适用于商家在移动端网页应用中集成支付宝支付功能。商家在网页中调用支付宝提供的网页支付接口调起支付宝客户端内的支付模块,商家网页会跳转到支付宝中完成支付,支付完后跳回到商家网页内,最后展示支付结果。若无法唤起支付宝客户端,则在一定的时间后会自动进入网页支付流程。

Wap支付

这里我们直接使用支付宝原生Wap支付能力,上一段伪代码:

/**

* 发起API调用

* 初始化基础参数

* 产品名称、订单号、产品价格、前台回调、后台回调

*/

AlipayTradeWapPayResponse response = AliFactory.Payment

.Wap(cpPayUtils.getAliContent(config))

.pay(product.getBody, orderNo, product.getTotalFee,config.getReturnUrl,config.getNotifyUrl);

if(ResponseChecker.success(response)) {

returnResult.ok(response);

} else{

returnResult.error(response.getBody);

}

如果调用成功,支付宝生成并返回交易表单,需要开发者自行渲染后自动跳转支付宝网站引导用户完成支付。

//创建一个标签,并把返回的表单放入其中,然后提交表单接口

vardiv = document.( 'divForm');

div.innerHTML = result.msg.body;

document.body.(div);

document.forms[ 0].acceptCharset = 'UTF-8';

document.forms[ 0].submit;

提交成功以后,会拉起支付宝 APP 进入支付界面。

Native支付

昨天跟朋友聊 Wap 支付的问题,发现他并没有用返回表单提交的方式,原来是使用了官方推荐的手机网站支付转 Native 支付。

手机网站支付的网络依赖比较严重,也通常需要经过更多的验证,这种种原因导致手机网站支付的成功率比 Native 支付低,对商户的利益造成影响。

/**

* 发起API调用

* 其实就是当面付

* 参数:商品名称、订单号、订单金额

*/

AlipayTradePrecreateResponse response = AliFactory.Payment

.FaceToFace(cpPayUtils.getAliContent(config))

.asyncNotify(config.getNotifyUrl)

.preCreate(product.getBody, orderNo, product.getTotalFee);

if(ResponseChecker.success(response)) {

/**

* 直接返回二维码信息

*/

returnResult.ok(response.getQrCode);

} else{

returnResult.error(response.msg);

}

前台拿到后台返回的信息,直接在浏览器重定向即可唤醒支付宝APP。

海外银行卡充值支付宝 海外怎么充值支付宝 支付宝美元充值

小结

总的来说,后者比前者的确要高效很多,毕竟前者要提交不少表单数据,而后者只需要重定向地址就可以了。但是,目前小编还没有发现 Native 支付前台回调的参数,有了解的小伙伴可以分享一下。

演示

上一篇:

下一篇:

关于我们

万全新媒体是领先的新闻资讯平台,汇集美食文化、体育健康、房产家居、国际资讯、生活百科、热点新闻、等多方面权威信息

版权信息

万全新媒体版权所有,未经允许不可复制本站镜像,本站文章来源于网络,如有侵权请邮件举报!