asp.net開發微信派發現金紅包/H5網頁搶紅包功能(思路詳解)

臨近節日,公司裡為瞭給廣大老客戶贈福利,以及來一波拉新活動:搞瞭一個營銷活動,大概活動規則如下:

1、老客戶通過網頁搶紅包,中獎會派發微信支付的紅包;

2、新客戶隻要關註後就可以中獎,持續關註x天後再派發紅包(防止擼羊毛,關註後立馬取關)。

開發的思路分析:

一、網頁版搶紅包功能,

1、前端先做好搶紅包的頁面;

3、後臺配置微信公眾號的appid,appsecret等和 微信支付商戶的mch_id,key,證書等;

3、後端使用微信公眾號裡的網頁授權功能,用戶在打開h5網頁的時候,拿到openid;

4、根據設置的活動時間范圍,紅包金額等限制,判斷是否可以搶紅包;

5、搶紅包符合規則,則將openid存入數據庫;提示用戶搶到紅包瞭。

6、根據openid來派發紅包;

核心代碼如下:

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,       //紅包發送者名稱
               "147.114.50.74",   //IP
              hbMoney,             //付款金額,單位分
             actModel.wishing,         //紅包祝福語
              actModel.act_name,          //活動名稱
              actModel.remark,          //備註信息
              out nonceStr,
              out paySign,
              null,             //場景id(非必填)
              null,             //活動信息(非必填)
              null             //資金授權商戶號,服務商替特約商戶發放時使用(非必填)
              );

代碼裡,我們用到Senparc這個第3方開源組件,可以非常方便的開發紅包功能。

二、關註紅包:

通過關註時候觸發的事件,拿到openid,在根據活動限制判斷是否中獎;中獎後,提示用戶活動紅包;

核心代碼如下:

using Senparc.Weixin.MP.Entities;
using Senparc.Weixin.MP.Helpers;
using Senparc.Weixin.MP.MessageHandlers;
    
/// <summary>
    /// 訂閱(關註)事件
    /// </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這個開源組件,其實相對比較簡單。

到此這篇關於asp.net開發微信派發現金紅包/H5網頁搶紅包功能的文章就介紹到這瞭,更多相關asp.net 微信派發現金紅包內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: