php 위 챗 공중 호 개발 위 챗 기업 개인 에 게 지불
아래 위 챗 결제 중 기업 결제 에 관 한 소개 및 인 코딩 은 위 챗 결제 개발 문서 에서 참고 합 니 다인터넷 주소그림 참조.
기업 이 지불 하고 기업 이 사용자 에 게 지불 하 는 기능 을 제공 하 며 기업 이 API 인 터 페 이 스 를 통 해 지불 하거나 위 챗 을 통 해 업 체 플랫폼 홈 페이지 기능 조작 으로 지불 하 는 것 을 지원 한다.
기업 결제 업 무 는 위 챗 결제 사업 자 플랫폼 의 자금 관리 능력 을 바탕 으로 사업 자가 편리 하 게 기업 이 개인 에 게 지불 하 는 것 을 돕 기 위해 일부 개발 능력 이 있 는 사업 자 를 대상 으로 API 를 통 해 기업 결 제 를 완성 하 는 기능 을 제공한다.<
예 를 들 어 현재 의 보험업 계 는 고객 에 게 보험 을 취소 하고 지급 하 며 배상 을 처리한다.
다음은 PHP 가 기업 결제 업 무 를 실현 하 는 데 사용 되 는 코드 세 션 입 니 다.참고 하 시기 바 랍 니 다.
/* */
<!-- -->
<!-- $openid openid,$re_user_name ,$amount ,$partner_trade_no ,$desc -->
<!-- , true, false-->
private function weixin_transfer_money($openid,$re_user_name,$amount,$partner_trade_no,$desc){
//
// appid( )--mch_appid( )--1( )
// appid
$data['mch_appid']="**************";
// --mchid--1
//
$data['mchid']="*************";
// --device_info--0
// --nonce_str--1
$data['nonce_str']=$this->get_unique_value();
// --sign--1
$data['sign']="";
// --partner_trade_no--1
$data['partner_trade_no']=$partner_trade_no;
// openid--openid--1
$data['openid']=$openid;
// --check_name--1
$data['check_name']="OPTION_CHECK";
// --re_user_name--0
$data['re_user_name']=$re_user_name;
// --amount--1
$data['amount']=$amount;
// --desc--1
$data['desc']=$desc;
//IP --spbill_create_ip--1
$data['spbill_create_ip']=$_SERVER['LOCAL_ADDR'];
//
//
//API , appsecret
$appsecret="*************";
$data=array_filter($data);
ksort($data);
$str="";
foreach($data as $k=>$v){
$str.=$k."=".$v."&";
}
$str.="key=".$appsecret;
$data['sign']=strtoupper(MD5($str));
/*
:
1. xml
2.
3.
4.
5.
6.
*/
//
$url="https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers";
//1. xml
$xml=$this->arraytoxml($data);
//2.
$res=$this->curl($xml,$url);
//3. xml
$arr=$this->xmltoarray($res);
//4. , ,$arr
$transfer['partner_trade_no']=$data['partner_trade_no'];
$transfer['request_data']=serialize($data);
$transfer['response_data']=serialize($arr);
if($arr['return_code']=="SUCCESS" && $arr['result_code']=="SUCCESS"){
//5. 6.
$transfer['success']=1;
$transfer_res['success']=1;
}else{
$transfer['success']=0;
$transfer_res['success']=0;
$transfer_res['desc']=$arr['return_msg'];
}
$transfer['add_time']=time();
D("weixin_transfer")->add($transfer);
return $transfer_res;
}
// 32
private function get_unique_value(){
$str=uniqid(mt_rand(),1);
$str=sha1($str);
return md5($str);
}
// xml
private function arraytoxml($arr){
$xml="<xml>";
foreach($arr as $k=>$v){
$xml.="<".$k.">".$v."</".$k.">";
}
$xml.="</xml>";
return $xml;
}
// xml
private function xmltoarray($xml){
// xml
libxml_disable_entity_loader(true);
$xmlstring=simplexml_load_string($xml,"SimpleXMLElement",LIBXML_NOCDATA);
$arr=json_decode(json_encode($xmlstring),true);
return $arr;
}
// curl
private function curl($param="",$url) {
$postUrl = $url;
$curlPost = $param;
// curl
$ch = curl_init();
//
curl_setopt($ch, CURLOPT_URL,$postUrl);
// header
curl_setopt($ch, CURLOPT_HEADER, 0);
//
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//post
curl_setopt($ch, CURLOPT_POST, 1);
// HTTP Header( )
curl_setopt($ch, CURLOPT_POSTFIELDS, $curlPost);
//
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE);
//
curl_setopt($ch,CURLOPT_SSLCERT,getcwd().'\cert\apiclient_cert.pem');
//
curl_setopt($ch,CURLOPT_SSLKEY,getcwd().'\cert\apiclient_key.pem');
// curl
$data = curl_exec($ch);
// curl
curl_close($ch);
//
return $data;
}
이상 이 바로 본 고의 모든 내용 입 니 다.여러분 의 학습 에 도움 이 되 고 저 희 를 많이 응원 해 주 셨 으 면 좋 겠 습 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Laravel - 변환된 유효성 검사 규칙으로 API 요청 제공동적 콘텐츠를 위해 API를 통해 Laravel CMS에 연결하는 모바일 앱(또는 웹사이트) 구축을 고려하십시오. 이제 앱은 CMS에서 번역된 콘텐츠를 받을 것으로 예상되는 다국어 앱이 될 수 있습니다. 일반적으로 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.