<?php
namespace app\common\model;
require_once "extend/wx/lib/WxPay.Api.php";
use think\Db;
use alipay\aop\AopClient;
use alipay\aop\request\AlipayFundTransToaccountTransferRequest;
class Pay extends Base
{
/**
* 支付宝企业转账到商户
* @return [store_member_id] [商户ID]
* @return [userid] [商户支付宝userID]
* @return [money] [支付金额]
*/
public function accounts($store_member_id='',$userid='',$money='')
{
if ($userid) {
$aop = new AopClient ();
$aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do'; //请求url
$aop->appId = config('alipay_id'); //商家支付宝APPID
$aop->rsaPrivateKey = config('private_key'); //支付宝私钥
$aop->alipayrsaPublicKey=config('public_key'); //支付宝公钥
$aop->apiVersion = '1.0'; //版本号
$aop->signType = 'RSA2'; //加密方式
$aop->postCharset='utf-8';
$aop->format='json'; //支付宝返回方式
$out_biz_no = substr(build_order_no().uniqid(),0,32); //订单号
$request = new AlipayFundTransToaccountTransferRequest();
$request->setBizContent("{" .
"\"out_biz_no\":\"".$out_biz_no."\"," .
"\"payee_type\":\"ALIPAY_USERID\"," .
"\"payee_account\":\"".$userid."\"," .
"\"amount\":\"".$money."\"," .
"\"payer_show_name\":\"公司名\"," .
// "\"payee_real_name\":\"张三\"," .
"\"remark\":\"转账备注\"" .
"}");
$result = $aop->execute ( $request);
$responseNode = str_replace(".", "_", $request->getApiMethodName()) . "_response";
$resultCode = $result->$responseNode->code;
$result = json_decode(json_encode($result),true);
if(!empty($resultCode)&&$resultCode == 10000){
//转账记录入库
$data['code'] = 1;
$data['msg'] = '支付成功';
$data['out_biz_no'] = $out_biz_no;
return json_encode($data);
} else {
$data['code'] = 0;
$data['msg'] = $result['alipay_fund_trans_toaccount_transfer_response']['sub_msg'];
return json_encode($data);
}
}else{
$data['code'] = 4;
$data['msg'] = '请先绑定支付宝';
return json_encode($data);
}
}
}