微信公众号JSAPI自费支付总结_微信自动续费api-程序员宅基地

技术标签: 学习  java  


前言

本编章主要是通过运行一个自费测试demo使其能够快速了解微信自费支付的实现流程, 也是个人实现微信自费demo之后的记录、总结

官方文档:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1


一、准备操作

进行微信自费支付之前请先获得以下几项必要条件,公众号和商户号需要绑定

名称 字段名 示例值 描述
公众号ID appId wxa1234abc456b13dc 需要支付的公众号
商户号ID mchId 15312345681 支付收账的账号
商户号密钥 mchKey H793bz123456789abcdefg77FAd 商户号密钥
域名 isyoubao.cn 微信支付使用的域名
服务器 116.xxx.xx.81 发布项目的服务器

1.公众号ID

打开微信公众平台,登录对应公众号,在基本配置-公众号开发信息中获取
在这里插入图片描述

2.商户号

登录微信商户号:https://pay.weixin.qq.com
账户中心=》商户信息=》账户信息
在这里插入图片描述

3.商户号密钥

商户号密钥:账户中心=》API安全=》API密钥(需要保存,未保存忘记之后只能重置
在这里插入图片描述

4.域名、服务器

用自己的域名或者服务器就好了,腾讯云,阿里云都可以

二、步入正题

1. 支付流程

初始化订单数据=》调用微信统一下单接口=》通过JS调起微信支付请求=》是否支付成功
在这里插入图片描述

2. 初始化订单数据

初始化数据其实就是创建一份模拟订单用于调用统一下单接口(可根据自己实际业务情况进行修改)
具体参数描述见:统一下单请求参数

WxPayUnifiedOrderRequest wxPay = new WxPayUnifiedOrderRequest();
        wxPay.setAppid("wxa123abc45613dc");
        wxPay.setTotalFee(1);
        wxPay.setNonceStr(RandomUtils.getRandomStr());
        wxPay.setOutTradeNo(RandomUtils.getRandomStr());
        //用户openId,每个公众号下对应每个用户的唯一标识
        wxPay.setOpenid("og6qg123456abcdefgWrllnyY");
        wxPay.setBody("测试支付");
        wxPay.setSpbillCreateIp("192.168.8.191");
        wxPay.setNotifyUrl("https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind/2.9.5");
        wxPay.setTradeType("JSAPI"
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Isyoubao/article/details/117320416

智能推荐

ASP.NET Core 运行原理解剖[5]:Authentication-程序员宅基地

文章浏览阅读3.1k次。在现代应用程序中,认证已不再是简单的将用户凭证保存在浏览器中,而要适应多种场景,如App,WebAPI,第三方登录等等。在 ASP.NET 4.x 时代的Windows认证和Forms认证已无法满足现代化的需求,因此在ASP.NET Core 中对认证及授权进行了全新设计,使其更加灵活,可以应付各种场景。在上一章中,我们提到HttpContext中认证相关的功能放在了独立的模块中,以扩展的方式来展_.net core authenticationhandler httpcontext

java8特性:list转Map并排序_list转成map且顺序不变-程序员宅基地

文章浏览阅读1.5w次。初始代码public Map<String,List<RgwstBean>> getMap(List<RgwstBean> lists){ Map<String,List<RgwstBean>> map = new TreeMap<String,List&am_list转成map且顺序不变

leaflet通过WFS服务加载geoserver 矢量数据_leaflet geoserver wfs 方式-程序员宅基地

文章浏览阅读5.9k次,点赞5次,收藏16次。leaflet通过WFS服务加载geoserver 矢量数据1.前言2.从geoserver获得geojson数据3.geoserver跨域配置4.根据请求结果生成layer5.完整代码1.前言leaflet默认支持的服务只有WMS,因此不能加载WFS数据,但是leaflet提供了另一个方法geoJson,它的作用是从一个geojson文件中加载地图,所以利用leaflet加载WFS数据的一个..._leaflet geoserver wfs 方式

自定义动画animate_使用animate方法制作任意动画是什么意思-程序员宅基地

文章浏览阅读937次。开发工具与关键技术:VS,MVC作者:陈梅撰写时间:2019年6月2 日所有代码来源与老师教学这次分享一个好玩的自定义动画效果,这次还是用jQuery做出来的小功能。这次我们先直接看最后已经布局好的效果。把所想写的内容填写到p标签中,给到p标签的动画功能是,页面已执行时,p标签的内容就会渐渐消失。在给一个紫色的div盒子,这个盒子要实现四种动画效果,所以给这四个动画效果一个下拉框,选择..._使用animate方法制作任意动画是什么意思

如何在MonogoDB中查看配置的参数值-程序员宅基地

文章浏览阅读1k次。怎样在MongoDB实现mysql show variables like 'xx';例如:1.查看所有参数值:C:\Users\duansf>mongoMongoDB shell version: 2.6..._查看mongodb 默认参数值

【ACO TSP】基于matlab蚁群算法求解旅行商问题【含Matlab源码 1583期】-程序员宅基地

文章浏览阅读863次。蚁群算法求解旅行商问题完整的代码,方可运行;可提供运行操作视频!适合小白!

随便推点

计算机网络实验报告建立校园网,计算机网络实验报告-程序员宅基地

文章浏览阅读2.6k次,点赞2次,收藏29次。设计性实验报告一、实验目的通过对网络设备的连通和对拓扑的分析,加深对常见典型局域网拓扑的理解;通过路由建立起网络之间的连接,熟悉交换机、路由器的基本操作命令,了解网络路由的设计与配置。二、背景描述假设某校园网通过1台三层交换机连到校园网出口路由器,路由器再和校园外的另一台路由器相接,现做适当配置,实现校园网内部主机与校园网外部主机的相互通信。三、实验设备二层交换机五台、三层交换机一台,路由器两台,..._计算机网络校园网组建 实训报告

蓝桥杯之等差素数列_长度为十的等差素数列,公差最小是多少蓝桥杯-程序员宅基地

文章浏览阅读554次,点赞2次,收藏3次。题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。2,3,5,7,11,13,....2,3,5,7,11,13,.... 是素数序列。 类似:7,37,67,97,127,1577,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。上边的数列公差为 30,长度为 66。20042004 年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。 这是数论领域一项惊人的成果!有这一理论为基础,请你借助手中的计算机,满怀信心地搜_长度为十的等差素数列,公差最小是多少蓝桥杯

iOS应用内付费(IAP)开发步骤列表_ios 添加订阅会员项目开发-程序员宅基地

文章浏览阅读1.6k次。配置Developer.apple.com登录到Developer.apple.com,然后进行以下步骤:为应用建立建立一个不带通配符的App ID用该App ID生成和安装相应的Provisioning Profile文件。配置iTunes Connect登录到iTunes Connet,然后进行以下步骤:用该App ID创建一个新的应用。在该应用中,创建应用内付费项_ios 添加订阅会员项目开发

比较器-程序员宅基地

文章浏览阅读5.3k次,点赞3次,收藏46次。比较器比较器:顾名思义,做比较的。比较两个电压,然后输出高低电平。01不带反相的比较器当Vin>Vref,输出高电平,当Vin<Vref,输出低电平.02带反相的比较器当Vin>Vref,输出低电平,当Vin<Vref,输出高电平.03LM139比较器简化后的内部架构蓝色框:PNP差分放大器。每一边差分级使用达林顿 PNP 晶体管。使用达林顿连接晶..._比较器

如何深入学习c语言,如何深入学习C语言?-程序员宅基地

文章浏览阅读2.1k次。匿名用户1级2016-09-11 回答其实吧,学习C语言是以后从事软件设计的一个基础。任何领域都需要长时间的投入才有结果,你现在学习了C语言,再学习其他语言的时候就比较上手了。在软件设计中:学习一门语言仅仅是第一阶段:如果你基本掌握了一门语言,那么再想深入学习的话就需要把所有C语言的相关的库函数弄懂,并熟练掌握一个开发平台(如最基础的TC)。这是第二阶段下一阶段你就需要继续学习不同的操作系统所提供..._c语言入门后怎么深入

React Native 嵌入到iOS原生项目_ios原生项目嵌入reactnative 模块-程序员宅基地

文章浏览阅读672次。如果你正准备从头开始制作一个新的应用,那么React Native会是个非常好的选择。但如果你只想给现有的原生应用中添加一两个视图或是业务流程,React Native也同样不在话下。只需简单几步,你就可以给原有应用加上新的基于React Native的特性、画面和视图等。https://zjqian.github.io/2017/05/03/rn-integration-iosNative/_ios原生项目嵌入reactnative 模块

推荐文章

热门文章

相关标签