带你一键解析微信小程序微信支付详细流程(包括开发流程+Cpolar安装+获取公网ip方法)

微信支付流程

  • 前言
  • 微信支付方式
  • 接入流程
  • 微信支付在开发中的流程
  • JSAPI下单
  • 小程序调起支付API
  • 开发准备
    • Cpolar下载安装
  • 我的代码实例
  • 总结

前言

🔔大多数小伙伴是不是还在好奇微信支付在我们的开发端是如何实现的,其实微信支付的技术我们直接通过引用就能完成,这是博主学习小程序微信支付模块后,总结的微信支付流程,留个笔记供日后复习,同时也希望对大家有所帮助😆


微信支付方式

在这里插入图片描述


打钱方式🤤

🌈付款码支付:超市扣上去的那种支付方式(适合店铺)
🌈JSAPI支付:浏览器页面跳转微信支付
🌈小程序支付:微信小程序中调用微信支付的功能
🌈Native支付:我们扫描商家提供的二维码
🌈APP支付:手机上的APP调用微信支付
🌈刷脸方式:刷脸

微信官方的打钱功能网站: 支付功能网站

让我们开始熟悉使用流程(叫接入流程


接入流程


👉 提交资料:

📌在线提交营业执照,身份证,银行账户等信息,并通过指引完成身份验证(这里必须是商户才行,私人无法获得支付功能)


👉 签署协议:

📌微信团队在工作日内完成审核,会跟你在线签约,签后就能用了


👉 绑定场景:

📌你开通后只有一个商户号,就是你不管由多少个开发的小程序收钱,最后钱都到一个地方就是将App都绑定到一个商户号上收钱

上边不是开发人员该管的事情,交给管钱的,下面才是开发


微信支付在开发中的流程


先用学的时候的一张图来看看🤔
在这里插入图片描述
📌微信小程序:理解为前端点击支付
📌商户系统:后端代码,在其中调用微信的后台服务
📌微信后台:真正实现交易的地方


怎么操作


⭐ 在小程序中发送交易的时候携带用户信息,比如说点菜的时候,提交订单,会将用户数据以及菜品数据发送到后台,后台在保存数据的时候创建一个订单号等信息
⭐然后一般手机上就会出现微信支付,按一下,我们将参数提交比如:订单号,商户号(往哪打钱),APP的ID(微信注册小程序后回产生app的id),回调地址(成功后微信后台请求我们的程序后台进行一些工作),付款用户的id,微信后台生成预支付交易单,返回预支付交易会话标识
⭐这时微信后台需要再次确认,它就返回一串签名算法后的字符串,在经过我们的后端进行处理,将数据返回给小程序界面
⭐用户在界面点击确认付款,并输入密码,传递到微信后台完成支付功能,返回支付结果,显示到界面中


用户端点击支付后,后台进行访问JSAPI调用支付接口

JSAPI下单

这是一个接口,我们后台访问这个接口,传递参数,生成上边说的预支付交易单,并返回交易会话标识

⭐拿到之后,按照上边说的不同的场景(APP支付,JSAPI支付)生成交易串调用支付

📌JSAPI接口:https://api.mch.weixin.qq.com/v3/pay/transactions/jsapi
用POST方式携带参数请求

📌参数是什么呢?上边也说了,我们来看一张官方的请求参数示例:
在这里插入图片描述
📌返回数据就是字符串标识:
在这里插入图片描述


小程序前端代码中,得到返回的prepay_id使用微信支付提供的小程序方法调起小程序支付

小程序调起支付API


⭐调用 wx.requestPayment(OBJECT)方法发起微信支付

官方提供的携带参数:
在这里插入图片描述
在这里插入图片描述
⭐这些是后端计算后返回给小程序的


了解大致后,在开发过程中有一些准备

开发准备


⭐前边说了,后台需要返回预支付验证字符串,那这肯定是要签名的呀,我们怎么解密
📌我们需要获取微信支付平台证书,商户私钥文件:

在这里插入图片描述
这时在微信支付平台注册之后下载下来的


⭐还有一个问题,微信后台如何能够访问到我的后台服务端,他怎么知道地址的

📌获取临时域名(一个公网ip):支付后微信通过该域名回调我们的后台服务

⭐这里我们就需要下载安装Cpolar它可以帮助我们实现内网穿透的效果


Cpolar下载安装

🌈首先打开Cpolar官网,进行注册登录
🌈 下载windows版本的软件
在这里插入图片描述
🌈双击进行安装
在这里插入图片描述
🌈在官网点击验证,进入到验证界面
在这里插入图片描述
🌈会给出你的隧道字符串
在这里插入图片描述
🌈复制隧道字符串,进入安装位置的cpolar目录下,其中有cpolar.exe文件
在这里插入图片描述
🌈打开cmd命令终端
输入命令:
cpolar.exe authtoken 隧道字符串
输入完成会生成一个文件:
在这里插入图片描述

这时内网穿透工具的配置文件

🌈这个时候我们就可以获取公网ip

你的后台服务的端口号是多少:我们以8080为例子(我的后台在本地电脑上)
localhost:8080
还是在上述的命令行中,输入命令
cpolar.exe http 8080回车之后我们就能够获取到临时的域名
并自动将临时域名映射到我们的本地服务地址上
👉这时我们就可以通过域名来访问到我们的服务后台


虽然我不是商户,但还是有一个小例子的,这也是我学习来的

我的代码实例

🌈首先需要做一些微信的相关配置
我有一个微信支付信息的实体类

@configurationProperties(prefix="")
public class WechatProperties{private String appid;//小程序的appidprivate String secret; //小程序的密钥private String mchid; //商户号private String mchSerialNo; //商户API证书的证书序列号private String privateKeyFilePath; //商户私钥文件private String apiV3Key; //证书的解密的密钥private String weChatPayCertFilePath; //平台证书private String notifyUrl; //支付成功后的回调地址(公网ip)private String refundNotifyUrl; //退款成功的回调地址
}

在给出响应的配置文件:

wechat:appid:secret:mchid:mchSerialNo:privateKeyFilePath:apiV3key:weChatPayCertFilePath:notifyUrl:refundNotifyUrl:

功能实现仅供参考,至于后续的代码实现,哪天我真的商户号再给大家更新

总结

⭐需要根据微信提供了流程图进行开发,主要是注意参数的传递和封装
⭐注意封装商户私钥和认证文件,本地还要进行内网穿透(获得公网ip)

如果觉得博主有什么问题可以跟博主提出一起学习,后续会推出支付代码实体

谢谢大家,希望大家给博主个一键三连,大家一起互相学习😋

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/3018832.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

抢占用户|AI助力企业高效挖掘潜在客户,推动高质量转化

随着人工智能(AI)技术的崛起,企业终于可以在这个数字化时代获得一种强大的工具,帮助企业迅速而准确地找到潜在客户。AI不仅能够处理海量的数据,还能自动分析和识别潜在客户的特征和行为模式,为企业营销提供…

【BUUCTF】[RoarCTF 2019]Easy Java1

工具:hackbar发包,bp抓包。 解题步骤:【该网站有时候send不了数据,只能销毁靶机重试】 这里的登录界面是个天坑【迷魂弹】 直接点击help,然后进行打开hackbar——通过post请求,再通过bp抓包,…

鸿蒙L0软总线demo程序

软总线是鸿蒙特有的功能之一&#xff0c;本篇提供了一个运行于L0的软总线demo程序。 demo的流程&#xff1a; 1.dsoftbus_start() 入口启动函数&#xff0c;启动后循环发布、发现、发现节点后连接节点。 int dsoftbus_start() {if (init() < 0) {return -1;}if (!dsoftbu…

定时任务还可以这么玩--基于SpringBoot中的ThreadPoolTaskScheduler实现动态定时任务

Hi,大家好&#xff0c;我是抢老婆酸奶的小肥仔。 最近做了一个需求&#xff1a;将定时任务保存到数据库中&#xff0c;并在页面上实现定时任务的开关&#xff0c;以及更新定时任务时间后重新创建定时任务。 于是想到了SpringBoot中自带的ThreadPoolTaskScheduler。 在Spring…

渗透测试工具--AppInfoScanner 的安装与使用(一)

简洁 ApplicationScanner是一个快速稳定的App代码扫描工具&#xff0c;其主要功能是对ipa和apk文件进行扫描&#xff0c;以快速发现存在风险的代码。这款工具基于Python 3.7实现其主要功能&#xff0c;同时apk检测部分需要JDK 11的支持&#xff0c;因此它具备较好的跨平台特性…

旺店通·企业奇门与金蝶云星空对接集成订单查询打通销售订单新增

旺店通企业奇门与金蝶云星空对接集成订单查询打通销售订单新增 对接源平台:旺店通企业奇门 慧策最先以旺店通ERP切入商家核心管理痛点——订单管理&#xff0c;之后围绕电商经营管理中的核心管理诉求&#xff0c;先后布局流量获取、会员管理、仓库管理等其他重要经营模块。慧策…

邮件群发还能用吗

邮件群发仍然可以使用。不过&#xff0c;在进行邮件群发时&#xff0c;可能会遇到一些问题&#xff0c;如选择合适的邮件群发软件、应对垃圾邮件过滤器的挑战、管理收件人列表、邮件内容的个性化和定制、邮件投递的时间管理以及避免被列入黑名单等。 为了优化邮件群发的效果&a…

五分钟解决Springboot整合Mybaties

SpringBoot整合Mybaties 创建maven工程整合mybaties逆向代码生成 创建maven工程 1.通过idea创建maven工程如下图 2.生成的工程如下 以上我们就完成了一个maven工程&#xff0c;接下来我们改造成springboot项目。 这里主要分为三步&#xff1a;添加依赖&#xff0c;增加配置&…

Oracle-一次TX行锁堵塞事件

问题背景&#xff1a; 接用户问题报障&#xff0c;应用服务出现大量会话堆积现象&#xff0c;数据库锁堵塞严重&#xff0c;需要协助进行问题定位和排除。 问题分析&#xff1a; 登录到数据库服务器上&#xff0c;首先查看一下数据库当前的等待事件情况&#xff0c;通过gv$ses…

SQLSERVER CPU占用过高的优化

有同事反应服务器CPU过高&#xff0c;一看截图基本都是100%了&#xff0c;my god&#xff0c;这可是大问题&#xff0c;赶紧先看看。 让同事查看系统进程&#xff0c;发现是SQLServer的CPU占用比较高。首先想到的是不是报表生成的时候高&#xff0c;因为这块之前出现过问题&…

实例分割——水下垃圾数据集

引言 亲爱的读者们&#xff0c;您是否在寻找某个特定的数据集&#xff0c;用于研究或项目实践&#xff1f;欢迎您在评论区留言&#xff0c;或者通过公众号私信告诉我&#xff0c;您想要的数据集的类型主题。小编会竭尽全力为您寻找&#xff0c;并在找到后第一时间与您分享。 …

基于大模型的idea提炼:围绕论文和引用提炼idea之ResearchAgent

前言 对本博客比较熟悉的朋友知道&#xff0c;我司论文项目组正在基于大模型做论文的审稿(含CS英文论文审稿、和金融中文论文审稿)、翻译&#xff0c;且除了审稿翻译之外&#xff0c;我们还将继续做润色/修订、idea提炼(包含论文检索)&#xff0c;是一个大的系统&#xff0c;包…

RN封装的toast提示框组件

import React, {useState} from react; import {View,Text,Modal,ActivityIndicator,StyleSheet,TouchableOpacity,Button, } from react-native;// 接收toaseflag为是否显示toast // title为提示内容 const ToastModal ({toastflag, title}) > {return (<Modal animati…

选修选课|基于Springboot+vue的大学生选修选课系统的设计与实现(源码+数据库+文档)

大学生选修选课系统 目录 基于Springboot&#xff0b;vue的大学生选修选课系统设计与实现 一、前言 二、系统设计 三、系统功能设计 1用户信息管理 2 课程信息管理 3排课信息管理 4公告信息管理 四、数据库设计 五、核心代码 六、论文参考 七、最新计算机毕设选题…

落地护眼灯十大品牌哪款性价比高?品牌排行榜前十名全面揭晓!

落地护眼灯十大品牌哪款性价比高&#xff1f;落地护眼灯已经逐渐成为孩子日常使用率较高的电器之一&#xff0c;它的优点非常突出&#xff0c;对于学习、工作、绘画等环境都能够提供良好的健康环境&#xff0c;同时还携带多种智能调节功能&#xff0c;例如&#xff1a;入座感应…

反汇编一个ARM64的机器码

文章目录 使用objdump直接阅读ARM64手册使用反汇编网站 有下面一个机器码&#xff1a;0x929ffee9&#xff0c;如何翻译成汇编呢&#xff1f; 下面介绍几种做法&#xff1a; 使用objdump 将这个机器码写到文件中&#xff0c;然后使用objdump去反汇编 创建一个二进制文件 dd…

言出身随!人情世故:利益交换与人脉的重要性——早读(逆天打工人爬取热门微信文章解读)

巴黎输了&#xff0c;看了比赛还得加班 引言Python 代码第一篇 洞见 认知越高的人&#xff0c;越懂得感恩第二篇 冯站长之家 2024年5月8日&#xff08;周三&#xff09;三分钟新闻早餐结尾 智慧赋予我决策的明灯 勇气则是我行动的盾牌 在细雨中骑行 是我以智慧选择的道路 用勇气…

数据结构复习/学习9--堆/堆实现/升降序建堆/top-k问题

一、堆与完全二叉树 1.堆的逻辑与物理结构 2.父节点与子节点的下标 3.大小根堆 二、堆的实现&#xff08;大根堆为例&#xff09; 注意事项总结&#xff1a; 注意堆中插入与删除数据的位置和方法与维持大根堆有序时的数据上下调整 三、堆排序 1.排升序建大堆效率高 注意事项…

CST电磁仿真查看模型的截面结构和生成Spice模型【入门教程】

通过Logfile查看仿真统计 一次性了解仿真统计! Post-Processing > Manage Results > Logfile 利用CPU Threads、Mesh Cells、Time Steps以及Total Solver Time等Logfile&#xff0c;可以一目了然地了解仿真统计。 &#xff08;1&#xff09;点击Post-Processing选项卡…

Ryght 在 Hugging Face 专家助力下赋能医疗保健和生命科学之旅

本文是 Ryght 团队的客座博文。 Ryght 是何方神圣&#xff1f; Ryght 的使命是构建一个专为医疗保健和生命科学领域量身定制的企业级生成式人工智能平台。最近&#xff0c;公司正式公开了 Ryght 预览版 平台。 Ryght 预览版https://www.ryght.ai/signup?utm_campaignPreview%2…