Winform开发框架集成微信、支付宝在线支付功能|C/S开发框架

Winform开发框架集成微信、支付宝在线支付功能
Winform支付页面

创建支付订单
C# 全选
private void btn_GenerateOrder_Click(object sender, EventArgs e)
{
//请求模型
Req_GenerateOrder requestData = new Req_GenerateOrder()
{
Site = "1688",
AliID = "",
Phone = _license.Mobile,
Code = GetPriceCode(),
PayType = (sender as Control).Tag.ToString()
};
//请求接口
var data = ServerDataHelper.DoApiOP(requestData, "PayGenerateOrder");
if (data.Code == 0)
{
var v = data.ConvertToObject<Res_GenerateOrder>();
this.CurrentOrderID = v.OrderID;
pictureBox2.Image = CreateQRCode(v.URL, Properties.Resources.logo2);
btn_QueryOrder.Enabled = true;
btn_QueryOrder.Image = Properties.Resources.支付宝支付完成;
StartLoop();
}
else
{
frmMsg.ShowError(data.Message);
}
}调用后台WebApi接口
C# 全选
public static ModelResponse DoApiOP(object queryOrData, string operationName)
{
string url = GetURL() + "api/do/post";
string data = ConvertData(queryOrData);
ModelRequestAction M = new ModelRequestAction
{
Action = 888091688,
ClientData = "",
Operation = operationName,
Timestamp = DateTime.Now.ToString("yyyyMMddHHmmss"),//时间戳
ApiKey = PrivateKeys.ApiKey,
Data = data,
DataIsEncrypted = false,//不需要加密
};
//Sign数字签名
M.Sign = Core.CryptoHelper.ToMD5(M.ApiKey + M.Data + PrivateKeys.SecretKey + M.Timestamp);
string json = JsonConvert.SerializeObject(M, JsonSettings.Current);
string result = WebApiTools.Post(url, json);
ModelResponse response = JsonConvert.DeserializeObject<ModelResponse>(result, JsonSettings.Current);
return response;
}CSFramework.WebApi开发框架
https://www.cscode.net/archive/webapi/1630590361.html
生成支付二维码(中间带Logo)
C#代码 - QRCodeEncoder类
C# 全选
/// <summary>
/// 生成二维码(中间带LOGO)
/// </summary>
/// <param name="absoluteSave">保存的绝对路径</param>
/// <param name="qrdata">二维码内容:要附加的内容</param>
///<param name="absoluteSave">保存的绝对路径</param>
/// <returns></returns>
Image CreateQRCode(string qrdata, Image logo)
{
try
{
QRCodeEncoder encoder = new QRCodeEncoder();
encoder.QRCodeEncodeMode = QRCodeEncoder.ENCODE_MODE.BYTE;//编码方式(注意:BYTE能支持中文,ALPHA_NUMERIC扫描出来的都是数字)
encoder.QRCodeScale = 5;//大小(值越大生成的二维码图片像素越高)
encoder.QRCodeVersion = 0;//版本(注意:设置为0主要是防止编码的字符串太长时发生错误)
encoder.QRCodeErrorCorrect = QRCodeEncoder.ERROR_CORRECTION.H;//错误效验、错误更正(有4个等级)
encoder.QRCodeBackgroundColor = Color.White;
encoder.QRCodeForegroundColor = Color.Black;
System.Drawing.Image image = encoder.Encode(qrdata, Encoding.UTF8);
Graphics g = Graphics.FromImage(image);
int width1 = image.Width / 4;
int height1 = image.Height / 4;
int x = image.Width / 2 - width1 / 2;
int y = image.Height / 2 - height1 / 2;
g.FillRectangle(new SolidBrush(Color.White), x, y, width1, height1);
Bitmap copyImage = new Bitmap(logo, width1 - image.Width / 40, height1 - image.Height / 40);
g.DrawImage(copyImage, x + image.Width / 40 / 2, y + image.Height / 40 / 2);
copyImage.Dispose();
g.Dispose();
return image;
}
catch (Exception e)
{
throw e;
//一些操作
}
}二维码图片效果


参考文档:
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
C# Winform等待窗体WaitingForm组件下载(CSFramework提供)|C/S开发框架
企业级C/S系统快速开发框架(Winform+.NET8+EFCore)|C/S开发框架
最新MES系统快速开发平台(Winform+NET8+EFCore)|C/S开发框架
Winform软件开发框架|快速开发平台推荐|C/S开发框架
Winform开发框架 | 表格编辑窗体权限控制|C/S开发框架
DevExpress组件版本下载、安装与VS开发环境 | Winform C/S框架|C/S开发框架
WinFormsApp窗体应用快速开发框架(.NET7+EFCore+VS2022)
Winform C/S架构自动升级程序 AutoUpgraderV1.2迭代记录|C/S开发框架
C/S Winform框架开发指南 | 如何新增系统消息参数(sys_SystemSettings表)|C/S开发框架
C/S Winform开发框架 | 单表基础资料窗体实现主从表资料管理|C/S开发框架
PLC,上位机软件快速开发框架(VS2022+C#+Winform)
Winform开发框架 - 使用Linq判断日期时间范围查询条件的方法
CSFrameworkV6 - Winform开发框架 - Delete方法使用
CSFrameworkV6 - Winform开发框架 - GetLookupData方法使用
Winform框架通用导入程序,支持Excel,xls/xlsx格式|C/S开发框架
C/S软件授权注册系统V3.0(Winform+WebApi+.NET8+EFCore版本)|C/S开发框架
C# Winform等待窗体WaitingForm组件下载(CSFramework提供)|C/S开发框架
企业级C/S系统快速开发框架(Winform+.NET8+EFCore)|C/S开发框架
最新MES系统快速开发平台(Winform+NET8+EFCore)|C/S开发框架
Winform软件开发框架|快速开发平台推荐|C/S开发框架
Winform开发框架 | 表格编辑窗体权限控制|C/S开发框架
DevExpress组件版本下载、安装与VS开发环境 | Winform C/S框架|C/S开发框架
WinFormsApp窗体应用快速开发框架(.NET7+EFCore+VS2022)
Winform C/S架构自动升级程序 AutoUpgraderV1.2迭代记录|C/S开发框架
C/S Winform框架开发指南 | 如何新增系统消息参数(sys_SystemSettings表)|C/S开发框架
C/S Winform开发框架 | 单表基础资料窗体实现主从表资料管理|C/S开发框架
PLC,上位机软件快速开发框架(VS2022+C#+Winform)
Winform开发框架 - 使用Linq判断日期时间范围查询条件的方法
CSFrameworkV6 - Winform开发框架 - Delete方法使用
CSFrameworkV6 - Winform开发框架 - GetLookupData方法使用
Winform框架通用导入程序,支持Excel,xls/xlsx格式|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服



