支付步骤:创建订单,向后端获取支付参数,再跳往后端指定的页面,进行支付

①支付宝支付:

页面中要有个dom盒子,用来进行支付宝支付跳转

<div id="alipay"></div>
// 支付完毕要返回的页面
const returnUrl = `${window.location.origin}/vue-vite/home?`
request({url: URLS.FAST_CREATE_TF_ORDER,params: { returnUrl,// 后端需要的创建订单的参数...},method: 'post',
}).then(res => {const div = document.getElementById('alipay')// url里面是一个form表单,里面包含支付要跳转的页面信息及支付参数div.innerHTML = res?.payUrl// 页面跳转div.getElementsByTagName('form')[0].submit()
}).catch(err => {}).finally(() => {})

②微信支付,比较复杂,分为两种情况:

情况1: H5支付,H5支付是指商户在微信客户端外的移动端网页展示商品或服务,用户在前述页面确认使用微信支付时,商户发起本服务呼起微信客户端进行支付

情况2:JSAPI支付,JSAPI支付是指商户通过调用微信支付提供的JSAPI接口,商户的支付场景是在微信内置浏览器打开调起支付完成收款。

const wxJsapiPay = obj => {const onBridgeReady = (params, cb) => {WeixinJSBridge.invoke('getBrandWCPayRequest', {appId: params.appId, // 公众号ID,由商户传入timeStamp: params.timeStamp, // 时间戳,自1970年以来的秒数nonceStr: params.nonceStr, // 随机串package: params.package,signType: params.signType, // 微信签名方式:paySign: params.paySign, // 微信签名},res => {if (res.err_msg === 'get_brand_wcpay_request:ok') {// 使用以上方式判断前端返回,微信团队郑重提示:// res.err_msg将在用户支付成功后返回ok,但并不保证它绝对可靠。cb()}},)}if (typeof WeixinJSBridge === 'undefined') {if (document.addEventListener) {document.addEventListener('WeixinJSBridgeReady', onBridgeReady, false)} else if (document.attachEvent) {document.attachEvent('WeixinJSBridgeReady', onBridgeReady)document.attachEvent('onWeixinJSBridgeReady', onBridgeReady)}} else {const { params, cb } = objonBridgeReady(params, cb)}
}
request({url: URLS.FAST_CREATE_TF_ORDER,params: {appid: 'appid',returnUrl,// 后端创建订单需要的参数...},method: 'post',
}).then(data => {if (data.tradeType === 'JSAPI') {// 情况1wxJsapiPay({params: data,cb: () => {// 查询当前订单支付信息},})} else if (data.tradeType === 'MWEB') {// 情况2非微信环境h5端支付// 设置支付成功回跳页面const redirect_url = `${window.location.origin}/vue-vite/home`const url = `${data.payUrl}&redirect_url=${redirect_url}`window.location.replace(url)}
}).catch(err => {}).finally(() => {})

js前端实现微信支付和支付宝支付相关推荐

  1. uniapp实现微信支付、支付宝支付

    前言: 本文只介绍了代码片段,如果需要支付前准备的流程可以继续浏览查找(狗头) 该方法是开发uniapp时使用的,未涉及5+APP 前端部分并不复杂,只是有些流程步骤有些杂乱,正常都是后端去和微信交互 ...

  2. 腾腾流氓,云云更流氓(问微信怎样接入支付宝支付),手贱的赶紧点,你会感谢我的...

    草原上的两匹马! 打从当年微信开始布局公众号之初时,估计就已经想到了与支付宝正面冲突的场面,所以微信先来个瞒天过海,在春晚搞了个微信红包,那叫一个火呀,此时的云云隐隐感觉到些许不安. 早期的微信开发者 ...

  3. 微信支付和支付宝支付整合(含设计模式1)

    微信支付和支付宝支付整合(含设计模式1) 1.说明: 设计模式:单例+策略模式+抽象 在开发中经常对接微信支付和支付宝支付,相对来说,阿里的文档比微信的接口文档清晰一点,这里用的第三方库(com.gi ...

  4. 苹果关于微信网页支付和支付宝支付遇到的一些问题

    苹果关于微信网页支付和支付宝支付遇到的一些问题 1.微信网页支付,支付宝网页支付(现在都是用wkwebview,就不在写关于webview的了) static const NSString *Comp ...

  5. “一码多付”,微信支付、支付宝支付

    写着写着,越写越多,思绪写不下了,回头写在前面的话.此系统属个人创业项目,历时3个月,主要实现自助按摩椅.娃娃机.自动换币器功能,主要流程就是用户扫码二维码->授权获取用户信息->弹出H5 ...

  6. 使用uniapp开发字节跳动小程序的微信支付和支付宝支付(后端PHP,tp5)

    使用uniapp开发字节跳动小程序的微信支付和支付宝支付(后端PHP,tp5) 准备工作 微信支付配置 支付宝支付配置 字节跳动配置 1,微信支付配置: 开通微信支付的h5支付,关联APPID,保存k ...

  7. 个人开发者微信支付和支付宝支付

    个人开发者是不能申请微信支付和支付宝支付的 很多第三方使用添加二维码监听转账操作来实现是否功能

  8. 个人开发者只要一行代码接入微信支付和支付宝支付

    接入支付功能   对于个人开发者来说,我们很希望我们开发的App被广泛使用,同时可以获得一些额外收入,那就更好了.但是在微信开放平台或者支付宝开放平台申请支付功能,需要是企业才可以接入,对于我们个人开 ...

  9. 微信支付及支付宝支付开发指南

    从开始学习android开始到现在还没搞过三方支付,感觉挺遗憾的.看到最近有几篇关于微信支付和支付宝支付的文章,稍微进行一下整合,供大家参考. ---------------------------- ...

  10. 关于微信支付,支付宝支付

    关于微信支付,支付宝支付 微信支付和支付宝支付属于第三方支付. 第三方支付是指具备一定实力和信誉保障的独立机构,通过与网联对接而促成交易双方进行交易的网络支付模式. 在第三方支付模式,买方选购商品后, ...

最新文章

  1. hbase hyperbase 区别_大数据之HBase的几个常规性问题
  2. 如何成为“10倍效率”开发者
  3. imx6ull EMMC和NABD 的移植注意事项,差别
  4. 【Java】Java 线程池 8 大拒绝策略
  5. 基于微信小程序的智能推荐点餐系统(附全部代码)
  6. 小程序中如何使用vantUi库
  7. HihoCoder 1838 贪心
  8. 详解经典进程同步问题(生产者消费者问题/哲学家进餐问题/读者写者问题)_OS
  9. 工具类APP如何做ASO优化推广
  10. leetcode-排列组合问题
  11. 如何用天气预警API接口进行快速开发
  12. 三菱FX系列PLC的modbusTCP以太网通讯
  13. 史上首例!程序员写的代码,被国家博物馆收藏了!
  14. 什么是Kurento
  15. 调用notify方法
  16. 赵明荣耀鸿蒙,荣耀能升级华为鸿蒙吗赵明正式表态,老用户很幸运
  17. 个人网站页面总结+源码
  18. 象形文字--中文自然语言理解的突破
  19. Trados T-Window的使用方法
  20. Binutils简单介绍

热门文章

  1. MSRN(多尺度超分辨率重建)
  2. 20180823-cve
  3. Mysql删除数据什么情况下会释放空间
  4. C#学习之 调用 AForge.NET Framework 启动摄像头
  5. Scikit-learn机器学习实战之Kmeans
  6. 百度ai开放平台使用方法(附带例子详细步骤)
  7. 关于调用百度AI接口进行图片识别的实现(C#)
  8. c8815 android os,华为c8815刷机包 乐蛙OS5 完美版 0823期
  9. 深度剖析ConcurrentHashMap(转)
  10. CoolEdit导出片段文件