用的easywechat
代码:
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use EasyWeChat\Factory;
use DB;
class WechatController extends Controller
{
private $app;
public function __construct()
{
$config = [
// 必要配置
'app_id' => 'xxxxxxxxx',
'mch_id' => 'xxxxxxx',
'key' => 'xxxxxxxxxxx', // API 密钥
// 如需使用敏感接口(如退款、发送红包等)需要配置 API 证书路径(登录商户平台下载 API 证书)
'cert_path' => public_path('/cert/apiclient_cert.pem'), // XXX: 绝对路径!!!!
'key_path' => public_path('/cert/apiclient_key.pem'), // XXX: 绝对路径!!!!
'notify_url' => 'https://xx.xx/以在下单时单独设置来想覆盖它
];
$this->app = Factory::payment($config);
}
public function money()
{
$time =time();
$withdraw = DB::table('withdraw')->insertGetId([
'user_id' => 1,
'num' => 1,
'created_at' => $time,
'order_code' => $time,
]);
if (!$withdraw) {
dd('shibai');
}
$this->app->transfer->toBalance([
'partner_trade_no' => $time, // 商户订单号,需保持唯一性(只能是字母或者数字,不能包含有符号)
'openid' => 'olQ2H02-a6pMF7yh0raqt7RMVAyo',
'check_name' => 'NO_CHECK', // NO_CHECK:不校验真实姓名, FORCE_CHECK:强校验真实姓名
're_user_name' => '王小帅', // 如果 check_name 设置为FORCE_CHECK,则必填用户真实姓名
'amount' => 1, // 企业付款金额,单位为分
'desc' => 'ceshi', // 企业付款操作说明信息。必填
]);
dd($withdraw);
}
public function result()
{
$partnerTradeNo = DB::table('withdraw')->orderByDesc('id')->value('order_code');
$return = $this->app->transfer->queryBalanceOrder($partnerTradeNo);
dd($return);
}
}