<?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) {
Exemplo n.º 2
0
 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' => '退款已提交');
 }