zoukankan      html  css  js  c++  java
  • 微信小程序支付遇到的坑

    1,微信公众号支付和微信小程序支付有差异

     微信公众号:可以直接跳转走h5的微信支付

    微信小程序:在测试环境、沙箱环境使用微信公众号的跳转支付没有问题,在线上存在支付异常

    最后商讨的解决方法

     openid获取的方法------appid----code----apenid,accestoken

    通过appenid拿到对应的验签--

    {"code":0,"data":{"onlyCardPay":false,"paramStr":"{"appId":"wx42717f54417ecce1","nonceStr":"jf3nrssre50imqiw7odgrg37l2xbd0kd","package":"prepay_id=wx081219379987660ba709d52d3193336979","paySign":"C60C1DB483CD8C9A7DA518C3CE11CAD8","signType":"MD5","timeStamp":"1546921178"}","payChannel":"wx_xcx","payOrderId":"281975780250193921","paySuccessUrl":"https://minisite.daojia.com/pt/topic/collage2/index.html?productId=237&orderId=615469211711148832&groupId=154341#/orderdetail","result":true},"message":"成功","success":true} 

     业务线给我们传递OPENID---进入收银台

     去支付——收银台判断当前是微信小程序,跳转业务方提供的原声小程序链接,进行跳转,支付他们去支付

    let url = data.paySuccessUrl
    let signData = data.paramStr
    Window.wx.miniProgram.getEnv(function (res) {
    let sd = encodeURIComponent(signData)
    url = `/pages/h5-weapp-pay/h5-weapp-pay?signData=${sd}&url=${url}`
    if (res.miniprogram) {
    if (signData.length === 0) {
    // alert("signData不能为空")
    return false
    }
    Window.wx.miniProgram.navigateTo({
    url: url
    })
    }
    })

    wx.requestPayment(
    {
    'timeStamp''',
    'nonceStr''',
    'package''',
    'signType''MD5',
    'paySign''',
    'success':function(res){
    },
    'fail':function(res){},
    'complete':function(res){
    }
    })

     二、第二天遇到一个bug问题,在不同微信的账号上,登录的统一的账号的,其中一个手机提示,支付账单和账单账号不匹配,他们传的openid是一致的。

  • 相关阅读:
    ajax的一些知识
    前端性能优化汇总
    jquery实现一些小动画二
    python简单日志处理
    逆波兰式---C实现
    java常见异常
    Hive与HBase集成及常见问题解决
    SQL for HBase
    Demystifying the Skip Scan in Phoenix
    Difference between DDL, DML and DCL commands
  • 原文地址:https://www.cnblogs.com/yayaxuping/p/10241688.html
Copyright © 2011-2022 走看看