美文网首页
uniapp 支付宝支付返回form表单 排坑

uniapp 支付宝支付返回form表单 排坑

作者: 没事走两步有事跑两步 | 来源:发表于2020-08-27 22:04 被阅读0次

最近在做uniapp APP得项目,遇到了很多问题这个问题是目前卡的最久得一个问题卡了3天。

首先,支付宝支付分为 前端发起支付,和后台发起支付两种。

  • 前端发起支付我之前做微信小程序得时候做过,首先向后台发送订单数据,生成订单。然后由前端调起手机微信支付进行付款。
  • 而这次我们采用得是后台发起支付得方式,得到的返回值是一个<form></form>的表单html结构 自带<script> 里面写的是监听提交按钮事件</script>标签。
  • 简单来说 由后台发起的支付会返回给我们一个html结构,这个够在uniapp中使用 web-view 展示。但是安卓端不兼容。
  • 最终解决办法是由后台把之前POST 请求改成了 GET 请求。
  • 直接把链接复制到了<web-view :src></web-view > 标签的src上面
  • 前端代码
// 支付页面
  uni.setStorageSync('payUrl', "http://*.*.*.*:****/pay/server/phone/goPay2?orderCode=" + orderrequest.orderCode +
                    "&paymentCount=" + orderrequest.paymentCount + "&orderTotalAmount=" + orderrequest.orderTotalAmount +
                    "&parentOrderId=" + orderrequest.parentOrderId + "&buyerId=" + orderrequest.buyerId + "&shipperId=" +
                    orderrequest.shipperId + "")
// 在写webview 的页面 获取这个链接赋值到src上面
// web-view页面
<template>
    <view>
        <web-view :src="url"></web-view>
    </view>
</template>
let payUrl = uni.getStorageSync('payUrl');
this.url = uni.getStorageSync('payUrl');
  • 第二种解决
  const webview = plus.webview.create("", "custom-webview")
                webview.loadURL(链接, {
                    "Referer": "项目域名https://&*^*&%&^%"
                })
  • 总结:在uniapp中调用本地静态html URL传参 不适合传入复杂结构 简单结构可以,否则 安卓端不兼容。H5端兼容。
  • 在本地html页面加载ajax请求时存在跨域问题导致请求发不出去返回
    {"readyState":0,"status":0,"statusText":"error"}
  • 在本地html中调用uniapp自带的uni.webview.1.5.2.js中只包含跳转链接
  • 例如 uni.navigateTo等跳转链接
  • 在支付流程上也会有变动,后台调用前端无法拿到支付后的回调。目前只能一直调取后台查询支付状态的一个接口.....很恶心的

相关文章

  • uniapp 支付宝支付返回form表单 排坑

    最近在做uniapp APP得项目,遇到了很多问题这个问题是目前卡的最久得一个问题卡了3天。 首先,支付宝支付分为...

  • H5处理支付宝接口返回form

    最近H5对接后端从支付宝返回的form。踩了一些坑。支付宝支付返回的form结构大概是这样的: 这可以看成是一个完...

  • 2020年总结之微信支付记

    前几日公司项目需求需要做支付宝和微信支付,由于支付宝这边是后台直接返回form表单,然后再操作,相对来说比较简单,...

  • pc端支付宝支付 验签失败(前端)

    前端请求后台接口 拿到支付宝支付需要的form表单字符串 然后 放到页面当中 去提交form表单 刚开始看到别人的...

  • 记一次支付宝对接

    一、场景 微信公众号要支付宝支付,采用支付宝手机网站支付的方式。对接使用支付宝最新sdk,向前端输出form表单。...

  • 支付宝扫码支付(pc网站端)

    前端在订单列表选择一条数据,去支付,调用后台封装好的支付宝接口,该接口将会返回一个form表单,该表单包括两个in...

  • 支付宝支付

    一、表单支付 1、后台掉支付宝sdk,生成支付表单,并返回给前端 支付过程中,会跳到支付宝的网站,需要回调地址,支...

  • UniAPP支付宝H5支付

    1,接口返回url形式 使用window.location.href跳转支付 2,接口返回form表单[https...

  • 支付宝form表单

    调用后台下单接口成功后调起const div = document.createElement('div'); /...

  • VUE支付宝和微信支付和银联支付

    支付宝和银联支付是一样的 后台返回时的一个form表单如图 前端需要将后台传入的表达提交即可 微信H5支付 微信公...

网友评论

      本文标题:uniapp 支付宝支付返回form表单 排坑

      本文链接:https://www.haomeiwen.com/subject/ngbhsktx.html