使用开源库MAGICODES.WECHAT.SDK进行微信公众号支付开发

简介:   概要 博客使用Word发博,发布后,排版会出现很多问题,敬请谅解。可加群获取原始文档。 本篇主要讲解微信支付的开发流程,相关业务基于MAGICODES.WECHAT.SDK实现。

 

 

  1. 概要

    博客使用Word发博,发布后,排版会出现很多问题,敬请谅解。可加群获取原始文档。

本篇主要讲解微信支付的开发流程,相关业务基于MAGICODES.WECHAT.SDK实现。通过本篇教程,您可以很方便的快速完成微信公众号支付的开发。

  1. 关于Magicodes.WeChat.SDK

MAGICODES.WECHAT.SDK为心莱团队封装的轻量级微信SDK,现已全部开源,开源库地址为:https://github.com/xin-lai/Magicodes.WeChat.SDK

更多介绍,请关注后续博客。

官方博客:http://www.cnblogs.com/codelove/

相关开源库地址:https://github.com/xin-lai

 

  1. 微信公众号支付

用户已有商城网址,用户通过微信消息、微信扫描二维码、微信自定义菜单等操作在微信内打开网页时,可以调用微信支付完成下单购买流程。

  1. 支付流程

微信的支付流程图太复杂,这里我画了一个相对简单的:

  1. 开发实践

    1. 开发流程图

  1. 配置微信支付授权目录

  • 首先,需要登录公众号后台,然后进入【微信支付】页面

  • 设置【开发配置】

发起支付的页面目录必须与设置的精确匹配。并将支付链接发到对应的公众号会话窗口中才能正常发起支付测试。注意正式目录一定不能与测试目录设置成一样,否则支付会出错。

注意:如果是使用测试目录的地址,一定要记得把个人测试微信号添加到白名单。另外,请注意红框内说明,否则很容易掉坑里。

  1. 配置OAUTH域名以及JSSDK

使用微信支付,需要通过OAUTH获取用户的OPENID,因为要调用JS API,那么JSSDK授权也是需要的。

相关配置界面如下:

  1. 引用Magicodes.WeChat.SDK并且注册相关配置

Magicdoes.WeChat.SDK可以通过Nuget包来引用,引用之后,需要先做一些初始化设置。

  • 初始化SDK配置

这里初始化了SDK配置,并且注册了相关函数。比如获取支付配置函数,这里可以编写自己的获取支付配置的逻辑。

如果是使用Magicodes.WeiChat或者是Magicodes.Shop,那么可以在相关设置界面设置微信支付相关参数,如下所示:

  • 设置微信配置

打开Magicodes.WeiChat设置界面,配置微信支付相关参数。支付配置模型如下所示:

public interface IWeChatPayConfig

{

/// <summary>

/// 证书相对路径

/// </summary>

string PayCertPath { get; set; }

 

/// <summary>

/// 证书密钥(与微信商户平台商户MchID一致)

/// </summary>

string CertPassword { get; set; }

 

/// <summary>

/// 支付密钥

/// </summary>

string TenPayKey { get; set; }

 

/// <summary>

/// 商户Mch_ID

/// </summary>

string MchId { get; set; }

 

/// <summary>

/// 支付完成后的回调处理页面

/// </summary>

string Notify { get; set; }

}

 

  1. 添加支付页,设置支付参数

在开始支付之前,我们需要创建一个支付页。并且生成支付相关参数,如下面代码所示:

关于OPENID的获取,Magicodes.WeiChat可以通过在Action上添加[WeChatOAuth]来获取粉丝信息,包括OPENID。

  1. 调用JS Api进行支付

微信页面,我们需要编写业务逻辑并调用JS API进行支付,相关JS代码如下所示:

注意:调用JS api需要JSSDK权限。Magicodes.WeiChat用户只需使用"ViewBag.UseJSSDK=true"即可启用并注册JSSDK权限。

然后,我们只需要绑定JS按钮事件即可,如:

$('#btnPay').on('click',function(){

callpay();

});

 

  1. 接收微信服务器事件通知,处理支付业务

微信支付完毕后,微信服务器会异步通知我们的Web服务器,通知地址我们在上面的支付配置中已经配置过了。

使用Magicodes.WeChat.SDK的话,处理起来比较简单,相关关键代码如下所示:

在支付成功的函数中,我们可以编写成功逻辑,比如订单状态的变更,支付日志的记录等等。

至此,整个微信公众号开发均已完成。

目录
相关文章
|
9天前
|
开发工具 Android开发
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
140 11
X Android SDK file not found: adb.安卓开发常见问题-Android SDK 缺少 `adb`(Android Debug Bridge)-优雅草卓伊凡
|
5月前
|
弹性计算 机器人 应用服务中间件
一键部署开源Qwen3并集成到钉钉、企业微信
Qwen3系列模型现已正式发布并开源,包含8款“混合推理模型”,其中涵盖两款MoE模型(Qwen3-235B-A22B与Qwen3-30B-A3B)及六个Dense模型。阿里云计算巢已支持Qwen3-235B-A22B和Qwen3-32B的私有化部署,用户可通过计算巢轻松完成部署,并借助AppFlow集成至钉钉机器人或企业微信。文档详细介绍了从模型部署、创建应用到配置机器人的全流程,帮助用户快速实现智能助手的接入与使用。
425 19
一键部署开源Qwen3并集成到钉钉、企业微信
|
12天前
|
消息中间件 人工智能 Java
抖音微信爆款小游戏大全:免费休闲/竞技/益智/PHP+Java全筏开源开发
本文基于2025年最新行业数据,深入解析抖音/微信爆款小游戏的开发逻辑,重点讲解PHP+Java双引擎架构实战,涵盖技术选型、架构设计、性能优化与开源生态,提供完整开源工具链,助力开发者从理论到落地打造高留存、高并发的小游戏产品。
|
1月前
|
Shell Android开发 Python
微信多开脚本,微信双开器脚本插件,autojs开源代码分享
AutoJS脚本实现安卓端微信多开,通过无障碍服务 Python脚本提供跨平台解决方案,自动检测微信安装路径
|
1月前
|
小程序 JavaScript API
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
这篇文章介绍了使用uni-halo框架进行微信小程序开发的过程,包括选择该框架的原因、开发目标以及项目配置和部署的步骤。
uni-halo + 微信小程序开发实录:我的第一个作品诞生记
|
4月前
|
小程序 前端开发 Android开发
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
1055 29
小程序微信分享功能如何开发?开放平台已绑定仍不能使用的问题?-优雅草卓伊凡
|
4月前
|
人工智能 自然语言处理 开发工具
HarmonyOS NEXT~鸿蒙开发能力:HarmonyOS SDK AI 全解析
本文深入解析HarmonyOS SDK中的AI功能集,涵盖分布式AI引擎、核心组件(NLP、计算机视觉等)及智能决策能力。通过代码示例与开发实践指南,帮助开发者掌握环境配置、性能调优及多场景应用(智能家居、移动办公等)。同时探讨性能优化策略与未来演进方向,助力构建高效分布式智能应用。
302 9
|
3月前
|
监控 数据可视化 数据处理
微信养号脚本,全自动插件,AUTOJS开发版
这是一套自动化微信养号工具,包含主脚本`wechat_auto.js`与配置文件`config.json`。主脚本实现自动浏览朋友圈、随机阅读订阅号文章及搜索指定公众号三大功能,支持自定义滚动次数、阅读时长等参数。代码通过随机化操作间隔模拟真实用户行为,具备完善的错误处理和日志记录功能。配套UI模块提供可视化操作界面,可实时监控任务状态与运行日志,便于调整参数设置。控制器部分扩展了批量数据处理能力,如学生信息的增删改查操作,适用于多场景应用。下载地址:https://www.pan38.com/share.php?code=n6cPZ 提取码:8888(仅供学习参考)。
|
4月前
|
人工智能 前端开发 开发工具
9.2K Star!微信排版从未如此简单,这款开源神器让Markdown飞入公众号!
一款9.2K Star的开源神器,让微信公众号排版变得简单高效!支持Markdown语法,实时预览、多图床混搭、AI智能排版、自定义主题样式等功能一应俱全。通过沉浸式双栏编辑、七图床混合编排、AI写作助手和主题定制工坊等核心功能,彻底解放技术创作者的生产力。无论是技术博客迁移、多平台发布还是企业定制,都能满足需求。三步上手:在线体验、本地部署、公众号对接。项目地址:https://github.com/doocs/md
348 4
|
5月前
|
小程序 Java 关系型数据库
weixin163基于微信小程序的校园二手交易平台系统设计与开发ssm(文档+源码)_kaic
本文介绍了一款基于微信小程序的校园二手物品交易平台的开发与实现。该平台采用Java语言开发服务端,使用MySQL数据库进行数据存储,前端以微信小程序为载体,支持管理员和学生两种角色操作。管理员可管理用户、商品分类及信息、交易记录等,而学生则能注册登录、发布购买商品、参与交流论坛等。系统设计注重交互性和安全性,通过SSM框架优化开发流程,确保高效稳定运行,满足用户便捷交易的需求,推动校园资源共享与循环利用。

热门文章

最新文章