主机参考:VPS测评参考推荐/专注分享VPS服务器优惠信息!若您是商家可以在本站进行投稿,查看详情!此外我们还提供软文收录、PayPal代付、广告赞助等服务,查看详情! |
我们发布的部分优惠活动文章可能存在时效性,购买时建议在本站搜索商家名称可查看相关文章充分了解该商家!若非中文页面可使用Edge浏览器同步翻译!PayPal代付/收录合作 |
红包功能简介:
1.商家调用接口时,通过指定发送对象和发送金额来发放红包。这样商家可以灵活应用于各种丰富的活动场景。
2.用户收到红包后,资金直接进入微信零钱,避免了复杂的领奖流程,给用户带来了微信支付的流畅体验。
现金红包文件地址:coupon.php https://pay.weixin.qq.com/wiki/Doc/API/tools/cash?第13章_1
调用充现金红包接口需要证书。请到商家平台下载证书。
官网详细证书介绍:https://pay.weixin.qq.com/wiki/Doc/API/tools/cash _ coupon.php?第4章_3
因为发充现金红包是从商家平台余额中扣除的,所以商家平台的账户余额必须有足够的余额。
下面是调用红包接口的详细代码:1。签名的MD5加密类:
/// lt;总结 gt///MD 5 util helper的概要描述。/// lt;/summary gt;类MD 5 util helper { public MD 5 util helper(){///todo:在此添加构造函数逻辑//}//< summary gt;//// lt大写MD5签名结果//</summary gt;/// lt;param name = encypStr gt lt/param gt;/// lt;param name = 字符集 gt lt/param gt;/// lt;returns gt lt/returns gt;公共静态字符串GetMD5(string encypStr,string charset){ string retStr;m D5 cryptoserviceprovider M5 = new m D5 cryptoserviceprovider();//创建md5对象byte[]input bye;byte[]output by;//使用GB2312编码方法将字符串转换为字节数组。请尝试{ input bye = encoding . get encoding(charset)。getbytes(encypstr);} catch(Exception ex){ input bye = Encoding。get encoding( ;GB2312 ).GetBytes(encypStr);} outputBye = m5。compute hash(input bye);retStr =系统。bit converter . ToString(output bye);retStr = retStr。替换(- ;, &;).ToUpper();返回retStr}}2.处理参数的类别:
公共类request handler { public request handler(HttpContext HttpContext){ Parameters = new Hashtable();这个。HttpContext = httpContext??HttpContext。当前;}//// lt;总结 gt///key//</summary gt;私有字符串密钥;受保护的HttpContext HttpContext/// lt;总结 gt///请求的参数//</summary gt;受保护的哈希表参数;/// lt;总结 gt///调试信息//</summary gt;私有字符串DebugInfo/// lt;总结 gt///初始化函数//</summary gt;公共虚拟void Init(){ }/// lt;总结 gt//// lt调试信息//</summary gt;/// lt;returns gt lt/returns gt;公共字符串getdebug info(){ return debug info;}//// lt;总结 gt//// lt the key//</summary gt;/// lt;returns gt lt/returns gt;公共字符串GetKey(){ return Key;}//// lt;总结 gt//// lt the key//</summary gt;/// lt;param name = key gt lt/param gt;public void SetKey(string key){ this。Key = key}//// lt;总结 gt//// lt参数值//</summary gt;/// lt;param name = 参数 gt lt/param gt;/// lt;param name = 参数值 gt lt/param gt;public void SetParameter(字符串参数,字符串参数值){ if(参数!= null 参数!= &;){ if(参数。包含(参数)){参数。Remove(参数);}参数。Add(参数,parameter value);} }/// lt;总结 gt///创建md5摘要。规则是:按参数名a-z排序,空值的参数不签名。//</summary gt;/// lt;param name = key gt参数
/// lt;总结 gt///企业号微信支付接口//</summary gt;公有静态类财付通{#地区企业给用户发红包///< summary gt;///企业用来给微信用户发红包。//目前支持给指定微信用户的openid个人发红包。//</summary gt;/// lt;param name = 证书密码 gtApiclient_cert.p12证书密码是商户号</param gt;/// lt;param name = 数据 gt微信支付所需的post数据
#地区发红包boolfalls = false//记录红包是否发送成功。string xmlResult = null//充现金红包接口返回的XML字符串cert path = null;//证书在服务器中的物理位置字符串data = null//调用充现金红包接口所需的数据try{ //创建支付响应对象request handler package eq handler = New request handler(null);//初始化packageReqHandler。init();string nonceStr = TenPayV3Util。getnon centr();//timest//设置包顺序参数packagereqhandler . set parameter(" nonce _ str ;,非中心);//随机字符串,长度不超过32位packagereqhandler . set parameter(" mch _ bill no ;,系统。configuration . configuration manager . appsettings[ ;财付通_ MchId ] +型号。日记本编号);//商家订单号(每个订单号必须唯一)构成:MCH _ ID+yymmdd+10位一天内不能重复的数字。接口支持根据商户订单号重新录入,超时可以重新调用。packageReqHandler。set parameter( ;mch _ id ,系统。configuration . configuration manager . appsettings[ ;财付通_ MchId ]);//微信支付分发的商户号,packagereqhandler . set parameter(" wxappid ;,系统。configuration . configuration manager . appsettings[ ;财付通_ AppId ]);//微信分配的公众账号ID(企业号corpid就是这个appId)。所有传入接口的appid应该是微信官方账号的(在mp.weixin.qq.com申请),而不是APP的(在open.weixin.qq.com申请)。packageReqHandler。set parameter( ;发送姓名 , 测试”);//商家名称packagereqhandler . set parameter(" re _ OpenID ;,型号。银行卡);//接受红包的用户openid用户OpenID package ereqhandler . set parameter(")wx appid total _ amount ;,转换。ToInt32((十进制)(型号。金额* 1亿)。ToString(CultureInfo。invariant culture));//支付金额的单位是packagereqhandler . set parameter(" total _ num ;, 1 );//已发红包总数,packagereqhandler . set parameter(" wishing ;, 考红包 );//红包问候packagereqhandler . set parameter(" client _ IP ;,HttpContext。current . request . userhostaddress);//Ip地址packagereqhandler . set parameter(" act _ name ;, 考红包 );//活动名称packagereqhandler . set parameter(" remark ;, 考红包 );//备注string sign = packagereqhandler . createmd 5 sign(" key ;,系统。configuration . configuration manager . appsettings[ ;财付通_ Key ]);packageReqHandler。set parameter( ;签名 ,签字);//signature data = packagereqhandler . parse XML();certPath =服务器。MapPath( ;~/ ;)+系统。configuration . configuration manager . appsettings[ ;证书路径 ];xmlResult = Sendredpack(data,System。configuration . configuration manager . appsettings[ ;财付通_ MchId ],cert path);var res = XDocument。parse(XML result);字符串return _ code = RES . Element( ;XML gt;).元素( return_code).价值;如果( 成功 gt;。equals(return _ code)){ string result _ code = RES . Element( ;XML gt;).元素( 结果代码 ).价值;如果( 成功 gt;。equals(result _ code)){ fals = true;} } } catch(exception exception){ } # end region注意:证书所在的文件夹是有权限的,IIS必须有权限才能对文件夹进行操作。
相关文章:
微信微信官方账号自动发红包api,PHP公共红包API
微信官方账号中微信红包接口开发的PHP开发CA证书出错。请登录微信支付商户平台下载证书。
相关视频:
微信官方账号中微信-php微信界面开发实践项目的视频教程聊天机器人。以上是微信微信官方账号开发的详细内容:商家如何给用户发红包。请多关注主机参考其他相关文章!
这几篇文章你可能也喜欢:
本文由主机参考刊发,转载请注明:微信官方账号开发:商家如何给用户发红包的例子(商家如何给用户发充现金的红包) https://zhujicankao.com/79667.html
评论前必须登录!
注册