suchen
HeimWeChat-AppletWeChat-EntwicklungAktivierung der Unternehmensübertragung auf die Benutzeroberfläche

Dieses Mal werde ich Ihnen die Aktivierung der Unternehmensübertragung auf die Benutzeroberfläche vorstellen. Was sind die Vorsichtsmaßnahmen für die Aktivierung der Unternehmensübertragung auf die Benutzeroberfläche? Hier sind praktische Fälle.

Es gibt keine solche Schnittstelle in der offiziellen WeChat-Kontozahlungs-API, wenn das Unternehmen Geld an den Benutzer überweisen muss oder dem Benutzer erlauben muss, Bargeld abzuheben oder Senden Sie dem Benutzer einen roten Umschlag. Bitte aktivieren Sie diesen bei Bedarf separat im Produktcenter der Händlerplattform.

1. Aktivierung der Funktion

Die Aktivierung ist nur ein Klick, ganz einfach. Es ist jedoch zu beachten, dass das Konto, das Überweisungen an Benutzer unterstützt, und das Konto, das Zahlungen von Benutzern empfängt, nicht identisch sind. Um diese Funktion zu erfüllen, müssen Sie zuerst eine Aufladung bei Tenpay durchführen (Transaction Center – Fonds). Management – ​​Aufladen ).

2. Laden Sie das Zertifikat herunter

Das Zertifikat wird im Account Center – API-Sicherheit heruntergeladen. Jetzt benötigen Sie den Verifizierungscode für Ihr Mobiltelefon und das Anmeldekennwort für die Händlerplattform. Nach dem Herunterladen installieren Sie es unter Windows. Das Passwort für die Installation ist Ihre Händlernummer.

Nach der Installation legen Sie das Zertifikat im Website-Verzeichnis ab, um es im nächsten Schritt im Code zu überprüfen.

3. Übertragung

Die derzeit von WeChat bereitgestellte Demo enthält diesen Teil nicht. Nehmen wir einige Änderungen an der offiziellen Demo vor. Ähnlich wie im vorherigen Beispiel müssen wir alle das WxPayData-Objekt verwenden, um unsere Parameter zu manipulieren. Definieren Sie ein TransfersPay-Objekt.

  public class TransfersPay
    {        public string openid { get; set; }        public int amount { get; set; }        public string partner_trade_no { get; set; }        public string re_user_name { get; set; }        public string spbill_create_ip { get; set; }        public WxPayData GetTransfersApiParameters()
        {
            WxPayData apiParam = new WxPayData();
            apiParam.SetValue("partner_trade_no", partner_trade_no);
            apiParam.SetValue("openid", openid);
            apiParam.SetValue("check_name", "NO_CHECK");
            apiParam.SetValue("amount", amount);
            apiParam.SetValue("desc", "提现");
            apiParam.SetValue("spbill_create_ip", spbill_create_ip);
            apiParam.SetValue("re_user_name", re_user_name);            return apiParam;
        }
    }

Die WxpayApi in der offiziellen Demo enthält bereits Methoden im Zusammenhang mit der offiziellen Kontozahlung. Fügen Sie eine weitere Überweisungsmethode hinzu, um Geld zu überweisen:

 public static WxPayData Transfers(WxPayData inputData, int timeOut = 6)
        {            var url = "https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers";
            inputData.SetValue("mch_appid", WxPayConfig.APPID);//公众账号ID
            inputData.SetValue("mchid", WxPayConfig.MCHID);//商户号
            inputData.SetValue("nonce_str", WxPayApi.GenerateNonceStr());//随机字符串
            inputData.SetValue("sign", inputData.MakeSign());//签名
            string xml = inputData.ToXml();            var start = DateTime.Now;
            string response = HttpService.Post(xml, url, true, timeOut);            // Portal.MVC.Logger.Info("WxPayApi"+ "UnfiedOrder response : " + response);
            var end = DateTime.Now;            int timeCost = (int)((end - start).TotalMilliseconds);
            WxPayData result = new WxPayData();
            result.FromXml(response);
            ReportCostTime(url, timeCost, result);//测速上报
            return result;
        }

Es ist zu beachten, dass sich die Namen mehrerer Standardparameter von anderen Methoden unterscheiden, z. B. appid und mch_id. In der Übertragung lauten sie mch_appid und mchid, im roten Umschlag heißen sie auch wxappid und mch_id. Beachten Sie dann, dass der dritte Parameter der Methode httpService.post wahr ist. Das heißt, das Zertifikat wird verwendet. Wenn wir die Post-Methode eingeben, sehen wir:

         //是否使用证书
                if (isUseCert)
                {                    string path = HttpContext.Current.Request.PhysicalApplicationPath;                    X509Certificate2 cert = new X509Certificate2(path + WxPayConfig.SSLCERT_PATH, WxPayConfig.SSLCERT_PASSWORD);
                    request.ClientCertificates.Add(cert);
                    Log.Debug("WxPayApi", "PostXml used cert");
                }

Hier werden der Pfad und das Passwort des Zertifikats verwendet, und das Passwort ist die Händlernummer. Nachdem alles fertig ist, können Sie im Controller Geld überweisen:

     [LoginValid]        public ActionResult CashTransfers(string orderNumber)
        {            //var order = new Order(){Amount = 1};           // var openid = "oBSBmwQjqwjfzQlKsFNjxFLSixxx";
            var user = _workContext.CurrentUser;            var order = _paymentService.GetOrderByOrderNumber(orderNumber);            var transfer = new TransfersPay
            {
                openid = user.OpenId,
                amount = (int) order.Amount*100,
                partner_trade_no = order.OrderNumber,
                re_user_name = "stoneniqiu",
                spbill_create_ip = _webHelper.GetCurrentIpAddress()
            };            var data = transfer.GetTransfersApiParameters();            var result = WxPayApi.Transfers(data);            return Content(result.ToPrintStr());
        }

Ergebnis abrufen

Auf diese Weise erfolgt die Überweisungs-/Auszahlungsfunktion realisiert.

Freigabe

In einer formellen Umgebung müssen wir zuerst unsere eigene Bestellung erstellen, dann eine Übertragung an WeChat anfordern und unsere Bestellung nach Erfolg bearbeiten. CashTransfers-Methode leicht angepasst.

       [LoginValid]        public ActionResult CashTransfers(string orderNumber)
        {
            var user = _workContext.CurrentUser;            var order = _paymentService.GetOrderByOrderNumber(orderNumber);            if (string.IsNullOrEmpty(user.OpenId))
            {                return Json(new PortalResult("请用微信登录!"));
            }            if (order == null || order.OrderState != OrderState.Padding)
            {                return Json(new PortalResult("订单有误!"));
            }            
            var transfer = new TransfersPay
            {
                openid = user.OpenId,
                amount = (int) order.Amount*100,
                partner_trade_no = order.OrderNumber,
                re_user_name = "stoneniqiu",
                spbill_create_ip = _webHelper.GetCurrentIpAddress()
            };            var data = transfer.GetTransfersApiParameters();            var result = WxPayApi.Transfers(data);            if (result.GetValue("result_code").ToString() == "SUCCESS")
            {                return Json(new PortalResult(true, "提现成功"));
            }            return Json(new PortalResult(false, result.GetValue("return_msg").ToString()));            
        }

Außerdem ist zu beachten, dass der Vorgangs-Timeout-Fehler immer nach der Veröffentlichung auftritt. Der Vorschlag besteht darin, das Timeout auf 30 Sekunden zu ändern. Die Standardeinstellung von 6 Sekunden kann zu Zeitüberschreitungen führen. Das Gleiche gilt bei gemeinsamer Auftragserteilung.

 public static WxPayData Transfers(WxPayData inputData, int timeOut = 30)

Wenn das Geld auf dem Geschäftskonto aufgebraucht ist, erscheint die folgende Meldung:

Ich glaube, dass Sie die Methode nach dem Lesen beherrschen Fall in diesem Artikel, mehr Bitte beachten Sie andere verwandte Artikel auf der chinesischen PHP-Website!

Empfohlene Lektüre:

Die Verwendung der automatischen Aktualisierung und Analyse von Webpacks

Die Verwendung des H5-Cache-Manifests


Das obige ist der detaillierte Inhalt vonAktivierung der Unternehmensübertragung auf die Benutzeroberfläche. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
主板aafp是什么接口主板aafp是什么接口Aug 29, 2022 am 10:50 AM

主板上的aafp是音频接口;该接口的功能是启用前面板的“3.5mm”插孔,起到传输音频的作用,aafp跳线基本上由两个部分组成,一部分是固定在主板、硬盘等设备上的,由两根或两根以上金属跳针组成,另一部分是跳线帽,是一个可以活动的组件,外层是绝缘塑料,内层是导电材料,可以插在跳线针上。

cha fan表示什么风扇cha fan表示什么风扇Sep 15, 2022 pm 03:09 PM

“cha fan”表示的是机箱风扇;“cha”是“chassis”的缩写,是机箱的意思,“cha fan”接口是主板上的风扇供电接口,用于连接主板与机箱风扇,可以配合温度传感器反馈的信息进行智能的转速调节、控制噪音。

ioioi是什么接口ioioi是什么接口Aug 31, 2022 pm 04:50 PM

ioioi是指COM接口,即串行通讯端口,简称串口,是采用串行通信方式的扩展接口。COM接口是指数据一位一位地顺序传送;其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。

sata6g是什么接口sata6g是什么接口Sep 14, 2022 am 11:46 AM

sata6g是数据传输速度为“6G/s”的sata接口;sata即“Serial ATA”,也就是串行ATA,是主板接口的名称,现在的硬盘和光驱都使用sata接口与主板相连,这个接口的规格目前已经发展到第三代sata3接口。

公众号怎么开通 公众号在哪里开通公众号怎么开通 公众号在哪里开通Feb 22, 2024 pm 06:00 PM

在公众平台的注册页面选择账号类型后,填写相关信息即可注册。教程适用型号:联想AIO520C系统:Windows10专业版解析1首先进入微信公众平台首页中,点击顶部的立即注册。2进入注册页面中,选择账号类型。3按要求填写相关信息后,点击页面下方的注册即可。补充:微信公众号的类型有几种1微信公众号的类型有:公众平台服务号、公众平台订阅号、小程序、企业微信四种。总结/注意事项企业微信就是原先的企业号。

dc接口是什么意思dc接口是什么意思Aug 24, 2022 am 10:47 AM

dc接口是一种为转变输入电压后有效输出固定电压接口的意思;dc接口是由横向插口、纵向插口、绝缘基座、叉形接触弹片、定向键槽组成,两只叉型接触弹片定位在基座中心部位,成纵横向排列互不相连,应用于手机、MP3、数码相机、便携式媒体播放器等产品中。

鼠标插在主机哪个接口鼠标插在主机哪个接口Sep 13, 2022 pm 03:50 PM

鼠标插在主机的串口接口、PS/2接口或USB接口上。串行接口是最古老的鼠标接口,是一种9针或25针的D型接口,将鼠标接到电脑主机串口上就能使用。PS/2接口是1987年IBM公司推出的鼠标接口,是一种鼠标和键盘的专用接口,是一种6针的圆型接口。USB接口,是一种高速的通用接口,具有非常高的数据传输率,且支持热插拔。

pump fan是什么接口pump fan是什么接口Jun 25, 2021 pm 02:55 PM

pump fan是散热风扇接口。主板上的风扇接口有cpu fun、sys fun、pump fun,对于一般普通用户来说区别不大,一般接哪个都行,而pump fun上的电流更大一点,用于接功率大一点的水冷风扇头。

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
3 Wochen vorBy尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

SublimeText3 Englische Version

SublimeText3 Englische Version

Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

WebStorm-Mac-Version

WebStorm-Mac-Version

Nützliche JavaScript-Entwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

SublimeText3 Linux neue Version

SublimeText3 Linux neue Version

SublimeText3 Linux neueste Version