<?php require_once "../../beecloud.php"; $data = array(); $appSecret = "c37d661d-7e61-49ea-96a5-68c34e83db3b"; $data["app_id"] = "c37d661d-7e61-49ea-96a5-68c34e83db3b"; $data["timestamp"] = time() * 1000; $data["app_sign"] = md5($data["app_id"] . $data["timestamp"] . $appSecret); $data["bill_no"] = $_GET["bill_no"]; $data["refund_no"] = $_GET["refund_no"]; $data["refund_fee"] = (int) $_GET["refund_fee"]; //选择渠道类型(WX、WX_APP、WX_NATIVE、WX_JSAPI、ALI、ALI_APP、ALI_WEB、ALI_QRCODE、UN、UN_APP、UN_WEB) $data["channel"] = "YEE"; //选填 optional $data["optional"] = json_decode(json_encode(array("tag" => "msgtoreturn"))); try { $result = BCRESTApi::refund($data); if ($result->result_code != 0 || $result->result_msg != "OK") { echo json_encode($result->err_detail); exit; } $url = $result->url; echo $url; ?> <script> window.location.href="<?php echo $url; ?> "; </script> <?php } catch (Exception $e) {
public static function refund($order_id, $channel = 'WX') { $data = static::returnDataArray(); $refund = RefundRecord::where('order_id', $order_id)->first(); if (!isset($refund)) { return array('errCode' => 21, 'message' => '该订单不存在'); } $order = AgencyOrder::find($order_id); $data["bill_no"] = $order->order_id; $data["refund_no"] = date('Ymd', time()) . time(); $data["refund_fee"] = (int) (($order->capital_sum + $order->service_charge_sum + $order->express_fee) * 100); $data["channel"] = $channel; $data["optional"] = json_decode(json_encode(array("refund_id" => $refund->refund_id), true), true); try { DB::transaction(function () use($refund, $data) { $order_auth_info = new OrderAuthInfo(); $order_auth_info->transactionId = $data["refund_no"]; //交易单号 $order_auth_info->transactionFee = $data["refund_fee"]; //费用 $order_auth_info->save(); $refund->refund_no = $data["refund_no"]; $refund->save(); }); } catch (Exception $e) { return array('errCode' => 21, 'message' => $e->getMessage()); } try { $result = BCRESTApi::refund($data); if ($result->result_code != 0 || $result->result_msg != "OK") { return array('errCode' => 22, 'message' => $result->err_detail); } } catch (Exception $e) { return array('errCode' => 23, 'message' => $e->getMessage()); } return array('errCode' => 0, 'message' => '退款已提交'); }