官方对接说明文档:
小程序支付管理服务介绍 | 微信开放文档
一、注册商户号
二、统一下单,客户端调起支付付款
调用wx.requestOrderPayment 前,需在小程序微信公众平台 -功能 - 支付管理入口或调用进件接口 申请商户号。
三、配置消息推送,接收支付结果通知、订单退款通知等
特别说明:
消息通知 接收消息需要解密
响应微信服务器,需要加密处理
参数验证特别说明:
请求参数:请求报文内容是空字符串
响应参数:请原样返回 echostr 参数内容,则接入生效,成为开发者成功,否则接入失败
官方文档:
消息推送 | 微信开放文档
加密解密说明,并且有源码Demo
概述 | 微信开放文档
public IActionResult Callback()
{
try
{
using (StreamReader sr = new StreamReader(Request.Body, Encoding.UTF8))
{
//LogHelper.Info("接受事件回调处理");
string content = sr.ReadToEndAsync().Result;//验证请求发送的内容围攻
LogHelper.Info(content);
//解密处理
EventManage.ReqData reqData = new EventManage.ReqData();
reqData.signature = Request.Query["signature"];
reqData.timestamp = Request.Query["timestamp"];
reqData.nonce = Request.Query["nonce"];
reqData.echostr = Request.Query["echostr"];
EventManage _event = new EventManage();
_event.reqData = reqData;
var eventOrder = _event.LoadData(content);
if (string.IsNullOrEmpty(reqData.postdata))
return Content(reqData.echostr);
LogHelper.Info("处理的单号:"+eventOrder.Order_Info.Trade_No);
//逻辑处理,修改订单状态,充值到账,发奖处理
RechargeRecordOperate _rechange = new RechargeRecordOperate();
_rechange.CallBack(eventOrder.Order_Info.Trade_No);
//发送公众号通知
return Json(_event.Success());
}
}
catch (Exception ex)
{
LogHelper.Debug("小程序消息回调,报错:", ex);
return Error(ex);
}
}
更多: