PHP 는 위 챗 사업 자가 기업 에 잔돈 을 지불 하 는 기능 을 실현 합 니 다.

본 고 는 PHP 가 위 챗 업 체 가 잔돈 으로 지불 하 는 구체 적 인 코드 를 공유 하여 참고 하 시기 바 랍 니 다.구체 적 인 내용 은 다음 과 같 습 니 다.
위 챗 페 이 개발 문서
개통 조건
기업 지불 은 기업 에 사용자 에 게 잔돈 을 지불 하 는 능력 을 제공 하고 API 인 터 페 이 스 를 통 해 지불 하거나 위 챗 을 통 해 업 체 플랫폼(pay.weixin.qq.com)홈 페이지 를 통 해 지불 하 는 것 을 지원 합 니 다.
사용 조건
  • 상점 번호(또는 같은 주체 의 다른 비 서비스 업 체 상점 번호)가 90 일
  • 에 입주 했다.
  • 상호(또는 같은 주체 의 다른 비 서비스 업 체 상호)는 30 일 연속 정상 적 인 거래
  • 위 챗 결제 사업 자 플랫폼-제품 센터 에 접속 하여 기업 결 제 를 개통 합 니 다.

  • 구체 적 으로 는 위 챗 결제 개발 문 서 를 볼 수 있 습 니 다.
    코드 전시
    
    //         ,PHP      
    define("APPID", "wxe062425f740c30d8"); //     appid
    define("MCHID", "10000098");  //    
    define("SECRECT_KEY", "453436425252"); //      
    define("IP", "xxx.xxx.xx.xx"); //IP
    
    
     /**
     * [xmltoarray xml       ]
     * @param [type] $xml [xml]
     * @return [type]  [xml    array]
     */
     function xmltoarray($xml) { 
      //      xml   
      libxml_disable_entity_loader(true); 
      $xmlstring = simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA); 
      $val = json_decode(json_encode($xmlstring),true); 
      return $val;
     }
    
     /**
     * [arraytoxml       xml  (    ):]
     * @param [type] $data [  ]
     * @return [type]  [array   xml]
     */
     function arraytoxml($data){
      $str='<xml>';
      foreach($data as $k=>$v) {
       $str.='<'.$k.'>'.$v.'</'.$k.'>';
      }
      $str.='</xml>';
      return $str;
     }
    
     /**
     * [createNoncestr        ]
     * @param integer $length [  ]
     * @return [type]   [        ]
     */
     function createNoncestr($length =32){
      $chars = "ABCDEFGHIJKLMNOPQRSTUVWXYabcdefghijklmnopqrstuvwxyz0123456789"; 
      $str ="";
    
      for($i=0;$i<$length;$i++){ 
       $str.= substr($chars, mt_rand(0, strlen($chars)-1), 1); 
      } 
      return $str;
     }
    
     /**
     * [curl_post_ssl   curl_post  ]
     * @param [type] $url  [    ]
     * @param [type] $xmldata [      ]
     * @param [type] $second [        ]
     * @param [type] $aHeader [    ]
     * @return [type]   [description]
     */
     function curl_post_ssl($url, $xmldata, $second = 30, $aHeader = array()){
      $isdir = $_SERVER['DOCUMENT_ROOT']."/cert/";//    ;    
    
      $ch = curl_init();//   curl
    
      curl_setopt($ch, CURLOPT_TIMEOUT, $second);//        
      curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);//               
      curl_setopt($ch, CURLOPT_URL, $url);//      
      curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//           
      curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false);//
      curl_setopt($ch, CURLOPT_SSLCERTTYPE, 'PEM');//    
      curl_setopt($ch, CURLOPT_SSLCERT, $isdir . 'apiclient_cert.pem');//    
      curl_setopt($ch, CURLOPT_SSLKEYTYPE, 'PEM');//CURLOPT_SSLKEY           
      curl_setopt($ch, CURLOPT_SSLKEY, $isdir . 'apiclient_key.pem');//    
      curl_setopt($ch, CURLOPT_CAINFO, 'PEM');
      curl_setopt($ch, CURLOPT_CAINFO, $isdir . 'rootca.pem');
      if (count($aHeader) >= 1) {
       curl_setopt($ch, CURLOPT_HTTPHEADER, $aHeader);//    
      }
      curl_setopt($ch, CURLOPT_POST, 1);//post    
      curl_setopt($ch, CURLOPT_POSTFIELDS, $xmldata);//      HTTP    "POST"     
    
      $data = curl_exec($ch);//    
      if ($data) {
       curl_close($ch);
       return $data;
      } else {
       $error = curl_errno($ch);
       echo "call faild, errorCode:$error
    "; curl_close($ch); return false; } } /** * [sendMoney ] * @param [type] $amount [ ( ) 1 ] * @param [type] $re_openid [ openid] * @param string $desc [ ( )] * @param string $check_name [ ( )] * @return [type] [description] */ function sendMoney($amount,$re_openid,$desc=' ',$check_name=''){ $total_amount = (100) * $amount; $data=array( 'mch_appid'=>APPID,// appid 'mchid'=> MCHID,// 'nonce_str'=>createNoncestr(),// 'partner_trade_no'=> date('YmdHis').rand(1000, 9999),// 'openid'=> $re_openid,// openid 'check_name'=>'NO_CHECK',// , 're_user_name'=> $check_name,// 'amount'=>$total_amount,// 'desc'=> $desc,// 'spbill_create_ip'=> IP,//Ip ); // $secrect_key=SECRECT_KEY;/// API 。MD5 32 。 $data=array_filter($data); ksort($data); $str=''; foreach($data as $k=>$v) { $str.=$k.'='.$v.'&'; } $str.='key='.$secrect_key; $data['sign']=md5($str); // $xml=arraytoxml($data); $url='https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers'; // $res=curl_post_ssl($url,$xml); $return=xmltoarray($res); print_r($return); // xml, /* array(9) { ["return_code"]=> string(7) "SUCCESS" ["return_msg"]=> array(0) { } ["mch_appid"]=> string(18) "wx57676786465544b2a5" ["mchid"]=> string(10) "143345612" ["nonce_str"]=> string(32) "iw6TtHdOySMAfS81qcnqXojwUMn8l8mY" ["result_code"]=> string(7) "SUCCESS" ["partner_trade_no"]=> string(18) "201807011410504098" ["payment_no"]=> string(28) "1000018301201807019357038738" ["payment_time"]=> string(19) "2018-07-01 14:56:35" } */ $responseObj = simplexml_load_string($res, 'SimpleXMLElement', LIBXML_NOCDATA); echo $res= $responseObj->return_code; //SUCCESS SUCCESS, , return $res; }
    3.호출 방법
    
    sendMoney(1,'gdgfdg56456223423','xxxx  ','xxx');
    호출 하면 조금 만 수정 하고 자신의 업무 논 리 를 더 하면 됩 니 다.
    4.호출 효과


    파일 도 다운로드 할 수 있 습 니 다.저 는 클래스 파일 을 썼 습 니 다.PHP 위 챗 사업 자 는 기업 이 잔돈 으로 지불 하 는 기능 을 지불한다.
    이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.

    좋은 웹페이지 즐겨찾기