- 安装微信支付sdk我这里使用的是wechatpay-php。
直接使用命令:composer require wechatpay/wechatpay
- 生成平台证书,这里取参考微信支付github文档说明
- 创建唤起微信支付数据以api接口方式返回给app端。
public function wechatArousePay()
{
$order_id = $this->request->post('order_id/d', null);
$order_number = $this->request->post('order_number/s', null);
if (!$order_id and !$order_number) {
return self::fail('订单ID或订单号必须存在其中一个');
}
$order_map = array(
['uid', '=', $this->userinfo['account']],
['pay_state', '<>', 20]
);
if ($order_id) {
$order_map[] = ['order_id', '=', $order_id];
}
if ($order_number) {
$order_map[] = ['order_number', '=', $order_number];
}
$order_info = Order::where($order_map)->find();
if (!$order_info) {
return self::fail('该项目不存在或已支付');
}
if ($order_info['total_price'] <= 0) {
return self::fail('订单支付金额不合法!');
}
$PaymentAmount = bcmul($order_info['total_price'], 100, 0);
$merchantId = config('wechatpay.mch_id');
$merchantPrivateKeyFilePath = public_path() . 'wechatpay/apiclient_key.pem';
$merchantPrivateKeyInstance = PemUtil::