在微信公众号中,不调用微信jsapijsapi支付,而调用微信jsapih5支付。这可以实现么?

背景:最近做项目甲方提出一個需要要求在手机端直接微信注册成功后,直接登录并发起微信支付再三思考后,才决定使用jsapi微信支付

首先微信普通商户版有NATIVE支付、JSAPI支付、APP支付、H5支付、付款码支付、小程序支付;其中我认为作为web开发的最常用的是native、jsapi、h5支付了。但是jsapi支付在官方微信支付文档中留下了佷多坑,导致在使用过程中无比麻烦下面具体来说说,希望能对各位看客有点帮助

//;如发起支付页面为:/wxpay/;(这一步很关键,不然会在发起支付时提示注册url无效)

3)微信商户平台->账户中心->账户设置->API安全查看是否已经设置了商户密钥key,此密钥在后面生成签名sign中特别重要必须設置,设置成功后记住密钥;

以上是商户平台的配置;

1)微信公众平台->开发->基本配置查看开发者密码AppSecret是否已经设置;

第一步:用户同意授權,获取code:

参数说明:APPID:微信公众平台AppId;

REDIRECT_URI:回调地址在配置时需要配置域名,此处的回调地址域名必须与配置的一致否则无效

STATE:随机參数,可以用来区分或者携带其他参数到回调地址中;

参数说明:APPID:微信公众平台AppId;

SECRET:微信公众号密钥需要配置;

CODE:第一步获得的code参数;

返回值:access_token和openid,此处只写明这两个较为重要的参数。

到目前为止便得到了openid可以进行统一下单了。

2).查看API列表->统一下单(调用微信jsapi该接口是為了在微信支付服务后台生成预支付交易单)

整个支付就到此结束了

在这个过程中,我遇到的最惨痛的难点就是支付签名paySign的生成因为茬微信统一下单接口返回的数据中还包含了sign签名的返回,我一直以为可以使用这个作为支付签名然而在网上找了很多大佬的总结后,都說统一下单接口返回的sign的签名加密方式不是MD5然而支付签名必须是MD5加密而造成的。但是我觉得不是因为我已经明确在下单接口中的参数signType寫明就是MD5了,所以表示下单接口返回的sign并不能作为微信发起支付的签名paySign必须自己重新根据返回的prepay_id生成新的支付签名。

以上便是我在做微信支付过程中的总结若有描述不当的请评论提出哦!

}

我要回帖

更多关于 调用微信jsapi 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信