PHP中微信小程序企业付款到零钱

Katen Doe

他的问题描述

PHP中微信小程序企业付款到零钱无从下手啊,看了小程序API文档一遍又一遍就是不好用?有没有大神帮帮我?


 根据微信小程序API文档企业付款到零钱具体PHP方法直接上代码



	public function payFwxPrice($appid,$mchid,$price,$openid,$desc='测试',$check_name=''){
		 $key='*****';//从微信公众平台获取的¥jey
		 $total_amount = (100) * $price;
		 $data=array(
					   'mch_appid'=>$appid,//商户账号appid
					   'mchid'=>$mchid,    //商户号
					   'nonce_str'=>$this->RandStr(32),//随机字符串
					   'partner_trade_no'=> date('ymdhis').rand(1000,9999),//商户订单号
					   'openid'=> $openid,//用户openid
					   'check_name'=>'NO_CHECK',//校验用户姓名选项,
					   'amount'=>$total_amount,//金额
					   'desc'=> $desc,//企业付款描述信息
					   'spbill_create_ip'=> '**********',//ip地址
					 );

		
				  $secrect_key=$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=$this->arrayToXml($data);
				 
				  $url='https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers'; //调用接口
				  $res=$this::curl_post_ssl($url,$xml);
				  $return=$this->xmlToArray($res);
				  
				  return $return;
				  
	}
	
	//数组转换成xml
    private function arrayToXml($arr) {
        $xml = "<xml>";
        foreach ($arr as $key => $val) {
            if (is_array($val)) {
                $xml .= "<" . $key . ">" . arrayToXml($val) . "</" . $key . ">";
            } else {
                $xml .= "<" . $key . ">" . $val . "</" . $key . ">";
            }
        }
        $xml .= "</xml>";
        return $xml;
    }

    
       //xml转换成数组
    private 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;
    }


...
A caption for the above image.

解决回答 (3)

wave
  • John Doe

    John Doe

    Jan 08, 2021 14:41 pm


     根据微信小程序API文档企业付款到零钱具体PHP方法直接上代码



    	public function payFwxPrice($appid,$mchid,$price,$openid,$desc='测试',$check_name=''){
    		 $key='*****';//从微信公众平台获取的¥jey
    		 $total_amount = (100) * $price;
    		 $data=array(
    					   'mch_appid'=>$appid,//商户账号appid
    					   'mchid'=>$mchid,    //商户号
    					   'nonce_str'=>$this->RandStr(32),//随机字符串
    					   'partner_trade_no'=> date('ymdhis').rand(1000,9999),//商户订单号
    					   'openid'=> $openid,//用户openid
    					   'check_name'=>'NO_CHECK',//校验用户姓名选项,
    					   'amount'=>$total_amount,//金额
    					   'desc'=> $desc,//企业付款描述信息
    					   'spbill_create_ip'=> '**********',//ip地址
    					 );
    
    		
    				  $secrect_key=$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=$this->arrayToXml($data);
    				 
    				  $url='https://api.mch.weixin.qq.com/mmpaymkttransfers/promotion/transfers'; //调用接口
    				  $res=$this::curl_post_ssl($url,$xml);
    				  $return=$this->xmlToArray($res);
    				  
    				  return $return;
    				  
    	}
    	
    	//数组转换成xml
        private function arrayToXml($arr) {
            $xml = "<xml>";
            foreach ($arr as $key => $val) {
                if (is_array($val)) {
                    $xml .= "<" . $key . ">" . arrayToXml($val) . "</" . $key . ">";
                } else {
                    $xml .= "<" . $key . ">" . $val . "</" . $key . ">";
                }
            }
            $xml .= "</xml>";
            return $xml;
        }
    
        
           //xml转换成数组
        private 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;
        }


    给他点赞
我来回答TA

 

Press ESC to close