freeze($param['money'], $order_number, '预授权冻结', $notify_url); //记录日志 platformLog([ 'out_order_no' => $order_number, 'out_request_no' => $order_number, 'order_title' => '预授权冻结', 'amount' => round($param['money'], 2), 'product_code' => 'PRE_AUTH_ONLINE', ], $result, 'alipaysdk_pay_mp_alipay_freeze_' . UID); if (!isset($result['body'])) { return sendErrorMessage(4100, '生成预授权订单失败'); } return sendSuccessMessage(['pay_params' => $result['body']]); } /** * 预授权支付 * @date 2022-04-02 */ public function freezePay() { $param = input('post.'); $ali_pay_param = get_mp_alipay_config(); $ali_pay_class = new \ali\alipay\pay\AliPay($ali_pay_param); // $notify_url = Request::domain() . '/index.php/base/demo/api/Callback/tradeNotify/uid/' . UID; $order_number = date("Ymd") . createNonceStr(4, ['number']); $result = $ali_pay_class->freezePay($param['money'], $order_number, '预授权冻结后支付', $param['auth_code']); //记录日志 platformLog([ 'order_number' => $order_number, 'money' => $param['money'], 'body' => '预授权冻结', 'auth_code' => $param['auth_code'] ], $result, 'alipaysdk_pay_freeze_pay_' . UID); dump($result); if ($result['code'] !== '10000') { return sendErrorMessage($result['code'], $result['sub_msg']); } } /** * 预授权资金解冻 * @date 2022-04-02 */ public function unfreeze() { $param = input('post.'); $ali_pay_param = get_mp_alipay_config(); $ali_pay_class = new \ali\alipay\pay\AliPay($ali_pay_param); $order_number = 'JD' . date("Ymd") . createNonceStr(4, ['number']); $result = $ali_pay_class->unfreeze($param['money'], $order_number, $param['auth_no'], '资金解冻'); //记录日志 platformLog([ 'order_number' => $order_number, 'money' => $param['money'], 'remark' => '资金解冻', 'auth_code' => $param['auth_no'] ], $result, 'alipaysdk_pay_unfreeze_' . UID); dump($result); if ($result['code'] !== '10000') { return sendErrorMessage($result['code'], $result['sub_msg']); } } /** * 预授权查询 * @date 2022-04-01 */ public function orderFind() { $param = input('post.'); $ali_pay_param = get_mp_alipay_config(); $ali_pay_class = new \ali\alipay\pay\AliPay($ali_pay_param); $result = $ali_pay_class->freezeQuery($param['order_number']); //记录日志 platformLog([ 'out_order_no' => $param['order_number'], 'out_request_no' => $param['order_number'], ], $result, 'alipaysdk_find_' . UID); if ($result['code'] !== '10000') { return sendErrorArray($result['code'], $result['sub_msg']); } dump($result); } /** * 预授权支付 * @date 2022-04-02 */ public function freezePayRefund() { $param = input('post.'); $ali_pay_param = get_mp_alipay_config(); $ali_pay_class = new \ali\alipay\pay\AliPay($ali_pay_param); $result = $ali_pay_class->refund($param['order_number'], $param['order_number'] . 'R', 0.01); //记录日志 platformLog([ ], $result, 'alipaysdk_pay_freeze_pay111_' . UID); dump($result); if ($result['code'] !== '10000') { return sendErrorMessage($result['code'], $result['sub_msg']); } } }