Heim  >  Artikel  >  Backend-Entwicklung  >  PHP implementiert den Beispielcode für WeChat-Unternehmenszahlungen für Benutzer

PHP implementiert den Beispielcode für WeChat-Unternehmenszahlungen für Benutzer

小云云
小云云Original
2018-05-10 17:39:421586Durchsuche

In diesem Artikel wird hauptsächlich die Methode der PHP-Programmierung zur Realisierung von WeChat-Enterprise-Zahlungen für Benutzer vorgestellt, wobei PHP-bezogene Kenntnisse für den Aufruf, die Konfiguration und den interaktiven Betrieb der WeChat-Schnittstelle erforderlich sind. Ich hoffe, dass er allen helfen kann.

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);
$data[&#39;mch_appid&#39;]=&#39;##################&#39;;//商户的应用appid
$data[&#39;mchid&#39;]=&#39;################&#39;;//商户ID
$data[&#39;nonce_str&#39;]=&#39;123456&#39;;//unicode();//这个据说是唯一的字符串下面有方法
$data[&#39;partner_trade_no&#39;]=&#39;LB123456&#39;;//.time();//这个是订单号。
$data[&#39;openid&#39;]=&#39;123&#39;;//这个是授权用户的openid。。这个必须得是用户授权才能用
$data[&#39;check_name&#39;]=&#39;NO_CHECK&#39;;//这个是设置是否检测用户真实姓名的
$data[&#39;re_user_name&#39;]=&#39;######&#39;;//用户的真实名字
$data[&#39;amount&#39;]=&#39;1&#39;;//提现金额
$data[&#39;desc&#39;]=&#39;服务费&#39;;//订单描述
$data[&#39;spbill_create_ip&#39;]=$_SERVER[&#39;SERVER_ADDR&#39;];//这个最烦了,,还得获取服务器的ip
$secrect_key=&#39;#################################&#39;;///这个就是个API密码。32位的。。随便MD5一下就可以了
$data=array_filter($data);
ksort($data);
$str=&#39;&#39;;
foreach($data as $k=>$v) {
  $str.=$k.&#39;=&#39;.$v.&#39;&&#39;;
}
$str.=&#39;key=&#39;.$secrect_key;
$data[&#39;sign&#39;]=md5($str);
$xml=arraytoxml($data);
// echo $xml;
$url=&#39;https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers&#39;;
$res=curl($xml,$url);
$return=xmltoarray($res);
print_r($return);
// echo getcwd().&#39;/cert/apiclient_cert.pem&#39;;die;
function unicode() {
  $str = uniqid(mt_rand(),1);
  $str=sha1($str);
  return md5($str);
}
function arraytoxml($data){
  $str=&#39;<xml>&#39;;
  foreach($data as $k=>$v) {
    $str.=&#39;<&#39;.$k.&#39;>&#39;.$v.&#39;</&#39;.$k.&#39;>&#39;;
  }
  $str.=&#39;</xml>&#39;;
  return $str;
}
function xmltoarray($xml) {
   //禁止引用外部xml实体
  libxml_disable_entity_loader(true);
  $xmlstring = simplexml_load_string($xml, &#39;SimpleXMLElement&#39;, LIBXML_NOCDATA);
  $val = json_decode(json_encode($xmlstring),true);
  return $val;
}
function curl($param="",$url) {
  $postUrl = $url;
  $curlPost = $param;
  $ch = curl_init();                   //初始化curl
  curl_setopt($ch, CURLOPT_URL,$postUrl);         //抓取指定网页
  curl_setopt($ch, CURLOPT_HEADER, 0);          //设置header
  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);      //要求结果为字符串且输出到屏幕上
  curl_setopt($ch, CURLOPT_POST, 1);           //post提交方式
  curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);      // 增加 HTTP Header(头)里的字段
  curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);    // 终止从服务端进行验证
  curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
  curl_setopt($ch,CURLOPT_SSLCERT,getcwd().&#39;/cert/apiclient_cert.pem&#39;); //这个是证书的位置
  curl_setopt($ch,CURLOPT_SSLKEY,getcwd().&#39;/cert/apiclient_key.pem&#39;); //这个也是证书的位置
  $data = curl_exec($ch);                 //运行curl
  curl_close($ch);
  return $data;
}

Verwandte Empfehlungen:

Javascript – Wie sendet die WeChat-Entwicklung aktiv Nachrichten an Benutzer?

Das obige ist der detaillierte Inhalt vonPHP implementiert den Beispielcode für WeChat-Unternehmenszahlungen für Benutzer. 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