100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > tp3.2中企业向个人微信钱包零钱付款

tp3.2中企业向个人微信钱包零钱付款

时间:2020-12-05 16:05:42

相关推荐

tp3.2中企业向个人微信钱包零钱付款

第一步:去商户平台账户中心->API安全下载证书会得到一个包cert.

第二步:将cert放入项目根目录下Static/Common/

第三步:将第三方企业向个人付款类库包Weixin放入Application/Common/Libs,类库包Weixin里面目录结构如下图:

第四步:打开lib里面的WxPay.Config.php文件,证书路径如下所示:

//=======【证书路径设置】=====================================

/**

* TODO:设置商户证书路径

* 证书路径,注意应该填写绝对路径(仅退款、撤销订单时需要,可登录商户平台下载,

* API证书下载地址:https://pay./index.php/account/api_cert,下载之前需要安装商户操作证书)

* @var path

*/

const SSLCERT_PATH = './Static/Common/cert/apiclient_cert.pem';//SSLCERT_PATH;

const SSLKEY_PATH = './Static/Common/cert/apiclient_key.pem';//SSLKEY_PATH;

第五步:所在的控制器里面上面引入相关类:

use \Common\Libs\Weixin\WechatAuth;//JSSDK 需要用到accessToken

use \Common\Libs\Weixin\JSSDK;//JSSDK

use \Common\Libs\Weixin\ComPay;//红包与企业支付

第五步:类里开始定义构造方法:

//初始化

public function __construct(){

parent::__construct();

define("APPID", 'wx19a64824b7e720c1');//微信公众号APPID

define("MCHID","1375278702");//微信商户号

define("KEY","Ze0Bai1Tong2Qi3Jian4Dian5Gaoshan");//微信商户自定义32为KEY

define("APPSECRET",'d9b2ac41c635e9fbcc3c6085d5cfae5b');//微信公众号appsecret

}

第六步:所用到的方法里面:

//个人现金账户提现

public function getmoney(){

$id=$_GET['id'];//当前登录用户id

$ordercode=$_POST['ordercode'];//订单号

$value=$_POST['money'];//提现的金额

$userdata=M('user')->where(array("id"=>$id))->find();

$xianjin=$userdata['xianjin'];

if($value>$xianjin){

$this->error('提现金额不能超过现金账户余额,且为整数');

}

$fandata=M('fans')->where(array("uid"=>$id))->find();

$openid=$fandata['openid'];

// //生成预订单

$data=[

"user_id"=>$id,

"change"=>-$value,

"ctype"=>"3",

"cmethod"=>"7",

"changetime"=>time(),

"yue_before"=>$xianjin,

"yue_after"=>$xianjin-$value,

"ocode"=>$ordercode,

"status"=>0,

];

//存入记录表log

$reslog=M('log')->add($data);

//企业付款(第一种方法)

$rb = new ComPay();

$fee = $value*100;

$body = '企业支付';

$rb->setOpenid($openid);

$rb->setAmount($fee);

$rb->setMchid(MCHID);

$rb->setApiKey(KEY);

$rb->setMchAppid(APPID);

$rb->setDesc($body);

$res = $rb->ComPay();

if($res){

$new_xianjin=$xianjin-$value;

$data=[

"xianjin"=>$new_xianjin,

];

$res=M('user')->where(array("id"=>$id))->save($data);

$da=[

"status"=>1,

];

$relogs=M('log')->where(array("ocode"=>$ordercode))->save($da);

$this->success('提现成功');

}else{

$this->error($rb->error());

}

//第二种方法(未测试)

// $params["desc"]="现金账户提现";

// $params["openid"]=$openid;

// $params["mch_appid"]=APPID;

// $params["mchid"]=MCHID;

// $key= KEY;

// $params["amount"]=$value;

// $apicent_cert='./Static/Common/cert/apiclient_cert.pem';

// $apiclient_key='./Static/Common/cert/apiclient_key.pem';

// Wxpay::payToUser($params, $key, $apicent_cert, $apiclient_key);

// $appId = "wx19a64824b7e720c1";

// $mchid = "1375278702";

// $nonce_str=date('YmdHis',time()).rand(10000,99999);

// $sign=md5($appId);

// $partner_trade_no=date('YmdHis',time()).rand(10000,99999);

// $check_name="NO_CHECK";

// $amount=$value;

// $desc="现金账户提现";

// $spbill_create_ip="47.94.44.189";

// $url = "https://api.mch./mmpaymkttransfers/promotion/transfers&mch_appid=".$appId."&mchid=".$mchid."&nonce_str=".$nonce_str."&sign=".$sign."&partner_trade_no=".$partner_trade_no."&check_name=".$check_name."&amount=".$amount."&desc=".$desc."&spbill_create_ip=".$spbill_create_ip;

// //初始化curl

// $ch = curl_init($url);

// //3.设置参数

// curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);

// curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);//跳过证书验证

// curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); // 从证书中检查SSL加密算法是否存在

// //4.调用接口

// $res = curl_exec($ch);

// if(curl_errno($ch)){

// var_dump(curl_error($ch));

// }

// $resArr = json_decode($res,true);

// //5.关闭curl

// curl_close($ch);

// var_dump($resArr);

}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。