微信扫码支付~官方DEMO的坑~参数不能自定义
2016-11-08 10:06
225 查看
返回目录
由于微信在校验参数时采用了“微信服务端”校验,它的参数是前期定义好的,所以用户不能自己添加自定义的参数,你可以把参数写在Attach字段时,作为它的附加参数。
参数和返回值定义如下:
基本这些已经够用了,如果你的业务需要其它信息(发到微信再发回来),直接写到Attach里即可。
统一的回调封装
下面代码是大叔Lind框架对微信模块的封装,体现了自定义参数的作用
返回目录
由于微信在校验参数时采用了“微信服务端”校验,它的参数是前期定义好的,所以用户不能自己添加自定义的参数,你可以把参数写在Attach字段时,作为它的附加参数。
参数和返回值定义如下:
public class NotifyResult : ResultBase { public NotifyResult(ResultBuilder resultBuilder) : base(resultBuilder) { } /// <summary> /// 设备号 /// </summary> public string Device_Info { get { return GetValue("device_info"); } } /// <summary> /// 用户标识 /// </summary> public string OpenId { get { return GetValue("openid"); } } /// <summary> /// 是否关注公众号 /// </summary> public bool Is_Subscribe { get { return GetBooleanValue("is_subscribe"); } } /// <summary> /// 交易类型 /// </summary> public TradeType Trade_Type { get { return (TradeType)GetEnumValue<TradeType>("trade_type"); } } /// <summary> /// 付款银行 /// </summary> public string Bank_Type { get { return GetValue("bank_type"); } } /// <summary> /// 总金额 /// </summary> public int Total_Fee { get { return GetIntValue("total_fee"); } } /// <summary> /// 现金券金额 /// </summary> public int Coupon_Fee { get { return GetIntValue("coupon_fee"); } } /// <summary> /// 货币种类 货币类型,符合 ISO 4217标准的三位字母代码,默认人民币:CNY /// </summary> public string Fee_Type { get { return GetValue("fee_type"); } } /// <summary> /// 微信支付订单号 /// </summary> public string Transaction_Id { get { return GetValue("transaction_id"); } } /// <summary> /// 商户订单号 /// </summary> public string Out_Trade_No { get { return GetValue("out_trade_no"); } } /// <summary> /// 商家数据包 /// </summary> public string Attach { get { return GetValue("attach"); } } /// <summary> /// 支付完成时间 /// </summary> public string Time_End { get { return GetValue("time_end"); } } /// <summary> /// 产品ID /// </summary> public string Product_Id { get { return GetValue("product_id"); } } }
基本这些已经够用了,如果你的业务需要其它信息(发到微信再发回来),直接写到Attach里即可。
统一的回调封装
下面代码是大叔Lind框架对微信模块的封装,体现了自定义参数的作用
/// <summary> /// 微信回调 /// </summary> public string WeixinNotify() { Lind.DDD.Logger.LoggerFactory.Instance.Logger_Info("微信Callback"); WxPaymentConfig wxPaymentConfig = new WxPaymentConfig(); WxPayImpl wxPayImpl = new WxPayImpl(wxPaymentConfig); string Msg = wxPayImpl.RecieveWxPayNotify((notify) => { int projectId; int.TryParse(notify.Attach, out projectId); string fullName = Db.Project_Modules.Where(i => i.Id == projectId).FirstOrDefault().FullName; taskInfoProvider = Lind.DDD.Plugins.PluginManager.Resolve<ITaskInfoProvider>(fullName); taskInfoProvider.Pay_Callback(new PayCallbackParams { OrderId = notify.Out_Trade_No, TradeId = notify.Transaction_Id }); }, (msg) => { }); return Msg; }
返回目录
相关文章推荐
- 微信扫码支付官方下载的demo本地运行时遇到的坑以及对应解决方法
- java开发Demo~微信扫码支付demo
- 微信扫码支付Demo(java)
- js+php微信扫码支付详细说明+demo
- (用微信扫的静态链接二维码)微信native支付模式官方提供的demo文件中的几个bug修正
- android 微信扫码支付模式一生成二维码 原生支付url参数错误
- (用微信扫的静态链接二维码)微信native支付模式官方提供的demo文件中的几个bug修正
- 请问下大家,微信扫码支付时,出现:原生支付URL参数错误!请问这具体是什么错误呢? 是按照微信二维码格式生成的内容
- 微信扫码支付官方配置(一)
- 微信JS SDK Demo 官方案例
- 微信扫码支付.net版本
- 微信扫码支付asp.net(C#)实现步骤
- 微信官方分享demo 成功运行并分享
- 微信扫码支付成功后跳转
- 微信扫码支付,扫商户二维码后,输入金额支付 php源代码下载 类似闪惠、到店付功能实现教程和源代码
- 微信接口出现“调用支付jsapi缺少参数appid”
- 微信JS SDK Demo 官方案例
- 分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件
- 分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件