APP调起微信支付c#后台接口

万事须己运,他得非我贤。这篇文章主要讲述APP调起微信支付c#后台接口相关的知识,希望能为你提供帮助。
                            c#后台APP微信支付接口和微信公众号支付差不多

    #region  微信APP支付接口                 ///  < summary>                 ///  微信APP支付接口                 ///  < /summary>                 ///  < param  name=" out_trade_no" > 支付订单号< /param                 ///  < param  name=" total_fee" > 支付金额< /param>                 ///  < param  name=" type" > 1.安卓,2.ios< /param>                 ///  < returns> < /returns>                 [HttpGet]                 public  CommonResponse< Wx_pay>   APP_Pay(string  out_trade_no,Double  total_fee,int  type)                 {                         PayMent  pm  =  new  PayMent();                         string  ip  =  HttpContext.Current.Request.UserHostAddress;                         int  money  =int.Parse((total_fee  *  100).ToString());                         Wx_pay  wp  =  pm.APP_PayMent(" 服务费" ,ip,money,out_trade_no,type);                         if  (wp.sign  ==  " " )  {                                 return  new  CommonResponse< Wx_pay>   {  Data  =  null,  Message  =  " 系统异常,联系管理员!" ,  Code  =  EnumResponseCode.Fail.GetHashCode()  };                         }                         return  new  CommonResponse< Wx_pay>   {  Data  =  wp,  Message  =  String.Empty,  Code  =  EnumResponseCode.Successful.GetHashCode()  };                 }                 #endregion                                ///               ///是对返回数据类型               ///           public  class  CommonResponse< T>           {                 public  T  Data  {  get;   set;   }                                     ///  < summary>                 ///  代码    1:失败,2:成功                 ///  < /summary>                 public  int  Code  {  get;   set;   }                 ///  < summary>                 ///  消息                 ///  < /summary>                 public  string  Message  {  get;   set;   }                ///  < summary>                 ///  其他附带信息                 ///  < /summary>                 public  string  Tag  {  get;   set;   }                         }                               ///  < summary>         ///  微信APP支付实体         ///  < /summary>     public  class  Wx_pay         {                 ///  < summary>                 ///  应用ID                 ///  < /summary>                 public  string  appid  {  set;   get;   }  =  " " ;                 ///  < summary>                 ///  商户号                 ///  < /summary>                 public  string  partnerid  {  set;   get;   }  =  " " ;                 ///  < summary>                 ///  预支付交易会话ID                 ///  < /summary>                 public  string  prepayid  {  set;   get;   }  =  " " ;                 ///  < summary>                 ///  扩展字段                 ///  < /summary>                 public  string  package  {  set;   get;   }  =  " Sign=WXPay" ;                 ///  < summary>                 ///  随机字符串                 ///  < /summary>                 public  string  noncestr  {  set;   get;   }  =  " " ;                 ///  < summary>                 ///  时间戳                 ///  < /summary>                 public  string  timestamp  {  set;   get;   }  =  " " ;                 ///  < summary>                 ///  签名                 ///  < /summary>                 public  string  sign  {  set;   get;   }  =  " " ;         }                                                                                   #region  微信APP支付                 ///  < summary>                 ///  微信APP支付                 ///  < /summary>                 ///  < param  name=" boby" > 商品描述< /param>                 ///  < param  name=" mch_id" > 商户号< /param>                 ///  < param  name=" spbill_create_ip" > 终端IP< /param>                 ///  < param  name=" total_fee" > 金额< /param>                 ///  < param  name=" out_trade_no" > 商户订单号< /param>                 ///  < returns> < /returns>                 public  Wx_pay  APP_PayMent(  string  boby,    string  spbill_create_ip,  int  total_fee,  string  out_trade_no,int  type)               {                       UnifiedOrder  order  =  new  UnifiedOrder();                         if  (type  ==  1)                         {                                 order.appid  =  APP_Aconfig.appid;                                 order.mch_id  =  APP_Aconfig.partnerid;                         }                         else  {                                 order.appid  =  APP_Iconfig.appid;                                 order.mch_id  =  APP_Iconfig.partnerid;                         }                       order.attach  =  " APP名称-支付内容说明" ;                       order.body  =  boby;                       order.device_info  =  " WEB" ;                       order.nonce_str  =  TenpayUtil.getNoncestr();                       order.notify_url  =  APP_Aconfig.url;                       order.out_trade_no  =  out_trade_no;                       order.trade_type  =  " APP" ;                       order.spbill_create_ip  =  spbill_create_ip;                       order.total_fee  =  total_fee;                       TenpayUtil  tenpay  =  new  TenpayUtil();                         string  paySignKey  =  string.Empty;                         if  (type  ==  1)                         {                                 paySignKey  =  APP_Aconfig.paysignkey;                         }                         else  {                                   paySignKey  =  APP_Iconfig.paysignkey;                         }                       string  prepay_id  =  tenpay.getPrepay_id(order,  paySignKey);                                     string  timeStamp  =  TenpayUtil.getTimestamp();                       string  nonceStr  =  TenpayUtil.getNoncestr();                       SortedDictionary< string,  object>   sParams  =  new  SortedDictionary< string,  object> ();                       sParams.Add(" appId" ,  APP_Aconfig.appid);                       sParams.Add(" timeStamp" ,  timeStamp);                       sParams.Add(" nonceStr" ,  nonceStr);                       sParams.Add(" package" ,  " prepay_id="   +  prepay_id);                       sParams.Add(" signType" ,  " MD5" );                       string  paySign  =  tenpay.getsign(sParams,  paySignKey);                         Wx_pay  wp  =  new  Wx_pay();                         if  (type  ==  1)                         {                                 wp.appid  =  APP_Aconfig.appid;                                 wp.partnerid  =  APP_Aconfig.partnerid;                         }                         else  {                                 wp.appid  =  APP_Iconfig.appid;                                 wp.partnerid  =  APP_Iconfig.partnerid;                         }                         wp.noncestr  =  nonceStr;                         wp.prepayid  =  prepay_id;                         wp.sign  =  paySign;                         wp.timestamp  =  timeStamp;                         return  wp;               }                 #endregion                                   ///  < summary>         ///  APP安卓支付配置         ///  < /summary>         public  class  APP_Aconfig         {                 public  const  string  appid  =  " " ; //APPID                 public  const  string  partnerid  =  " " ; //商户号                 public  const  string  paysignkey  =  " " ; //证书密匙                 public  const  string  url  =  " " ; //回调ur         }                                   ///  < summary>         ///  APPios  支付配置         ///  < /summary>         public  class  APP_Iconfig         {                 public  const  string  appid  =  " " ; //APPID                 public  const  string  partnerid  =  " " ; //商户号                 public  const  string  paysignkey  =  " " ; //证书密匙                 public  const  string  url  =  " " ; //回调url         }                                                 对于      TenpayUtil  tenpay  =  new  TenpayUtil(); 这个类其他文章上有代码。                 请求方式:http  get                  接口参数说明 名称        类型        必填        说明        out_trade_no        string        是        支付订单ID        total_fee        Double        是        支付金额        type        int        是        1.安卓,2.IOS          返回示例: /****失败示例**/ { " Code" :1,  /*状态码    1:失败  2:成功  */ " Message" :" 错误信息" ,/*消息(一般失败时,返回错误信息)*/ " Tag" :" " /*附加信息*/ }       /****成功示例**/ { " Code" :2,  /*状态码    1:失败  2:成功*/ “Data”:[] " Message" :" " ,/*消息(一般失败时,返回错误信息)*/ " Tag" :" 附加信息" /*  */ } 接口返回Data集合参数说明 名称        类型        说明        appid        string        应用ID        partnerid        String          商户号        prepayid        String        预支付交易会话ID        package        String        扩展字段        noncestr        String        随机字符串        timestamp        String        时间戳        sign        String        签名                    本人还是个新手(刚入行不久),请多多关照,后续还有微信其他内容



这是测试接口返回结果:
APP调起微信支付c#后台接口

文章图片



下篇。。。。。。微信支付(PC端扫码支付)




APP调起微信支付c#后台接口

文章图片

APP调起微信支付c#后台接口

文章图片

【APP调起微信支付c#后台接口】
APP调起微信支付c#后台接口

文章图片


    推荐阅读