html发起微信或支付宝支付,vue实现-微信网页中唤起支付宝支付

微信浏览器内是无法唤起支付宝的,会提示在浏览器打开,类似下面

9e8dba48b628?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=weixin

image.png

所以在微信公众号的支付宝支付最终是通过手机浏览器唤起的支付宝支付,按照手机网站的支付方式即可。

官方也有demo,官方demo的用户提示相对来说更好一些,可以参照一下

微信公众平台无法使用支付宝收付款的解决方案

9e8dba48b628?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=weixin

image.png

用vue的要注意ap.js中需要修改

9e8dba48b628?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=weixin

image.png

此处不用路由跳转的原因是因为在ios手机中,路由跳转后的页面,复制出来的链接并不是本路由的实际url

我的实现:

//util.js,需引入ap.js : import ap from './ap'

//网页唤起支付宝支付

function alipay_H5(data){

const div = document.createElement('div');

div.innerHTML = (data);

document.body.appendChild(div);

//document.forms.alipaysubmit.submit();

var queryParam = '';

Array.prototype.slice.call(document.querySelectorAll("input[type=hidden]")).forEach(function (ele) {

queryParam += '&' + ele.name + "=" + encodeURIComponent(ele.value);

});

var gotoUrl = document.querySelector("#alipaysubmit").getAttribute('action') + queryParam;

_AP.pay(gotoUrl);

}

微信网页和手机浏览器都可通过该方式

_AP.pay(gotoUrl);

调用的是

9e8dba48b628?utm_campaign=haruki&utm_content=note&utm_medium=reader_share&utm_source=weixin

image.png

在pay方法里跳转到demo里的pay.html页面,

pay.html里会判断当前若是微信浏览器,则提示用户用手机浏览器打开,

若是手机浏览器,会直接再进行一次跳转,跳到支付宝支付界面

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值