H5唤起支付宝支付

小小书童 · · 89 次点击 · · 开始浏览    

目前项目中比较常用的第三方支付无非就是支付宝支付和微信支付。下面介绍一下Vue中H5页面如何使用支付宝支付。其实很简单的,只不过是调自己后台的一个接口而已(后台根据支付宝文档,写好支付接口)。

触发支付宝支付调用后台接口,后台会返回支付宝提供的form表单,我们只要在vue里面创建新节点,将返回的form表单append进去,并提交就可以唤起支付宝支付。另在此说一下这个returnUrl, 它是支付后支付宝回调的页面。具体可以根据自身业务,后台写死或者由前端控制。

methods () {
  /**
   * 支付宝支付
   */
  goAlipay () {
    this.$loading.show()
    const data = {
      /* 自身接口所需的一些参数 */
      ...
      amount: this.price,
      /* 支付后支付宝return的url */
      // returnUrl: 'www.baidu.com'
      returnUrl: window.location.origin + window.location.pathname + '?userParams=' + this.userParams
    }
    this.$http(
      this.$apiSetting.alipay,
      data
    ).then(res => {
      this.$loading.hide()
      if (res.data.statusCode === '000000') {
        const div = document.createElement('div')
        /* 此处form就是后台返回接收到的数据 */
        div.innerHTML = res.data.data.alipayInfo
        document.body.appendChild(div)
        document.forms[0].submit()
      }
    }, error => {
      this.$loading.hide()
      console.log(error)
    })
  }
}

本文来自:Segmentfault

感谢作者:小小书童

查看原文:H5唤起支付宝支付

89 次点击  
加入收藏 微博
0 回复
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet