当前位置:首页 > 娱乐资讯 > 正文内容

利用微信支付的订单查询接口可以在APP 中提高支付的可靠性

利用微信支付的订单查询接口可以在APP 中提高支付的可靠性

最近公司有一个应用微信支付接口web端能用app吗利用微信支付的订单查询接口可以在APP 中提高支付的可靠性,用户可以在微信公众号上面下单,也可以在APP 中下单。

利用微信支付的订单查询接口可以在APP 中提高支付的可靠性 第1张

当用户在公共号上面下单时,微信支付成功可以返回微信支付单号微信支付接口web端能用app吗,但是在APP 中用户微信支付时,个别时候会出现用户已经付款成功,却没有执行订单支付成功后的回调逻辑(比如修改业务系统中的订单状态为已付款).

显然在APP中微信支付的这种回调逻辑是不可靠的。

(1)首先说明下为什么要拿到微信支付订单号

微信支付订单号是微信系统在支付成功后返回的订单号,比如这样的订单号:55213利用微信支付的订单查询接口可以在APP 中提高支付的可靠性, 拿到这个订单号可以调用微信查询接口(当然也可以使用自己应用中定义的订单号来调用微信订单查询接口,但是微信推荐优先使用这个微信支付订单号来查询)

微信支付接口web端能用app吗,更重要的是,在实际的业务逻辑中,有些用户下单成功后,后来要求退款(比如收到货后用户不满意,要求订单退款),这样在调用微信的退款接口()时,必须要提供这个微信支付订单号。

(2)APP 中的微信支付如何提高微信支付的可靠性

这个主要就是用户在APP 中使用微信支付时,每当支付成功后,在执行的回调逻辑(比如是这样的逻辑:往自己的系统里面修改订单状态为已支付,发送支付成功的通知消息等)前,调用微信提供的订单查询接口(),仅当这个订单查询接口返回该笔订单已经支付成功(主要是=""),则才执行后面的回调逻辑。

  /// 
         /// 调用微信支付的查询订单接口,以确认是否订单已经支付成功
         /// 
         /// 
         /// 
         /// 
         /// 
         /// 
         /// 
   private bool CheckIfOrderPaid(OrderEntity entity, LoggingSessionInfo loggingSessionInfo, string OrderID, string ChannelId, ref string WeixinTransactionID)         {
            WxPayData inputObj = new WxPayData();
            // APP 中的微信支付(paymentcenter_id值为空),   根据业务系统中的订单号out_trade_no 来调用微信的订单查询接口,以确认是否该订单已经支付成功       
         if (string.IsNullOrEmpty(entity.paymentcenter_id))             {          
                    var common = new CommonBLL();              
                   
                    // APP 中使用微信支付时,微信系统设定的APP 相关账户信息(partner,partnerkey)

                    AccessTokenEntity wxInfo = common.GetAppInfo(loggingSessionInfo);
                   inputObj.SetValue("out_trade_no", OrderID);          
                  // 调用微信的订单查询接口   


                 WxPayData result = WxPayApi.OrderQuery(inputObj, wxInfo.AppID, wxInfo.Partner, wxInfo.Partnerkey);      
                 if (!result.IsSet("trade_state") || result.GetValue("trade_state").ToString() != "SUCCESS")             
                    {    
                       return false;              
                     }      
                     WeixinTransactionID = result.GetValue("transaction_id").ToString();            
                                                                                               }            
             else  {      
                       // 微信公众号支付             
                          if (!string.IsNullOrEmpty(WeixinTransactionID))               
                                 {       
                                 inputObj.SetValue("transaction_id", WeixinTransactionID);              
                                  }           
                          else          
                                  {                   
                                           inputObj.SetValue("out_trade_no", entity.paymentcenter_id);
                                   }
             
             // 获取微信公众号的相关账户信息(MerchantID,SignKey,APPId等)

             TPaymentTypeCustomerMappingEntity[] mappings = 
              new TPaymentTypeCustomerMappingBLL(this.CurrentUserInfo).QueryByEntity(
                  new TPaymentTypeCustomerMappingEntity()             
                               {                
                                    ChannelId = ChannelId,                     CustomerId = entity.customer_id              
                              }
                          , null );
 
 
               // 调用微信支付查询接口,这次inputobj 的取值要么是微信系统的transaction_id(微信推荐使用transaction_id 来查询订单),要么是我们自己业务系统的订单号(out_trade_no)。

                WxPayData result = WxPayApi.OrderQuery(inputObj, mappings[0].APPId, mappings[0].MerchantID, mappings[0].SignKey);    
                 if (!result.IsSet("trade_state") || result.GetValue("trade_state").ToString() != "SUCCESS")          
                                   {   
                                              return false;              
                                     }        
                }         
    return true;
    }

(3)更多详细的微信订单查询接口,可以参考如下的微信官方链接:

加入微信交流群:************ ,请猛戳这里→点击入群

扫描二维码推送至手机访问。

版权声明:本文由智汇百科网发布,如需转载请注明出处。

本文链接:https://www.zhihuibkw.com/post/5178.html

分享给朋友:

“利用微信支付的订单查询接口可以在APP 中提高支付的可靠性” 的相关文章

王俊凯参加综艺录制,展现幽默一面

王俊凯参加综艺录制,展现幽默一面

在综艺的舞台上,王俊凯如同一颗璀璨的星辰,以其独特的魅力和幽默的一面,给观众们带来了无尽的欢乐与惊喜。王俊凯参加综艺录制的每一个瞬间,都仿佛是一场精心编排的喜剧表演。他那灵动的眼神,总是能够在不经意间捕捉到观众的注意力,仿佛在说:“嘿,大家看过来,这里有好玩的事情哦!”无论是与嘉宾们的互动,还是面对...

许凯新剧路透曝光,与女主 CP 感十足

许凯新剧路透曝光,与女主 CP 感十足

近日,许凯的新剧路透照在网络上曝光,瞬间引发了粉丝们的热议和关注。从这些路透中可以明显看出,许凯与女主之间的 CP 感十足,仿佛他们就是为这部剧而生的一对璧人。许凯一直以来都以其帅气的外貌和出色的演技而备受瞩目。在新剧的路透中,他身着剧中的服装,造型时尚而又符合角色设定。无论是那精致的古装扮相,还是...

杨洋新剧杀青,粉丝期待早日播出

杨洋新剧杀青,粉丝期待早日播出

当清晨的第一缕阳光洒在片场,杨洋新剧的杀青仪式终于圆满落幕。这意味着一段充满汗水与努力的时光画上了句号,也开启了粉丝们心中那无尽的期待之旅。杨洋,这位年轻而又才华横溢的演员,一直以其精湛的演技和独特的魅力征服着观众的心。每一部他出演的作品都仿佛是一颗璀璨的星星,在影视天空中闪耀着独特的光芒。而这一次...

贾玲减肥成果显著,现身活动引关注

贾玲减肥成果显著,现身活动引关注

在娱乐圈,贾玲以其独特的幽默风格和圆润的形象给观众留下了深刻的印象。近年来,她的减肥成果却成为了众人瞩目的焦点,而当她再次现身活动时,那种惊艳的转变更是引发了广泛的关注和热议。曾经的贾玲,那圆圆的脸庞和丰满的身材,仿佛是一个可爱的“胖界代表”,她用自己的幽默和豁达,将这份“与众不同”转化为了独特的魅...

赵薇风波后首次现身,状态不佳

赵薇风波后首次现身,状态不佳

在娱乐圈的风云变幻中,赵薇曾是一位备受瞩目的人物。那场轰轰烈烈的“赵薇风波”后,她的身影仿佛在公众视野中消失了许久。近日,她终于首次现身,她的状态却着实令人唏嘘,仿佛那场风波在她身上留下了难以磨灭的印记。当赵薇出现在公众面前的那一刻,人们明显察觉到她与以往的不同。曾经那个自信满满、光芒四射的她,如今...

潘玮柏晒与妻子甜蜜合照,秀恩爱

潘玮柏晒与妻子甜蜜合照,秀恩爱

在娱乐圈的喧嚣与浮华之中,总有一些瞬间能够温暖人心,让人们感受到爱的力量。近日,潘玮柏在社交媒体上晒出与妻子的甜蜜合照,瞬间引发了粉丝们的热议与祝福,那一张张充满爱意的照片,仿佛是时光雕刻出的最美画卷,让我们看到了爱的模样在光影间悄然绽放。照片中的潘玮柏,脸上洋溢着幸福的笑容,那笑容如同春日的暖阳,...