.net Core 微信支付之小程序红包

       最近有个项目增加导游引流功能,因为项目只用的小程序,没有使用公众号,没法用”现金红包“功能,开通商家转账到零钱需要7-14天才能申请下来,暂时先用小程序红包顶上,一路都是坑啊,特此记录下。

        官方文档【微信支付】小程序红包开发者文档 (qq.com)

先开下具体效果,点击领取佣金=>生成红包=>领取红包

废话不多说,开始走起

1、开通(省略)

2、向运营账户中充值(开始以为可以用账户金额了,自己想多了,说明微信想的多么周到)

3、以用户OpenID为基础生成一个红包,然后在前端直接领取, 所以有两个流程   一个是生成红包,一个是领取红包。

4、具体实现(根据实际情况进行设计,我们的项目是凌晨对前一天的订单进行结算,结算完导游就能进行领取了,我这里是前端小程序进行的生成和领取的,这个要根据实际业务来设计)

5、部分代码(.net core)

生成红包

[HttpPost]
        public async Task<ActionResult> SendMiniProgramhb(string openid,string billno,decimal amount)
        {
            try
            {
                string url = "https://api.mch.weixin.qq.com/mmpaymkttransfers/sendminiprogramhb";

                string nonce_str = WXPay.GetNoncestr();
                string total_amount = (Math.Round((decimal)amount * 100, 0)).ToString();
                //参与统一下单签名的参数,除最后的key外,已经按参数名ASCII码从小到大排序
                string unifiedorderSignParam = string.Format("act_name={0}&mch_billno={1}&mch_id={2}&nonce_str={3}&notify_way={4}&re_openid={5}&remark={6}&send_name={7}&total_amount={8}&total_num={9}&wishing={10}&wxappid={11}&key={12}"
                    , "导游分佣", billno, MCH_ID, nonce_str, "MINI_PROGRAM_JSAPI",openid, "导游分佣", "xxx", total_amount,"1", "感谢您的付出!",APP_ID, KEY);
                //MD5加密并将结果转换成大写
                string unifiedorderSign =WXPay.GetMD5(unifiedorderSignParam).ToUpper();

                //获取统一的下单的请求参数
                string param = string.Format(@"<xml>
                                                <act_name>导游分佣</act_name>
                                                <mch_billno
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值