来看微信支付jsapi接口是怎么调用的

步骤一:获取微信支付四大参数

首先要想支持微信支付,必须拥有两个账号

微信公众平台:账户

公众APPID,APPSECEPT ,微信商户平台商户ID, API密钥

步骤二:平台配置

1.配置支付目录:商户平台:

配置此目录是代码中“微信支付”所在页面的地址-需要ICP备案。

2.配置授权域名:微信公众平台:

支付过程需要获取用户openid,必须经过网页授权配置才可以,要不然获取不到openid。

官方解释:用户在网页授权页同意授权给公众号后,微信会将授权数据传给一个回调页面,回调页面需在此域名下,以确保安全可靠。回调页面域名不支持IP地址。

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

https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect

参数:appid:公众号的唯一标识

   redirect_uri:重定向的url,就是授权后要跳转的页面

   scope:应用授权作用域

   snsapi_base:不弹出授权页面,直接跳转,只能获取用户openid

   snsapi_userinfo:弹出授权页面,可通过openid拿到昵称、性别、所在地

    state:重定向后带的参数

    用户同意后会产生一个code,只有5分钟时间的有效期。

第二步:通过code换取网页授权access_token( 微信支付只需要openid,获取到access_token之后只需要里面openid参数)

获取code后,请求以下链接获取access_token: https://api.weixin.qq.com/sns/oauth2/access_token?appid=APPID&secret=SECRET&code=CODE&grant_type=authorization_code

{ "access_token":"ACCESS_TOKEN",

"expires_in":7200,

"refresh_token":"REFRESH_TOKEN",

"openid":"OPENID",//微信j支付jsapi接口需要用到的参数

"scope":"SCOPE" }

步骤三 调用接口统一下单

微信统一下单API是微信支付的一个“统一”处理入口,官方给出的地址是

https://api.mch.weixin.qq.com/pay/unifiedorder
https://api2.mch.weixin.qq.com/pay/unifiedorder(备用域名)
需要的参数(此处使用服务商接口参数 所以会有子商户的id 普通商户不需要)

按照 签名算法 计算签名

把所有要传递的参数键值对去掉值是空的,剩下的参数名ASCII码从小到大排序后,使用URL键值对格式(key1=value1&key2=value2...)拼接成StringA

把StringA后面多加一组键值&key=商户平台密钥获得StringB

把StringB按要求做"MD5"或"HMAC-SHA256"计算,并将结果字符转为大写

微信甚至还提供了一个在线校验工具帮助开发者检查生成的签名是否正确,跳到工具。使用方法是选择好签名类型,校验方式选择XML(不是必须只是为了省事儿),XML源串输入不带sign信息

发送前先用WXPayUtil工具类中的方法mapToXML(Map<String,String> date)方法 将参数的map转为XML格式发送后会返回String的返回值

得到以上参数就算是微信支付jsapi接口调用成功  接下来只需要完成支付业务流程

微信支付JSAPI(公众号支付)接口调用相关推荐

  1. 微信jsapi支付获取code_微信开发之微信公众平台开发之JSAPI公众号支付

    本文将带你了解微信开发微信公众平台开发之JSAPI公众号支付,希望本文对大家学微信有所帮助. 一:配置参数 申请成功后,获取接口文件, 将所有文件放入项目根目录weixin下,在WxPay.ub.co ...

  2. 微信jsapi支付获取code_微信支付之JSAPI公众号支付详解

    前提 本教程默认以下几点你已经完全满足: 开通了认证后的服务号 服务号开通的微信支付的认证 腾讯给你的邮件中有商户登录的账号和密码 拥有一个可供上传代码和设置回调域名的网站或云服务 有一点点php知识 ...

  3. 微信jsapi支付获取code_微信JSAPI公众号支付在部分机型上出现appid参数错误的解决办法 - YangJunwei...

    都说微信支付的坑比较多,老杨感觉还行,就是开始周期和调试过程比较费时费力-_-! 今儿在调试一个基于微信JSAPI公众号的支付项目时发现,部分机型(比如iphone7/vivo-x6d)中微信支付获取 ...

  4. php 公众号内h5支付宝支付宝支付宝支付宝支付,微信浏览器中支付宝wap支付和微信JSAPI公众号支付...

    手机浏览器只有支付宝wap支付,微信浏览器中出现支付宝wap支付和微信JSAPI公众号支付,其中支付宝wap在线支付没有在新窗口打开(兼容大部分手机),Thinkphp3.2公众号支付 下载资源 下载 ...

  5. php微信公众号支付实例教程,php微信支付之公众号支付功能

    这篇文章主要为大家详细介绍了php微信支付之公众号支付功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 网上的很多PHP微信扫码支付接入教程都颇为复杂,且需要配置和引入较多的文件,本人通过整理后 ...

  6. 微信支付之公众号支付

    经过近一周的敲代码,终于把公众号支付和H5支付实现完成并测试通过,特此分享一些流程,一方面自己记录另一方面给新入门的一点思路 [本文介绍普通商户的公众号支付] 一.基本信息和配置 公众号支付的前提是要 ...

  7. 微信支付 php详解,微信支付之公众号支付详解

    本文主要和大家分享微信支付之公众号支付详解,随着微信支付的流行,大多产品都开发了自己的公众号.小程序等,产品的营销需要支付的支撑,最近做了个微信公号号支付,采坑无数,今天给大家分享一下,希望能帮助到大 ...

  8. 微信支付、公众号支付、微信APP支付教程

    这两天有朋友问我微信支付的一些事情,我就抽了点时间整理了一下微信支付相关的一些东西,在这里分享给大家,希望能帮助大家少走弯路. 微信支付分为APP支付和公众号支付两大类,其中公众号支付又分为(公众号支 ...

  9. APP支付和公众号支付区别在哪?

    PP支付与公众号支付容易搞混淆,尤其对于一些半专业的外行人来说,傻傻分不清. 随着移动支付的盛行,或者说随着微信社交产品的全民普及,再加上消费者被一轮又一轮的支付大战烧脑,再不懂支付的也都了解那么丁点 ...

  10. 什么是APP支付和公众号支付

    APP支付与公众号支付容易搞混淆,尤其对于一些半专业的外行人来说,傻傻分不清. 随着移动支付的盛行,或者说随着微信社交产品的全民普及,再加上消费者被一轮又一轮的支付大战烧脑,再不懂支付的也都了解那么丁 ...

最新文章

  1. 开源中国 Maven 库
  2. 找出数组中出现次数最多的一项并统计次数
  3. 【原创】概率DP总结 by kuangbin
  4. 东北育才 数论专场第2场
  5. Mongodb3.4.4复制集群+分片配置文档
  6. 关联分析算法c语言实现,机器学习关联分析
  7. Spring Cloud Zuul中使用Swagger汇总API接口文档 1
  8. vue-lazyload vue图片懒加载插件的使用记录
  9. 一个简单的DDraw应用程序2
  10. 程序员面试金典——11.5找出字符串
  11. 转场动画CATransition~~~~~~
  12. linux常用的搜索命令
  13. android8.1录屏,超级录屏安卓版-超级录屏appv1.1.8 - 起点软件园
  14. 中国砷化镓产业链调研与投资战略报告(2022版)
  15. 商城前端模板_新零售时代如何玩转微信商城
  16. STM32CubeMX配置DCMI+DMA之OV2640
  17. 关于代码运行速度与cpu关系的一点小事
  18. CentOS简单上手——第四篇
  19. c语言中感叹号什么意思_感叹号的意思
  20. c++实现高速缓存Cache

热门文章

  1. 初识Disruptor框架
  2. redis的lrange_Redis LRANGE 命令-Redis LRANGE命令详解教程-Redis LRANGE使用案例-嗨客网
  3. python 操作redis 队列 使用lrange 命令 返回类型格式类型 坑坑坑!!!
  4. 小白文章:构建VMware虚拟局域网的实验过程
  5. MATLAB 视频与图像转换
  6. Android APK安装后点击[打开]与[完成]的区别
  7. 新东方mti百科知识pdf_2019考研翻译硕士之百科知识总结(一)
  8. jqgrid本地加载分页_jqGrid 分页
  9. 如何把iphone变成猫_如何将iPhone变成鼠标?
  10. 蚂蚁森林用户须知_支付宝种树的人注意了,蚂蚁森林上线新功能,可以看见沙漠中的树...