首頁  >  文章  >  後端開發  >  php實作小程式退款完整版

php實作小程式退款完整版

小云云
小云云原創
2018-03-21 13:26:133141瀏覽

本文主要和大家分享php實現小程式退款完整版,功能前提:1. 使用  wx php sdk (小程式支付完整版) ,  2. 設定憑證時使用絕對路徑希望能幫助大家。

1. 上碼:

    /**
     * 退款
     * @author:大脸猫脸大
     */
    public function refund()
    {
        import("Vendor.Wxpay.lib.WxPay#Api", "", ".php");
        $orderSn =  I("ordersn", "", "trim");
        $map = array('ordersn'=> $orderSn);
        $order = M("Order")->where($map)->find();
        if (!$order) {
            $result['code'] = 0;
            $result['msg'] = '未找到订单';
            $this->ajaxReturn($result);
        }
        $input = new \WxPayRefund();
        $input->SetTotal_fee($order['price']*100);
        $input->SetRefund_fee($order['price']*100);
        $input->SetOut_refund_no("R".$orderSn);
        $input->SetOut_trade_no("$orderSn");
        $input->SetOp_user_id(\WxPayConfig::MCHID);
        $refundOrder = \WxPayApi::refund($input);
        //file_put_contents(__DIR__."/refund.log", var_export($refundOrder, true). "\r\n" , FILE_APPEND);
        if ($refundOrder['result_code'] == 'SUCCESS' && $refundOrder['return_code'] == 'SUCCESS') {
            $result['code'] = 1;
            $result['data'] =  $refundOrder['transaction_id'];
            $this->ajaxReturn($result);
        }
        else {
            $result['code'] = 0;
            $result['msg'] =  $refundOrder['err_code'];
            $this->ajaxReturn($result);
        }
    }

相關推薦:

##微信支付的退款功能開發

PHP實作微信申請退款流程的方法

PHP開發實作微信退款功能詳解

以上是php實作小程式退款完整版的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn