Table des matières
分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件,遇到问题ecshop
Maison développement back-end tutoriel php 分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件,遇到问题ecshop_PHP教程

分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件,遇到问题ecshop_PHP教程

Jul 13, 2016 am 09:44 AM
ecshop 微信支付 扫码支付

分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件,遇到问题ecshop

最近比较工作比较轻松,帮一个朋友的基于ecshop开发的商城加入微信扫描支付功能,本以为是很简单的事儿——下载官方sdk或开发帮助文档,按着里面的做就ok了,谁知折腾了两三天的时间才算搞定,中间也带着疑问在网上找了不少技术文章,却发现都只是比较粗略的写他们是怎么开发接入的,并没有解决我遇到的问题...,唉,有时候真心的感觉‘只能靠自己'。

本文就是想把自己遇到的问题及解决办法写出来,让做这方面开发的朋友有所帮助!

  开发之前,先查看官方【扫码支付】开发文档,扫码支付分为以下两种模式:

  △模式一:

  遇到的问题:第一次扫描二维码还能正常扫描,未付款再次扫描会提示:ok 或 请求商户信息超时HttpCode非200——此问题尝试通过各种途径寻找解决办法都无果,在这里希望有知道朋友能给与解答,谢谢!

  △模式二:

  注意:不可以直接用商城的订单号作为交易订单号(out_trade_no),否则再次生成微信扫码支付二维码时,接口会提示:商户订单号重复,无法重新生成。

  那么酱紫问题来了,应该怎样设置交易订单号,还能保证后面通过接口查询微信商户平台里的相应订单信息或实现对账?可行的办法是:扫码之前的统一下单接口,out_trade_no不要传入商城订单系统的订单号,而是重新生成一个新的唯一流水;再增加一个订单号和微信支付交易订单号(out_trade_no)对应表,如下:

     上表中有个serial_is_paid字段:用于标记此交易是否已完成,即:在支付成功通知回调处理中,根据回传的out_trade_no更新支付状态;至于怎么查询订单支付状态,想必你应该也知道了...

    

  好了,很久没写技术博客有些找不到感觉,写的可能比较粗略,有不清楚的朋友可以留意&交流!

到处都是坑的微信支付V3之 微信支付回调页面

据上次 到处都是坑的微信支付V3 后很多园友在被虐了千百遍后终于跳转到了亲切的微信支付界面,但输入密码支付后却不知道怎么处理了,接下来补上支付后的处理流程。

1. html中根据前台支付后反馈信息成功与否跳转到相关页面

if (res.err_msg == "get_brand_wcpay_request:ok") {
   // message: "微信支付成功!",
   window.location.replace("@Url.Content("~/WxPay/Success?ordercode=@(Model.order_no)"));
}else if (res.err_msg == "get_brand_wcpay_request:cancel") { 
  // message: "已取消微信支付!"
 }
Copier après la connexion

2. 支付开发教程(微信商户平台版) 中下载 微信支付接口文档及demo(公众账号).zip

返回的参数参考接口文档中 4.2.通用通知接口 一节。

通知 URL是 4.1 节中提交的参数 notify_url ,支付完成后,微信 会把相关和用户信息发送到该URL,商户需要接收处理信息。

//支付回调页面
    public ActionResult notice_url()
    {
      string resultFromWx = getPostStr();
      //设置支付参数
      RequestHandler paySignReqHandler = new RequestHandler(null);
      WriteLog(" 微支付notice resultFromWx=" + resultFromWx);
      var res = XDocument.Parse(resultFromWx);
      //通信成功
      if (res.Element("xml").Element("return_code").Value == "SUCCESS")
      {
        if (res.Element("xml").Element("result_code").Value == "SUCCESS")
        {
          //交易成功
          paySignReqHandler.SetParameter("return_code", "SUCCESS");
          paySignReqHandler.SetParameter("return_msg", "OK");
          string ordecode = res.Element("xml").Element("out_trade_no").Value;
          BLL.orders Bll = new BLL.orders();
          try
          {
            if (Bll.Update(ordecode ))
            {
             WriteLog(" 微支付交易成功=" + ordecode);
            }
            else
            {
             WriteLog(" 微支付交易失败=" + ordecode);
            }
          }
          catch (Exception ex)
          {
            WriteLog(ex," 微支付交易异常=" + ordecode);
          }
        }
        else
        {
          paySignReqHandler.SetParameter("return_code", "FAIL");
          paySignReqHandler.SetParameter("return_msg", "交易失败");
        }
      }
      else
      {
        paySignReqHandler.SetParameter("return_code", "FAIL");
        paySignReqHandler.SetParameter("return_msg", "签名失败");
      }
      string data = paySignReqHandler.ParseXML();
      var result = TenPayV3.Unifiedorder(data);
      WriteLog(" 微支付notice result=" + result);
      return View();
    }
Copier après la connexion

注意:

因此接收到成功支付后需要返回代码中红色的部分来提醒微信服务器已处理,否则会不断收到微信服务器的反馈。

getPostStr()方法:

//获得Post过来的数据
    public string getPostStr()
    {
      Int32 intLen = Convert.ToInt32(Request.InputStream.Length);
      byte[] b = new byte[intLen];
      Request.InputStream.Read(b, 0, intLen);
      return System.Text.Encoding.UTF8.GetString(b);
    }
Copier après la connexion

 现在前后台都打通了,主要还是要耐心调试,祝君好运~

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/1049133.htmlTechArticle分享微信扫码支付开发遇到问题及解决方案-附Ecshop微信支付插件,遇到问题ecshop 最近比较工作比较轻松,帮一个朋友的基于ecshop开发的商...
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Si vous oubliez votre mot de passe de paiement WeChat, comment le récupérer ? Si vous oubliez votre mot de passe de paiement WeChat, comment le récupérer ? Feb 23, 2024 pm 09:40 PM

Dans WeChat, les utilisateurs peuvent saisir leur mot de passe de paiement pour effectuer des achats, mais comment récupérer leur mot de passe de paiement s’ils l’oublient ? Les utilisateurs doivent accéder à Mes-Services-Wallet-Paramètres de paiement-pour récupérer leur mot de passe de paiement s'ils l'oublient. Cette introduction sur la façon de récupérer votre mot de passe de paiement si vous l'oubliez vous indiquera la méthode de fonctionnement spécifique. Ce qui suit est une introduction détaillée, alors jetez-y un œil ! Tutoriel d'utilisation de WeChat. Comment trouver le mot de passe de paiement WeChat si vous l'oubliez ? Réponse : Mon-Service-Wallet-Paramètres de paiement-Mot de passe de paiement oublié Méthode spécifique : 1. Tout d'abord, cliquez sur Mon. 2. Cliquez sur le service à l'intérieur. 3. Cliquez sur le portefeuille à l'intérieur. 4. Recherchez les paramètres de paiement. 5. Cliquez sur Mot de passe de paiement oublié. 6. Entrez vos propres informations pour vérification. 7. Saisissez ensuite le nouveau mot de passe de paiement pour le modifier.

Que dois-je faire si j'oublie mon mot de passe de paiement WeChat ? Que dois-je faire si j'oublie mon mot de passe de paiement WeChat ? Jan 08, 2024 pm 05:02 PM

Solution pour oublier le mot de passe de paiement WeChat : 1. Ouvrez l'application WeChat, cliquez sur « I » dans le coin inférieur droit pour accéder à la page du centre personnel ; 2. Dans la page du centre personnel, cliquez sur « Payer » pour accéder à la page de paiement ; sur la page de paiement, cliquez sur "..." dans le coin supérieur droit pour accéder à la page de gestion des paiements ; 4. Dans la page de gestion des paiements, recherchez et cliquez sur "Mot de passe de paiement oublié" 5. Suivez les invites de la page et saisissez les informations personnelles pour vérification d'identité. Après une vérification réussie, vous pouvez choisir la méthode « récupérer en faisant glisser votre visage » ou « récupérer en vérifiant les informations de votre carte bancaire » pour récupérer votre mot de passe, etc.

Comment configurer le paiement WeChat pour Meituan Takeout Comment configurer le paiement WeChat Comment configurer le paiement WeChat pour Meituan Takeout Comment configurer le paiement WeChat Mar 12, 2024 pm 10:34 PM

Il existe de nombreux magasins d'alimentation et de collations proposés dans l'application de plats à emporter Meituan, et tous les utilisateurs de téléphones mobiles se connectent via leur compte. Ajoutez votre adresse de livraison personnelle et votre numéro de contact pour profiter du service de plats à emporter le plus pratique. Ouvrez la page d'accueil du logiciel, saisissez les mots-clés des produits et effectuez une recherche en ligne pour trouver les résultats des produits correspondants. Faites simplement glisser votre doigt vers le haut ou vers le bas pour acheter et passer une commande. La plateforme recommandera également des dizaines de restaurants à proximité avec des avis élevés en fonction de l'adresse de livraison. fourni par l'utilisateur. Le magasin peut également mettre en place différents modes de paiement. Vous pouvez passer une commande en un seul clic pour finaliser la commande. Le coursier peut organiser la livraison immédiatement et la vitesse de livraison est également très rapide. différents montants à utiliser. L'éditeur est désormais en ligne en détail pour les utilisateurs de plats à emporter Meituan. Nous vous montrons comment configurer le paiement WeChat. 1. Après avoir sélectionné le produit, soumettez la commande et cliquez sur Maintenant.

Comment définir l'ordre de déduction pour le paiement WeChat Comment définir l'ordre de déduction pour le paiement WeChat Sep 06, 2023 am 11:11 AM

Étapes pour définir l'ordre des déductions pour le paiement WeChat : 1. Ouvrez l'application WeChat, cliquez sur l'interface « Moi », cliquez sur « Services », puis cliquez sur « Collecte et paiement » 2. Cliquez sur « Prioriser l'utilisation de ceci » ; Mode de paiement" sous le code de paiement sur l'interface d'encaissement et de paiement ; 3. Sélectionnez le mode de paiement préféré dont vous avez besoin.

Xianyu peut-il payer avec WeChat ? Comment passer au mode de paiement WeChat ? Xianyu peut-il payer avec WeChat ? Comment passer au mode de paiement WeChat ? Mar 12, 2024 pm 12:19 PM

Quand tout le monde n'a rien à faire, ils choisiront de parcourir la plateforme Xianyu. Tout le monde peut constater qu'il existe un grand nombre de produits sur cette plateforme, ce qui peut permettre à chacun de voir divers produits d'occasion, même si ces produits sont d'occasion. produits, il n'y a absolument aucun problème avec la qualité de ces produits, donc tout le monde peut les acheter en toute confiance. Les prix sont très abordables, et ils permettent toujours à tout le monde de se retrouver en face-à-face avec ces produits. communiquer et mener certaines opérations de négociation de prix. Tant que tout le monde négocie correctement, vous pouvez choisir d'effectuer des transactions, et lorsque tout le monde paie ici, il veut effectuer un paiement WeChat, mais il semble que la plateforme ne soit pas autorisée. pour voir quelle est la situation spécifique. Xianyu

Comment payer avec WeChat sur Alibaba_Comment payer avec WeChat sur Alibaba 1688 Comment payer avec WeChat sur Alibaba_Comment payer avec WeChat sur Alibaba 1688 Mar 20, 2024 pm 05:51 PM

Alibaba 1688 est un site Web d'achat et de vente en gros, et les articles y sont beaucoup moins chers que Taobao. Alors, comment Alibaba utilise-t-il le paiement WeChat ? L'éditeur a compilé du contenu pertinent à partager avec vous. Les amis dans le besoin peuvent venir y jeter un œil. Comment Alibaba utilise-t-il WeChat pour payer ? Réponse : Le paiement WeChat ne peut pas être utilisé pour le moment ; allez dans [Alipay, paiement échelonné], caissier] peut être sélectionné ;

Partager les étapes pour demander un remboursement avec WeChat Pay Partager les étapes pour demander un remboursement avec WeChat Pay Mar 25, 2024 pm 06:31 PM

1. Tout d'abord, nous devons ouvrir l'application WeChat sur le téléphone mobile, puis cliquer pour nous connecter au compte WeChat, afin d'accéder à la page d'accueil de WeChat. 2. Cliquez sur le bouton [Moi] dans le coin inférieur droit de la page d'accueil de WeChat, puis sélectionnez l'option [Paiement] Nous cliquons pour accéder à la page de paiement. 3. Après avoir accédé à la page [Paiement], cliquez sur l'option [Porte-monnaie] pour entrer, puis cliquez sur [Facture] dans le coin supérieur droit de la page [Porte-monnaie].

Le paiement WeChat peut-il être annulé immédiatement après le paiement réussi ? Le paiement WeChat peut-il être annulé immédiatement après le paiement réussi ? Nov 29, 2023 pm 02:19 PM

Le paiement WeChat ne peut pas être annulé immédiatement après le paiement réussi. Les remboursements doivent généralement remplir les conditions suivantes : 1. La politique de remboursement du commerçant. Le commerçant formulera sa propre politique de remboursement, y compris le délai de remboursement, le montant du remboursement et la méthode de remboursement. 2. Le délai de paiement, les remboursements doivent généralement être appliqués dans un certain délai ; délai et les remboursements peuvent ne pas être possibles au-delà de ce délai ; 3. Statut des biens ou du service si l'utilisateur a reçu les biens ou apprécié le service, le commerçant peut exiger que l'utilisateur renvoie les biens ou fournisse une preuve correspondante ; Processus de remboursement, etc.

See all articles