asp.net開發(fā)微信派發(fā)現(xiàn)金紅包/H5網(wǎng)頁搶紅包功能(思路詳解)
臨近節(jié)日,公司里為了給廣大老客戶贈福利,以及來一波拉新活動:搞了一個營銷活動,大概活動規(guī)則如下:
1、老客戶通過網(wǎng)頁搶紅包,中獎會派發(fā)微信支付的紅包;
2、新客戶只要關(guān)注后就可以中獎,持續(xù)關(guān)注x天后再派發(fā)紅包(防止擼羊毛,關(guān)注后立馬取關(guān))。
開發(fā)的思路分析:
一、網(wǎng)頁版搶紅包功能,
1、前端先做好搶紅包的頁面;

3、后臺配置微信公眾號的appid,appsecret等和 微信支付商戶的mch_id,key,證書等;
3、后端使用微信公眾號里的網(wǎng)頁授權(quán)功能,用戶在打開h5網(wǎng)頁的時候,拿到openid;
4、根據(jù)設(shè)置的活動時間范圍,紅包金額等限制,判斷是否可以搶紅包;
5、搶紅包符合規(guī)則,則將openid存入數(shù)據(jù)庫;提示用戶搶到紅包了。
6、根據(jù)openid來派發(fā)紅包;
核心代碼如下:
using Senparc.Weixin.MP.TenPayLibV3;
string certPath = HttpContext.Current.Server.MapPath(weixinPayModel.certInfoPath); // @"F:\apiclient_cert.p12";
sendNormalRedPackResult = RedPackApi.SendNormalRedPack(
weixinModel.AppId, weixinPayModel.mch_id, weixinPayModel.paykey,
certPath, //證書物理地址
openid, //接受收紅包的用戶的openId
actModel.send_name, //紅包發(fā)送者名稱
"147.114.50.74", //IP
hbMoney, //付款金額,單位分
actModel.wishing, //紅包祝福語
actModel.act_name, //活動名稱
actModel.remark, //備注信息
out nonceStr,
out paySign,
null, //場景id(非必填)
null, //活動信息(非必填)
null //資金授權(quán)商戶號,服務(wù)商替特約商戶發(fā)放時使用(非必填)
);
代碼里,我們用到Senparc這個第3方開源組件,可以非常方便的開發(fā)紅包功能。
二、關(guān)注紅包:
通過關(guān)注時候觸發(fā)的事件,拿到openid,在根據(jù)活動限制判斷是否中獎;中獎后,提示用戶活動紅包;

核心代碼如下:
using Senparc.Weixin.MP.Entities;
using Senparc.Weixin.MP.Helpers;
using Senparc.Weixin.MP.MessageHandlers;
/// <summary>
/// 訂閱(關(guān)注)事件
/// </summary>
/// <returns></returns>
public override IResponseMessageBase OnEvent_SubscribeRequest(RequestMessageEvent_Subscribe requestMessage)
{
int apiid = wxcomm.getApiid();
//------印美圖接口 begin------
//threeInterface.weipaiInterface wxcf = new threeInterface.weipaiInterface();
//wxcf.weipaiSubscribe(requestMessage.FromUserName, apiid);
//------印美圖接口 end------
xjHongBao xjMgr = new xjHongBao();
string getHongBaoRet= xjMgr.SubscribeHongBao(requestMessage.FromUserName, apiid);
if(string.IsNullOrWhiteSpace( getHongBaoRet))
{
return EventProcess(6, requestMessage);
}
else
{
return EventProcess(100, requestMessage, getHongBaoRet);
}
}
也用到了Senparc這個開源組件,其實相對比較簡單。
到此這篇關(guān)于asp.net開發(fā)微信派發(fā)現(xiàn)金紅包/H5網(wǎng)頁搶紅包功能的文章就介紹到這了,更多相關(guān)asp.net 微信派發(fā)現(xiàn)金紅包內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
.net core 6.0 通過依賴注入注冊和使用上下文服務(wù)的教程
在.NET Core 6.0 中,獲取上下文的方式取決于您使用的技術(shù)棧和具體的應(yīng)用程序類型,這篇文章主要介紹了.net core 6.0 通過依賴注入注冊和使用上下文服務(wù)的教程,需要的朋友可以參考下2023-12-12
Visual Studio 2019 使用 Live Share的教程圖解
Visual Studio 2019 在今天發(fā)布(北京時間)了,這次帶來了一個比較有趣的 Live Share 功能,使用它可以進(jìn)行更好的協(xié)作開發(fā)。這篇文章主要介紹了Visual Studio 2019 使用 Live Share的教程,需要的朋友可以參考下2019-04-04
MVC+EasyUI+三層新聞網(wǎng)站建立 實現(xiàn)登錄功能(四)
這篇文章主要為大家詳細(xì)介紹了MVC+EasyUI+三層新聞網(wǎng)站建立的第四篇,教大家實現(xiàn)登錄功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-07-07
如何在一個.NET?Core項目中使用RabbitMQ進(jìn)行即時消息管理
本文提供了在.NETCore項目中使用RabbitMQ進(jìn)行即時消息管理的詳細(xì)操作指南,包括安裝Erlang和RabbitMQ,配置RabbitMQ,以及在.NETCore項目中編寫代碼和調(diào)試,操作步驟詳盡,感興趣的朋友一起看看吧2024-09-09
SignalR Self Host+MVC等多端消息推送服務(wù)(一)
這篇文章主要為大家詳細(xì)介紹了SignalR Self Host+MVC等多端消息推送服務(wù),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-06-06

