一级日本大片免费,国产欧美日韩一区二五月天,日本久久久久午夜免费,人人看人人拍国产精品

  1. wordpress支付插件開發(fā),php支付插件開發(fā)實例

    二次開發(fā) admin 發(fā)布時間:2024-08-10 09:58:47 瀏覽: 次
    最近為客戶開發(fā)了一個wordpress的開發(fā)實例,現(xiàn)在分享出來給大家。
    本文為大家介紹支付網(wǎng)關(guān) API 創(chuàng)建自定義支付網(wǎng)關(guān)的方法。
    wordpress的電商功能,WooCommerce已經(jīng)進行了包裝,因此在WooCommerce框架下開發(fā)支付網(wǎng)關(guān)插件
    WooCommerce有 4 種類型的支付網(wǎng)關(guān):
     
    基于表單 – 這種方法中,用戶必須點擊表單中的提交按鈕,然后跳轉(zhuǎn)到第三方支付網(wǎng)關(guān)的網(wǎng)站處理支付。如 PayPal 標準接口, Authorize.net DPM,支付寶。
    基于 iFrame – 這種方法在 iframe 內(nèi)加載網(wǎng)關(guān)支付系統(tǒng),如: SagePay 表單, PayPal 高級接口。
    直接支付 – 如果使用這種支付方法,在結(jié)帳頁面當點擊 ‘下訂單’ 的同時,已經(jīng)支付成功了。  如: PayPal Pro, Authorize.net AIM
    線下支付 – 沒有線上處理過程. 如: Cheque, Bank Transfer
     
    1.首先按照插件的開發(fā)規(guī)則,開發(fā)好插件的源碼,然后在wordpress后臺進行上傳即可。
    2.本文主要講支付插件的開發(fā)。
    add_action( 'plugins_loaded', 'init_your_gateway_class' );
     
    function init_your_gateway_class() {
      class WC_Gateway_Your_Gateway extends WC_Payment_Gateway {}
    }
    function add_your_gateway_class( $methods ) {
    $methods[] = 'WC_Gateway_Your_Gateway'; 
    return $methods;
    }
     
    add_filter( 'woocommerce_payment_gateways', 'add_your_gateway_class' );
     
     
    public function process_payment( $order_id ) {
     
    $order = wc_get_order( $order_id );
     
    file_put_contents("wulog.txt", date('Y-m-d H:i:s')."--order_id[" . $order_id . "]\r\n",FILE_APPEND);
    file_put_contents("wulog.txt", date('Y-m-d H:i:s')."--order[" . json_encode($order) . "]\r\n",FILE_APPEND);
    $data=$_REQUEST;
    file_put_contents("wulog.txt", date('Y-m-d H:i:s')."--_REQUEST[" . json_encode($_REQUEST) . "]\r\n",FILE_APPEND);
     
     
    $mdkey='kr0x9p6zhouabwca4o6ato9otyeiz11g';
    $args = array(
    'pay_memberid'=> 10055,
    'pay_orderid'=> $order_id,
    'pay_applydate'=> date('Y-m-d H:i:s'),
    'pay_bankcode'=> '918',
    'pay_notifyurl'=> 'https://www.abc.vip/asiabillmain/pay/webhook_shop.php',
    'pay_callbackurl'=> 'https://www.abc.vip/asiabillmain/pay/webhook_shop.php',
    'pay_amount'=> $order->get_total(),
     
    );
    $data['order_no']=$order_id;
    $data['orderAmount']=$order->get_total();
    $sign=$this->Make_Sign($args,$mdkey);
    $args['pay_md5sign'] = $sign;
    $args['pay_productname'] = 'online';
    $args['pay_productdesc'] = 'online';
    $args['pay_producturl'] = 'https://www.abc.vip/product/black-printed-coffee-mug/';
    $args['pay_buyer'] = $data['billing_first_name'].' '.$data['billing_last_name'];
    $args['pay_address'] = $data['billing_address_1'];
    $args['pay_phone'] =  $data['billing_phone'];
    $args['pay_email'] =  $data['billing_email'];
    $args['pay_website'] =  'www.shoprong.vip';
    $args['pay_currency'] =  'usd';
    $args['pay_type'] = 'app';
    $url='https://www.xxx.com/Pay_Index.html';
    $response = $this->PostCurl( $url, $args );
    //$response=preg_replace_callback('/\\\\u([0-9a-f]{4})/i', create_function('$matches', 'return iconv("UCS-2BE","UTF-8",pack("H*", $matches[1]));'), $response); 
    $response = $this->decodeUnicode($response);
    file_put_contents("wulog.txt", date('Y-m-d H:i:s')."--response[" . $response . "]\r\n",FILE_APPEND);
    $result=json_decode($response,true);
    if ($result['returncode']=='00')
    {
    $data['transaction_id']=$result['transaction_id'];
    $jumpUrl=$result['payUrl'].'?'.http_build_query($data);
    //$jumpUrl=urlencode($jumpUrl);
    file_put_contents("wulog.txt", date('Y-m-d H:i:s')."--jumpUrl[" . $jumpUrl . "]\r\n",FILE_APPEND);
    //header("Location: ".$jumpUrl);
    return array(
    'result' => 'success',
    'redirect' => $jumpUrl
    );
    }
    else
    {
    wc_add_notice(  'The order is duplicated. Please try again.', 'error' );
    return;
    }
     
     
    }
     
    開發(fā)后的支付頁面如下圖所示:
     
    wordpress.png
     
    大家有需要可以跟我聯(lián)系:QQ:804752009
     

    在線咨詢

    點擊這里給我發(fā)消息售前咨詢專員

    點擊這里給我發(fā)消息售后服務(wù)專員

    在線咨詢

    免費通話

    24h咨詢:0475-2793529


    如您有問題,可以咨詢我們的24H咨詢電話!

    免費通話

    微信掃一掃

    微信聯(lián)系
    返回頂部