微信支付后台服务器返回的接口通知notify_url(回调接口设计)-C/S框架网
微信支付后台服务器返回的接口通知notify_url(回调接口设计)-C/S框架网
一、线上支付开发资料网址大全 1.1 支付宝 支付宝商家中心 https://mrchportalweb.alipay.com 支付宝服务商中心 https://p.alipay.com 支付宝开放平台 https://openhome.alipay.com 支付宝开放平台文档中心:https://opendocs.alipay.com/open/00a0ut 支付宝JSAPI H5开发文档介绍:https://myjsapi.alipay.com/alipayjsapi/index.html 1.2 微信支付 二、前端、后端开发技术支持服务 C/S框架网提供微信、支付宝线上支付整体解决方案!!! 2.1 详细开发文档 2.2 微信、支付宝支付开发教程: 2.3 微信、支付宝Web支付演示: 三、成功案例 3.1 Web/网站集成在线支付: 3.2 Winform桌面系统集成在线支付: 四、WebApi后端接口样参考 案例代码参考1: XML Code: <xml> <appid><![CDATA[wx44495463a43b7c]]></appid> <bank_type><![CDATA[CMB_CREDIT]]></bank_type> <cash_fee><![CDATA[20]]></cash_fee> <fee_type><![CDATA[CNY]]></fee_type> <is_subscribe><![CDATA[N]]></is_subscribe> <mch_id><![CDATA[1527472222]]></mch_id> <nonce_str><![CDATA[6OQ37L7i6JN1PRLD]]></nonce_str> <openid><![CDATA[oCohp1HF7xLcx-o5QdA-hLc2ios8]]></openid> <out_trade_no><![CDATA[15557331433589231953]]></out_trade_no> <result_code><![CDATA[SUCCESS]]></result_code> <return_code><![CDATA[SUCCESS]]></return_code> <sign><![CDATA[6C6A7CB3F3C742D0AE56687A10F4EA31]]></sign> <time_end><![CDATA[20190415203040]]></time_end> <total_fee>20</total_fee><trade_type> <![CDATA[APP]]></trade_type> <transaction_id><![CDATA[4200000290201904150837155038]]></transaction_id> </xml> //来源:C/S框架网(www.csframework.com) QQ:23404761 微信回调接口设计要求: 1,notify_url:回调通知接口HTTP地址,POST请求,不能是IP地址(必须是域名)不能带端口,预设80端口。 参考: http://www.xxxx.com/notify_url.aspx 2,必须是外网能访问HTTP地址,POST方式,微信服务器POST XML数据过来,请使用PostMan工具调试。 3,微信回调的接口中完成更改商户数据库的订单状态,操作成功给微信返回xml数据,这样微信后台就认为这笔订单交易成功,不会再次回调接口。 详情参考微信API接口说明: 更改商户数据库的订单状态: DBHelper类,引用多数据库底层接口IDatabase。 参考:C#多数据库组件包支持MSSQL+Oracle+MySQL+用户操作手册 C# Code: using CSFramework.DB; using System; using System.Collections.Generic; using System.Linq; using System.Web; /// <summary> /// DBHelper数据层 /// </summary> public static class DBHelper { //日志数据库 private static IDatabase CreateLogDB() { string conn_log = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["Simidata_LogDB"].ToString(); return DatabaseFactory.CreateDatabase(DatabaseType.SqlServer, conn_log); } //业务数据库 private static IDatabase CreateSimidataDB() { string conn_log = System.Web.Configuration.WebConfigurationManager.ConnectionStrings["Simidata"].ToString(); return DatabaseFactory.CreateDatabase(DatabaseType.SqlServer, conn_log); } /// <summary> /// 写日志 /// </summary> /// <param name="logType">日志类型</param> /// <param name="content">内容</param> /// <param name="ip">IP</param> public static void WriteLog(string logType, string content, string ip) { string sql = "INSERT INTO dbo.sys_Log(TS,IP,LogType,LogContent) SELECT GETDATE(),@IP,@LogType,@LogContent"; IDatabase db = CreateLogDB(); CommandHelper cmd = db.CreateCommand(sql); cmd.AddParam("@IP", ip); cmd.AddParam("@LogType", logType); cmd.AddParam("@LogContent", content); db.ExecuteCommand(cmd.Command); } /// <summary> /// 更新本地数据库订单状态 /// </summary> /// <param name="orderID">订单编号</param> /// <param name="success">true/false</param> /// <param name="WxTransactionID">微信交易号</param> /// <param name="amount">金额(分)</param> /// <returns></returns> public static bool UpdateOrderState(string orderID, bool success, string WxTransactionID, int amount) { string sql = "UPDATE dbo.tb_PayTransList SET FlagTrans=2,WxCallbackTime=GETDATE(),WxTransactionID=@WxTransactionID WHERE MerID=@MerID AND Amount*100=@Amount"; IDatabase db = CreateSimidataDB (); CommandHelper cmd = db.CreateCommand(sql); cmd.AddParam("@WxTransactionID", WxTransactionID); cmd.AddParam("@MerID", orderID); cmd.AddParam("@Amount", amount); int i = db.ExecuteCommand(cmd.Command); return i == 1; } } //来源:C/S框架网(www.csframework.com) QQ:23404761 使用PostMan测试notify_url地址: 必须返回XML格式的数据给微信服务器: C# Code: <xml> <return_code><![CDATA[SUCCESS]]></return_code> <return_msg><![CDATA[OK]]></return_msg> </xml> 商户本地数据库的日志信息: C#微信支付完成前端回调通知notify_url完整版源码 .NET WebApi开发框架|微信小程序后端开发框架-标准版V1.0 适用开发:快速构建支持多种客户端的服务端程序,支持APP、B/S、C/S跨平台移动终端等。 运行平台:Windows + .NET Framework 4.5 开发工具:Visual Studio 2015+,C#语言 数据库:Microsoft SQLServer 2008R2+(支持多数据库:Oracle/MySql) 一、产品介绍CSFramework.WebApi是服务端快速开发框架(后端框架),借助ASP.NET WebAPI底层架构的强大编程能力,封装成为可复用的以及可定制开发的服务端软件模板,CSFramework.WebApi提供可复用的软件架构和开发包,为用户快速轻松搭建基于HTTP协议、HTTPS协议以及支持多种客户端(如:APP、B/S、C/S、微信公众号、微信小程序等)各种跨平台移动终端的服务端应用程序。 服务端应用开发、后端接口开发是软件项目重要工作环节,服务端注重业务逻辑、数据处理和数据分析、算法等方面的设计和服务,前端主要体现在用户体验、界面操作和数据采集方面。前端软件系统和后端服务架构共同搭建跨平台大型数据管理应用系统。 扫一扫加作者微信
参考文档:
.Net后端框架|WebApi服务端开发框架|C/S框架网原创作品 C/S服务器框架WCF框架 - C/S框架网 基于C/S三层架构的WCF开发框架接口调用流程|C/S框架网 WCF模式以及ADO-Direct模式|C/S框架网 开发技巧-Winform窗体自动生成下一个业务流程的单据|C/S框架网 MdiTools.cs类下载|CSFramework版本V5.0|C/S框架网 CSFramework.DB-扩展命令超时和连接超时参数设置|C/S框架网 VS Winform设置应用程序文件图标及任务栏显示图标|C/S框架网 通用文本提示对话框窗体支持保存文本文件|C/S框架网 VS2015 Winform窗体设置DevExpress预设的图标库(组件Image属性)|C/S框架网 C#.NET短信通用接口设计-调用短信API案例|C/S框架网 基于MVC架构的WebApi服务端开发框架核心优势|C/S框架网 CSFramework WebApi服务端框架开发微信支付接口成功案例 VS.NET后端框架,C#.NET开发的服务器端开发框架 - C/S框架网 C#.NET IP端口绑定SSL证书支持HTTPS协议(用于Win服务自承载WebApi服务器) - 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内容管理系统 | |