Jadual Kandungan
dedecms集成财付通支付接口,dedecms集成财付通
Rumah php教程 php手册 dedecms集成财付通支付接口,dedecms集成财付通

dedecms集成财付通支付接口,dedecms集成财付通

Jun 13, 2016 am 09:17 AM
dedecms Antara muka pembayaran Tenpay

dedecms集成财付通支付接口,dedecms集成财付通

用织梦做了个旅游网站,客户要求财付通支付,上网找了下 不是要买就是要钱,只有自己写了。

代码:

复制代码 代码如下:


if(!defined('DEDEINC')) exit('Request Error!');
/**
 *财付通接口类
 */
class tenpay
{
    var $dsql;
    var $mid;
    var $reqURL_onLine = "http://www.tenpay.com";
    var $return_url='/plus/carbuyaction.php?dopost=return'; //返回处理地址
    /**
    * 构造函数
    *
    * @access  public
    * @param
    *
    * @return void
    */
    function tenpay()
    {
        global $dsql;
        $this->dsql = $dsql;
    }
    function __construct()
    {
        $this->tenpay();
    }
    /**
     *  设定接口会送地址
     *
     *  例如: $this->SetReturnUrl($cfg_basehost."/tuangou/control/index.php?ac=pay&orderid=".$p2_Order)
     *
     * @param     string  $returnurl  会送地址
     * @return    void
     */
    function SetReturnUrl($returnurl='')
    {
        if (!empty($returnurl))
        {
            $this->return_url = $returnurl;
        }
    }
    /**
    * 生成支付代码
    * @param   array   $order      订单信息
    * @param   array   $payment    支付方式信息
    */
    function GetCode($order, $payment)
    {
        global $cfg_basehost,$cfg_cmspath;
        //对于二级目录的处理
        if(!empty($cfg_cmspath)) $cfg_basehost = $cfg_basehost.'/'.$cfg_cmspath;
          $partner      =  $payment['tenpay_account'];
          $out_trade_no = $order['out_trade_no'];
          $total_fee = floatval($order['price']) * 100;
           $body = $order['out_trade_no'];
           $attach = '';
           $bank_type = 'DEFAULT';
            /* 交易类型:2、虚拟交易,1、实物交易 */
         $trans_type = 1;
         $trade_mode=empty($payment['tenpay_pay_method']) ? '1' : $payment['tenpay_pay_method'];
       $parameter = array(
            'partner'              => $partner,
            'out_trade_no'         => $out_trade_no,                           //订单号
            'total_fee'            => $total_fee,                              //总金额
            'notify_url'           => $cfg_basehost.$this->return_url."&code=".$payment['code'],  //返回地址
            'return_url'           => $cfg_basehost.$this->return_url."&code=".$payment['code'], //提醒地址
            'body'                 => $body,                            //交易描述
            'bank_type'            => $bank_type,                       //交易类型  默认财付通
            //用户ip
            'spbill_create_ip'     => $_SERVER['REMOTE_ADDR'],          //交易ip
            'fee_type'             => '1',                        //币种  1 人民币
            'subject'              => $body,                            //商品名称
            //系统可选参数
            'sign_type'            => 'MD5',                            //加密方式
            'service_version'      => '1.0',                            //接口版本号 默认1.0
            'input_charset'        => 'UTF-8',                         //系统编码  'GBK'
            'sign_key_index'       => '1',                              //密钥序号
            //业务可选参数
            'attach'               => $attach,            //附加数据 原样返回  默认为空
            'product_fee'          => '',                 //商品费用
            'transport_fee'        => '0',                //物流费用
            'time_start'           => date("YmdHis"),     //订单生成时间   date("YmdHis")
            'time_expire'          => '',                 //订单失效时间
            'buyer_id'             => '',                 //买方财付通帐号
            'goods_tag'            => '',                 //商品标记
            'trade_mode'           => $trade_mode,        //交易模式(1.即时到帐模式,2.中介担保模式,3.后台选择(卖家进入支付中心列表选择))
            'transport_desc'       => '',                 //物流说明
            'trans_type'           => $trans_type,        //交易类型
            'agentid'              => '',                 //平台ID
            'agent_type'           => '',                 //代理模式(0.无代理,1.表示卡易售模式,2.表示网店模式)
            'seller_id'            => ''                  //卖家商户号
        );
        ksort($parameter);
        reset($parameter);
        $param = '';
        $sign  = '';
        foreach ($parameter AS $key => $val)
        {
            $param .= "$key=" .urlencode($val). "&";
            if("" != $val && "sign" != $key) {
                $sign  .= "$key=$val&";
            }
        }
        $param = substr($param, 0, -1);
        $sign .= "key=".$payment['tenpay_key'];
        $sign = strtolower(md5($sign)); 
        $button = '

';
        return $button;
    /* 清空购物车 */
        require_once DEDEINC.'/shopcar.class.php';
        $cart     = new MemberShops();
        $cart->clearItem();
        $cart->MakeOrders();
        return $button;
    }
    /**
    * 响应操作
    */
    function respond()
    {
        /* 引入配置文件 */
        $code = preg_replace( "#[^0-9a-z-]#i", "", $_GET['code'] );
        require_once DEDEDATA.'/payment/'.$code.'.php';
        $attach         = $_GET['attach'];
        $trade_state    = $_GET['trade_state'];
        $total_fee      = $_GET['total_fee'];
        $out_trade_no = trim($_GET['out_trade_no']);
 if(preg_match ("/S-P[0-9]+RN[0-9]/",$order_sn)) {
            //检查支付金额是否相符
            $row = $this->dsql->GetOne("SELECT * FROM dede_shops_orders WHERE oid = '{$order_sn}'");
            if ($row['priceCount'] != $_GET['total_fee'])
            {
                return $msg = "支付失败,支付金额与商品总价不相符!";
            }
            $this->mid = $row['userid'];
          /* 检查数字签名是否正确 */
        ksort($_GET);
        reset($_GET);
       $sign = '';
        foreach ($_GET AS $key => $val)
        {
            if("" != $val && "sign" != $key && $key != 'code') {
                $sign  .= "$key=$val&";
            }
        }
           $sign .= "key=".$payment['tenpay_key'];
  if(strtolower(md5($sign))==strtolower($_GET['sign']))
{
            if($trade_state==0)
            {     
                     /* 改变订单状态 */
               if($this->success_db($out_trade_no)) 
               return $msg = "支付成功!
返回主页 会员中心";
               else  return $msg = "支付失败!
返回主页 会员中心";
            }  
}
else{
   //return $msg = "支付失败!
返回主页 会员中心";
  }
   }
    /*处理物品交易*/
    function success_db($order_sn)
    {
        $time=time();
        $mid=$this->mid;
        //获取订单信息,检查订单的有效性
        $row = $this->dsql->GetOne("SELECT state,priceCount FROM dede_shops_orders WHERE oid='$order_sn' ");
        if($row['state'] > 0)
        {
            return TRUE;
        } 
        /* 改变订单状态_支付成功 */
        $sql = "UPDATE `dede_shops_orders` SET `state`='1' WHERE `oid`='$order_sn' AND `userid`='".$this->mid."'";
        if($this->dsql->ExecuteNoneQuery($sql))
        {
            $this->log_result("verify_success,订单号:".$order_sn); //将验证结果存入文件
            return TRUE;
        } else {
            $this->log_result ("verify_failed,订单号:".$order_sn);//将验证结果存入文件
            return FALSE;
        }
    }
    function  log_result($word) {
        global $cfg_cmspath;
        $fp = fopen(dirname(__FILE__)."/../../data/payment/log.txt","a");
        flock($fp, LOCK_EX) ;
        fwrite($fp,$word.",执行日期:".strftime("%Y-%m-%d %H:%I:%S",time())."\r\n");
        flock($fp, LOCK_UN);
        fclose($fp);
    }
}
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
2 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Repo: Cara menghidupkan semula rakan sepasukan
1 bulan yang lalu By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Cara mendapatkan biji gergasi
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Di manakah templat rangkaian sumber cms imperial? Di manakah templat rangkaian sumber cms imperial? Apr 17, 2024 am 10:00 AM

Lokasi muat turun templat Empire CMS: Muat turun templat rasmi: https://www.phome.net/template/ Tapak web templat pihak ketiga: https://www.dedecms.com/diy/https://www.0978.com. cn /https://www.jiaocheng.com/Kaedah pemasangan: Muat turun templat Nyahzip templat Muat naik templat Pilih templat

Cara menggunakan dedecms Cara menggunakan dedecms Apr 16, 2024 pm 12:15 PM

Dedecms ialah sistem CMS Cina sumber terbuka yang menyediakan pengurusan kandungan, sistem templat dan perlindungan keselamatan. Penggunaan khusus termasuk langkah-langkah berikut: 1. Pasang Dedecms. 2. Konfigurasi pangkalan data. 3. Log masuk ke antara muka pengurusan. 4. Cipta kandungan. 5. Sediakan templat. 6. Mengurus pengguna. 7. Menjaga sistem.

Laporan penilaian alat penukaran dedecms yang tepat dan boleh dipercayai Laporan penilaian alat penukaran dedecms yang tepat dan boleh dipercayai Mar 12, 2024 pm 07:03 PM

Laporan penilaian alat penukaran dedecms yang tepat dan boleh dipercayai Dengan perkembangan pesat era Internet, pembinaan laman web telah menjadi salah satu alat yang diperlukan untuk banyak syarikat dan individu. Dalam pembinaan laman web, menggunakan sistem pengurusan kandungan (CMS) boleh mengurus kandungan dan fungsi laman web dengan lebih mudah dan cekap. Antaranya, dedecms, sebagai sistem CMS yang terkenal, digunakan secara meluas dalam pelbagai projek pembinaan laman web. Walau bagaimanapun, kadangkala kita berhadapan dengan keperluan untuk menukar tapak web dedecms kepada format lain, dalam hal ini kita perlu menggunakan alat penukaran

Bagaimana untuk memuat naik video tempatan ke dedecms Bagaimana untuk memuat naik video tempatan ke dedecms Apr 16, 2024 pm 12:39 PM

Bagaimana untuk memuat naik video tempatan menggunakan Dedecms? Sediakan fail video dalam format yang disokong oleh Dedecms. Log masuk ke bahagian belakang pengurusan Dedecms dan buat kategori video baharu. Muat naik fail video pada halaman pengurusan video, isikan maklumat yang berkaitan dan pilih kategori video. Untuk membenamkan video semasa mengedit artikel, masukkan nama fail video yang dimuat naik dan laraskan dimensi.

Cara dedecms melaksanakan penggantian templat Cara dedecms melaksanakan penggantian templat Apr 16, 2024 pm 12:12 PM

Penggantian templat boleh dilaksanakan dalam Dedecms melalui langkah berikut: ubah suai fail global.cfg dan tetapkan pek bahasa yang diperlukan. Ubah suai fail cangkuk taglib.inc.php dan tambah sokongan untuk fail templat akhiran bahasa. Cipta fail templat baharu dengan akhiran bahasa dan ubah suai kandungan yang diperlukan. Kosongkan cache Dedecms.

Cara mudah untuk mempelajari fungsi penukaran pengekodan dedecms Cara mudah untuk mempelajari fungsi penukaran pengekodan dedecms Mar 14, 2024 pm 02:09 PM

Mempelajari fungsi penukaran pengekodan dedecms tidak rumit Contoh kod mudah boleh membantu anda menguasai kemahiran ini dengan cepat. Dalam dedecms, fungsi penukaran pengekodan biasanya digunakan untuk menangani masalah seperti aksara Cina yang kacau dan aksara khas untuk memastikan operasi normal sistem dan ketepatan data. Berikut akan memperkenalkan secara terperinci cara menggunakan fungsi penukaran pengekodan dedecms, membolehkan anda mengatasi pelbagai keperluan berkaitan pengekodan dengan mudah. 1.UTF-8 kepada GBK Dalam dedecms, jika anda perlu menukar rentetan dikodkan UTF-8 kepada G

Apakah kelemahan yang ada pada dedecms? Apakah kelemahan yang ada pada dedecms? Aug 03, 2023 pm 03:56 PM

DedeCMS ialah sistem pengurusan kandungan sumber terbuka yang mempunyai beberapa potensi kelemahan dan risiko keselamatan: 1. Kerentanan suntikan SQL boleh melakukan operasi tanpa kebenaran atau mendapatkan data sensitif dengan membina pernyataan pertanyaan SQL yang berniat jahat 2. Kerentanan Muat Naik Fail, penyerang boleh memuat naik fail yang mengandungi kod jahat kepada pelayan untuk melaksanakan kod sewenang-wenangnya atau mendapatkan kebenaran pelayan;

Apakah tapak web yang boleh dilakukan oleh dedecms? Apakah tapak web yang boleh dilakukan oleh dedecms? Apr 16, 2024 pm 12:24 PM

Dedecms ialah CMS sumber terbuka yang boleh digunakan untuk membuat pelbagai jenis laman web, termasuk: laman web berita, laman web blog, laman web e-dagang, forum dan laman web komuniti, laman web pendidikan, laman web portal, jenis laman web lain (seperti laman web korporat). , tapak web peribadi, tapak web album foto, tapak web perkongsian video)

See all articles