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

利用微信支付的订单查询接口可以在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://zhihuibkw.com/post/5178.html

分享给朋友:

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

偶像团组什么意思

偶像团组什么意思

在娱乐圈的璀璨星空中,偶像团体如同一颗颗耀眼的星辰,吸引着无数粉丝的目光。即使是最闪耀的组合,也难免会遭遇内部的波折,当偶像团体成员闹矛盾,组合面临解散危机时,那背后的故事往往充满了无奈与挣扎。每一个偶像团体的诞生,都像是一场美丽的邂逅,成员们怀揣着梦想和热情走到一起,共同为了组合的辉煌而努力。他们...

杨紫与好友聚会被拍,笑容灿烂心情佳

杨紫与好友聚会被拍,笑容灿烂心情佳

在娱乐圈的喧嚣与忙碌中,明星们也有着属于自己的私人生活和真挚的友情。近日,杨紫与好友聚会的场景被拍,那灿烂的笑容和愉悦的心情,仿佛如同一道温暖的阳光,照亮了周围的一切。杨紫,这位才华横溢的年轻演员,以其灵动的演技和甜美的笑容赢得了众多观众的喜爱。在聚会上,她仿佛卸下了工作的疲惫,展现出了最真实的自我...

王鹤棣出席时尚活动,穿搭品味遭吐槽

王鹤棣出席时尚活动,穿搭品味遭吐槽

在时尚的舞台上,每一位明星的亮相都备受瞩目,他们的穿搭往往成为时尚潮流的风向标,或是引发热议的焦点。近日,王鹤棣出席了一场备受关注的时尚活动,他的穿搭品味却意外地遭到了众多网友的吐槽。从活动现场的照片来看,王鹤棣身着一套造型独特的服装。上衣是一件色彩鲜艳的印花衬衫,图案繁杂且没有明显的主题,仿佛是随...

张颂文现身菜市场,与摊主亲切交谈

张颂文现身菜市场,与摊主亲切交谈

在熙熙攘攘的城市中,菜市场仿佛是一个被时光遗忘的角落,却承载着人们生活的烟火气息。近日,知名演员张颂文悄然现身菜市场,与摊主们展开了一场亲切而温暖的交谈,让人们感受到了他与众不同的一面。当张颂文踏入菜市场的那一刻,仿佛整个空间都变得鲜活起来。他身着朴素的衣物,脸上挂着亲切的笑容,仿佛是一位久别重逢的...

李维嘉现身节目录制,状态恢复

李维嘉现身节目录制,状态恢复

近日,备受关注的综艺节目录制现场迎来了一位熟悉的身影——李维嘉。他的现身无疑成为了媒体和粉丝们热议的话题,而他状态的恢复更是让大家松了一口气。李维嘉曾因一些个人事务而暂别公众视野,这期间,粉丝们对他的牵挂与思念从未停止。如今,他重新出现在节目录制现场,那熟悉的笑容和亲切的模样,仿佛时间从未在他身上留...

大张伟新综艺表现亮眼,金句频出

大张伟新综艺表现亮眼,金句频出

在如今纷繁复杂的综艺市场中,总有一些明星能够以其独特的魅力和才华脱颖而出,大张伟无疑就是其中的佼佼者。他在新综艺中的表现可谓是亮眼至极,金句频出,给观众带来了无尽的欢乐和惊喜。大张伟一直以“段子手”的形象著称,他的幽默诙谐总能在瞬间点燃现场的气氛。在新综艺中,他的这种特质得到了更加淋漓尽致的展现。无...