微信支付,企业号支付个人,php实现
导语:分销商,微商提现怎么提?直接用微信支付。
实现如下:
- 微信支付配置
/*微信支付*/ 'PAY_WEIXIN' => array( 'appid' => 'xxx', 'appsecret' => 'xxxxx', 'mchid' => '1283301801', //商户号 'key' => 'zhudianbaodiandodozhudianbao0527', //商户支付秘钥 'apiclient_cert' => 'Conf/cert/apiclient_cert.pem', //商户证书apiclient_cert.pem 'apiclient_key' => 'Conf/cert/apiclient_key.pem', //商户证书apiclient_key.pem )
arrayToXml
/** * array转xml */ function arrayToXml($arr) { $xml = "<xml>"; foreach ($arr as $key=>$val) { if (is_numeric($val)) { $xml.="<".$key.">".$val."</".$key.">"; } else $xml.="<".$key."><![CDATA[".$val."]]></".$key.">"; } $xml.="</xml>"; return $xml; }
Nach dem Login kopieren使用证书,以post方式提交xml到对应的接口url
/** * 作用:使用证书,以post方式提交xml到对应的接口url */ function postXmlSSLCurl($xml, $url, $second, $cert, $key) { $ch = curl_init(); //超时时间 curl_setopt($ch,CURLOPT_TIMEOUT,$second ? $second : $this->timeout); //这里设置代理,如果有的话 //curl_setopt($ch,CURLOPT_PROXY, '8.8.8.8'); //curl_setopt($ch,CURLOPT_PROXYPORT, 8080); curl_setopt($ch,CURLOPT_URL, $url); curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE); curl_setopt($ch,CURLOPT_SSL_VERIFYHOST,FALSE); //设置header curl_setopt($ch,CURLOPT_HEADER,FALSE); //要求结果为字符串且输出到屏幕上 curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE); //设置证书 //使用证书:cert 与 key 分别属于两个.pem文件 //默认格式为PEM,可以注释 curl_setopt($ch,CURLOPT_SSLCERTTYPE,'PEM'); curl_setopt($ch,CURLOPT_SSLCERT,$cert); //默认格式为PEM,可以注释 curl_setopt($ch,CURLOPT_SSLKEYTYPE,'PEM'); curl_setopt($ch,CURLOPT_SSLKEY, $key); //post提交方式 curl_setopt($ch,CURLOPT_POST, true); curl_setopt($ch,CURLOPT_POSTFIELDS,$xml); $data = curl_exec($ch); //返回结果 if($data){ curl_close($ch); return $this->xmlToArray($data); } else { $error = curl_errno($ch); echo "curl出错,错误码:$error"."<br>"; curl_close($ch); return false; } }
- 企业向个人付款
//企业向个人付款 public function payToUser($params, $key, $apicent_cert, $apiclient_key) { $url = 'https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers'; //检测必填参数 if($params["partner_trade_no"] == null) { // exit("退款申请接口中,缺少必填参数partner_trade_no!"."<br>"); }elseif($params["openid"] == null){ exit("退款申请接口中,缺少必填参数openid!"."<br>"); }elseif($params["check_name"] == null){ //NO_CHECK:不校验真实姓名 FORCE_CHECK:强校验真实姓名(未实名认证的用户会校验失败,无法转账)OPTION_CHECK:针对已实名认证的用户才校验真实姓名(未实名认证用户不校验,可以转账成功) exit("退款申请接口中,缺少必填参数check_name!"."<br>"); }elseif(($params["check_name"] == 'FORCE_CHECK' or $params["check_name"] == 'OPTION_CHECK') && ($params["re_user_name"] == null)){ //收款用户真实姓名。 exit("退款申请接口中,缺少必填参数re_user_name!"."<br>"); }elseif($params["amount"] == null){ exit("退款申请接口中,缺少必填参数amount!"."<br>"); }elseif($params["desc"] == null){ exit("退款申请接口中,缺少必填参数desc!"."<br>"); } $params["mch_appid"] = $this->appid;//公众账号ID $params["mchid"] = $this->mchid;//商户号 $params["nonce_str"] = $this->createNoncestr();//随机字符串 $params['spbill_create_ip'] = $_SERVER['REMOTE_ADDR'] == '::1' ? '192.127.1.1' : $_SERVER['REMOTE_ADDR'];//获取IP $params["sign"] = $this->getSign($params, $key);//签名 $xml = $this->arrayToXml($params); return $this->postXmlSSLCurl($xml, $url, false, $apicent_cert, $apiclient_key); }
- 企业付款
private function _enterprisePay($number, $member_id, $amount, $desc) { // 获取openid $wxuser_id = M('Member')->where(array('id' => $member_id))->getField('wxuser_id'); $openid = M('Wxuser')->where(array('id' => $wxuser_id))->getField('openid'); $pay = C('PAY_WEIXIN'); import('@.Action.WxDevelop'); $enterprise = new WxEnterprise($pay['appid'], $pay['appsecret'], $pay['mchid']); $params = array( 'partner_trade_no' => $number, 'openid' => $openid, 'check_name' => 'NO_CHECK', 'amount' => $amount, // 总计 'desc' => $desc, ); $result = $enterprise->payToUser($params, $pay['key'], $pay['apiclient_cert'], $pay['apiclient_key']); return $result; }
- 处理分销商提现
private function _handle($truename, $price) { // 处理分销商提现 $withdrawid = date("ymdHis") . strval(rand(1000, 9999)); $data = array('withdrawid' => $withdrawid, 'store_id' => $this->store_id, 'member_id' => $this->member_id, 'truename' => $truename, 'price' => $price, 'addtime' => time()); //免审核 if ($price >= C('withdraw_uncheck_value')) { $data['need_check'] = 0; $data['status'] = 1; if ($this->withdrawModel->add($data)) { $result = $this->_enterprisePay($withdrawid, $this->member_id, $price * 100, '分销商(' . $truename . ')提现'); //遇到支付信息出错,转为需审核提现 if ($result['return_code'] != 'SUCCESS') { $this->withdrawModel->where(array('withdrawid' => $withdrawid))->save(array('need_check' => 1, 'status' => 0)); $this->assign('success', 2); } else { //设置微信交易号 $this->withdrawModel->where(array('withdrawid' => $withdrawid))->save(array('payment_no' => $result['payment_no'])); //增加佣金流水,待修复 $data = array('store_id' => $this->store_id, 'user_type' => 2, 'user_id' => $this->shop_id, 'trade_type' => 2, 'trade_no' => $withdrawid, 'price' => -$price, 'status'=> 1, 'message' => $truename.'提现', 'addtime' => time()); M('Twitter_log')->add($data); //减少相应可提佣金 M('Member')->where(array('id' => $this->member_id))->setInc('money', -$price); $this->assign('success', 1); //发送佣金变动消息 import('@.Action.Tmplmsg'); $tmplmsg = new Tmplmsg(); $tmplmsg->send(Tmplmsg::PRICE_CHANGE, $this->member_id, array('token' => $this->token, 'intro' => '分销佣金提现转出', 'price' => $price, 'business' => BUSINESS)); } } else { $this->error('提现信息错误!'); } } //需要审核 else { $this->withdrawModel->add($data); $this->assign('success' , 2); } }
提供企业向用户付款的功能,支持企业通过API接口付款,或通过微信支付商户平台网页功能操作付款。
温馨提示:◆ 给同一个实名用户付款,单笔单日限额2W/2W◆ 给同一个非实名用户付款,单笔单日限额2000/2000◆ 一个商户同一日付款总额限额100W◆ 仅支持商户号已绑定的APPID;◆ 针对付款的目标用户,已微信支付实名认证的用户可提供校验真实姓名的功能,未实名认证的用户无法校验,企业可根据自身业务的安全级别选择验证类型;◆ 付款金额必须小于或等于商户当前可用余额的金额;◆ 已付款的记录,企业可通过企业付款查询查看相应数据。
到账 付款资金将进入目标用户的零钱(微信-我-钱包-零钱)。微信支付将做零钱入账消息通知,零钱收支明细会展示相应记录。
温馨提示:针对无零钱账户的历史客户端版本,资金将进入用户的红包账户,微信支付无消息通知用户,企业可选择自行触达用户。
接口链接:https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers
是否需要证书请求需要双向证书。
数据示例:
<xml><mch_appid>wxe062425f740c30d8</mch_appid><mchid>10000098</mchid><nonce_str>3PG2J4ILTKCH16CQ2502SI8ZNMTM67VS</nonce_str><partner_trade_no>100000982014120919616</partner_trade_no><openid>ohO4Gt7wVPxIT1A9GjFaMYMiZY1s</openid><check_name>OPTION_CHECK</check_name><re_user_name>张三</re_user_name><amount>100</amount><desc>节日快乐!</desc><spbill_create_ip>10.2.3.10</spbill_create_ip><sign>C97BDBACF37622775366F38B629F45E3</sign></xml>
成功示例:
<xml><return_code><![CDATA[SUCCESS]]></return_code><return_msg><![CDATA[]]></return_msg><mch_appid><![CDATA[wxec38b8ff840bd989]]></mch_appid><mchid><![CDATA[10013274]]></mchid><device_info><![CDATA[]]></device_info><nonce_str><![CDATA[lxuDzMnRjpcXzxLx0q]]></nonce_str><result_code><![CDATA[SUCCESS]]></result_code><partner_trade_no><![CDATA[10013574201505191526582441]]></partner_trade_no><payment_no><![CDATA[1000018301201505190181489473]]></payment_no><payment_time><![CDATA[2015-05-19 15:26:59]]></payment_time></xml>
错误示例:
<xml><return_code><![CDATA[FAIL]]></return_code><return_msg><![CDATA[系统繁忙,请稍后再试.]]></return_msg><result_code><![CDATA[FAIL]]></result_code><err_code><![CDATA[SYSTEMERROR]]></err_code><err_code_des><![CDATA[系统繁忙,请稍后再试.]]></err_code_des></xml>
参考资料:https://pay.weixin.qq.com/wiki/doc/api/mch_pay.php?chapter=14_2

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



In WeChat können Benutzer ihr Zahlungspasswort eingeben, um Einkäufe zu tätigen. Aber wie können sie ihr Zahlungspasswort abrufen, wenn sie es vergessen? Benutzer müssen zu „Meine Dienste – Wallet – Zahlungseinstellungen“ gehen, um ihr Zahlungspasswort wiederherzustellen, wenn sie es vergessen. In dieser Einführung erfahren Sie, wie Sie Ihr Zahlungskennwort abrufen können, wenn Sie es vergessen haben. Im Folgenden finden Sie eine detaillierte Einführung. Schauen Sie also mal rein! Tutorial zur WeChat-Nutzung. Wie finde ich das WeChat-Zahlungspasswort? Antwort: „Meine Service-Wallet-Zahlungseinstellungen – Zahlungspasswort vergessen“: 1. Klicken Sie zunächst auf „Mein“. 2. Klicken Sie auf den Dienst darin. 3. Klicken Sie auf die darin enthaltene Brieftasche. 4. Suchen Sie nach den Zahlungseinstellungen. 5. Klicken Sie auf Zahlungspasswort vergessen. 6. Geben Sie Ihre eigenen Informationen zur Überprüfung ein. 7. Geben Sie anschließend das neue Zahlungspasswort ein, um es zu ändern.

Lösung zum Vergessen des WeChat-Zahlungskennworts: 1. Öffnen Sie die WeChat-App und klicken Sie auf „I“ in der unteren rechten Ecke, um die Seite des persönlichen Zentrums aufzurufen. 2. Klicken Sie auf der Seite des persönlichen Zentrums auf „Bezahlen“, um die Zahlungsseite aufzurufen Klicken Sie auf der Zahlungsseite oben rechts auf „…“, um die Zahlungsverwaltungsseite aufzurufen. 4. Suchen Sie auf der Zahlungsverwaltungsseite nach „Zahlungskennwort vergessen“ und klicken Sie darauf Nach erfolgreicher Überprüfung können Sie die Methode „Abrufen durch Wischen Ihres Gesichts“ oder „Abrufen durch Verifizieren der Bankkarteninformationen“ wählen, um Ihr Passwort usw. abzurufen.

In der Meituan-App zum Mitnehmen werden zahlreiche Lebensmittel- und Snackläden angeboten, und alle Mobiltelefonbenutzer melden sich über ihre Konten an. Fügen Sie Ihre persönliche Lieferadresse und Kontaktnummer hinzu, um den bequemsten Abholservice zu genießen. Öffnen Sie die Startseite der Software, geben Sie Produktschlüsselwörter ein und suchen Sie online, um die entsprechenden Produktergebnisse zu finden, um zu kaufen und eine Bestellung aufzugeben. Die Plattform empfiehlt Ihnen außerdem Dutzende nahegelegener Restaurants mit guten Bewertungen basierend auf der Lieferadresse Der Shop kann auch verschiedene Zahlungsmethoden einrichten, um die Bestellung sofort abzuschließen. Es gibt auch rote Umschläge zum Mitnehmen Verschiedene Beträge zur Nutzung. Jetzt ist der Editor im Detail für Meituan-Takeout-Nutzer verfügbar. Wir zeigen Ihnen, wie Sie die WeChat-Zahlung einrichten. 1. Nachdem Sie das Produkt ausgewählt haben, senden Sie die Bestellung ab und klicken Sie auf Jetzt

Schritte zum Festlegen der Abzugsreihenfolge für die WeChat-Zahlung: 1. Öffnen Sie die WeChat-App, klicken Sie auf die Benutzeroberfläche „Ich“, klicken Sie auf „Dienste“ und dann auf „Einziehen und Bezahlen“. 2. Klicken Sie auf „Verwendung priorisieren“. Zahlungsmethode“ unter dem Zahlungscode auf der Inkasso- und Zahlungsschnittstelle; 3. Wählen Sie die gewünschte bevorzugte Zahlungsmethode aus.

Wenn jeder nichts zu tun hat, wird er sich dafür entscheiden, die Xianyu-Plattform zu durchsuchen. Jeder kann feststellen, dass es auf dieser Plattform eine große Anzahl von Produkten gibt, die es jedem ermöglichen, verschiedene gebrauchte Produkte zu sehen Es gibt absolut kein Problem mit der Qualität dieser Produkte, sodass jeder sie mit Vertrauen kaufen kann. Die Preise sind sehr erschwinglich und es ist für Verkäufer dennoch durchaus möglich, sie persönlich kennenzulernen Solange alle ordnungsgemäß verhandeln, können Sie sich für die Durchführung von Transaktionen entscheiden, und wenn alle hier bezahlen, möchten sie die Zahlung über WeChat durchführen, aber es scheint, dass die Plattform dies nicht erlaubt um herauszufinden, wie die konkrete Situation ist. Xianyu

1. Zuerst müssen wir die WeChat-App auf dem Mobiltelefon öffnen und dann klicken, um uns beim WeChat-Konto anzumelden, um die WeChat-Homepage aufzurufen. 2. Klicken Sie auf die Schaltfläche [Ich] in der unteren rechten Ecke der WeChat-Startseite und wählen Sie dann die Option [Zahlung] aus. Wir klicken, um die Zahlungsseite aufzurufen. 3. Nachdem Sie die Seite [Zahlung] aufgerufen haben, klicken Sie auf die Option [Wallet], um sie aufzurufen, und klicken Sie dann auf [Rechnung] in der oberen rechten Ecke der Seite [Wallet].

Alibaba 1688 ist eine Einkaufs- und Großhandelswebsite, und die Artikel dort sind viel günstiger als bei Taobao. Wie nutzt Alibaba die WeChat-Zahlung? Der Herausgeber hat einige relevante Inhalte zusammengestellt, die Sie mit Ihnen teilen können. Freunde in Not können vorbeikommen und einen Blick darauf werfen. Wie nutzt Alibaba WeChat zum Bezahlen? Antwort: WeChat-Zahlung kann vorerst nicht verwendet werden gehen Sie zu [Alipay, gestaffelte Zahlung], Kassierer] kann ausgewählt werden;

Die WeChat-Zahlung kann nicht sofort nach erfolgreicher Zahlung storniert werden. Rückerstattungen müssen normalerweise die folgenden Bedingungen erfüllen: 1. Die Rückerstattungsrichtlinie des Händlers, einschließlich des Rückerstattungszeitraums, des Rückerstattungsbetrags und der Rückerstattungsmethode. 2. Zahlungsfrist, Rückerstattungen müssen normalerweise innerhalb eines bestimmten Zeitraums erfolgen 3. Waren- oder Dienstleistungsstatus Wenn der Benutzer die Ware erhalten oder die Dienstleistung in Anspruch genommen hat, kann der Händler verlangen, dass er die Ware zurückgibt oder einen entsprechenden Nachweis erbringt. Rückerstattungsprozess usw.
