?? pay800.php
字號:
<?php
/**
* 800pay 支付寶插件
* ============================================================================
* 版權(quán)所有 (C) 2005-2008 康盛創(chuàng)想(北京)科技有限公司,并保留所有權(quán)利。
* 網(wǎng)站地址: http://www.ecshop.com;http://www.comsenz.com
* ----------------------------------------------------------------------------
* 這不是一個自由軟件!您只能在不用于商業(yè)目的的前提下對程序代碼進行修改和
* 使用;不允許對程序代碼以任何形式任何目的的再發(fā)布。
* ============================================================================
* $Author: testyang $
* $Id: pay800.php 14481 2008-04-18 11:23:01Z testyang $
*/
if (!defined('IN_ECS'))
{
die('Hacking attempt');
}
$payment_lang = ROOT_PATH . 'languages/' .$GLOBALS['_CFG']['lang']. '/payment/pay800.php';
if (file_exists($payment_lang))
{
global $_LANG;
include_once($payment_lang);
}
/**
* 模塊信息
*/
if (isset($set_modules) && $set_modules == TRUE)
{
$i = isset($modules) ? count($modules) : 0;
/* 代碼 */
$modules[$i]['code'] = basename(__FILE__, '.php');
/* 描述對應(yīng)的語言項 */
$modules[$i]['desc'] = 'pay800_desc';
/* 是否支持貨到付款 */
$modules[$i]['is_cod'] = '0';
/* 是否支持在線支付 */
$modules[$i]['is_online'] = '1';
/* 作者 */
$modules[$i]['author'] = '800-pay';
/* 網(wǎng)址 */
$modules[$i]['website'] = 'http://www.800-pay.com';
/* 版本號 */
$modules[$i]['version'] = '1.0.2';
/* 配置信息,不同用戶注意修改value */
$modules[$i]['config'] = array(
array('name' => 'pay800_account', 'type' => 'text', 'value' => ''),
array('name' => 'pay800_key', 'type' => 'text', 'value' => ''),
array('name' => 'pay800_currency', 'type' => 'select', 'value' => ''),
array('name' => 'pay800_language', 'type' => 'select', 'value' => ''),
);
return;
}
class pay800
{
/**
* 生成支付代碼
* @param array $order 訂單信息
* @param array $payment 支付方式信息
*/
function get_code($order, $payment)
{
$data_M_ID = $payment['pay800_account']; //商 家 號:
$data_M_OrderID = $order['log_id']; //訂 單 號:
$data_M_OAmount = $order['order_amount']; //訂單金額:
$data_M_OCurrency = $payment['pay800_currency']; //幣 種:
$data_M_URL = return_url(basename(__FILE__, '.php')); //返回地址:
$data_M_Language = $payment['pay800_language']; //語言選擇:
$data_T_TradeName = ''; //$order['order_sn']; //商品名稱:
$data_T_Unit = ''; //$order['order_sn']; //商品單位:
$data_T_UnitPrice = ''; //$order['order_sn']; //商品單價:
$data_T_quantity = ''; //$order['order_sn']; //商品數(shù)量:
$data_T_carriage = ''; //$order['shipping_fee']; //商品運費:
$data_S_Name = ''; //$order['order_sn']; //消費者姓名:
$data_S_Address = ''; //$order['order_sn']; //消費者住址:
$data_S_PostCode = ''; //$order['order_sn']; //消費者郵碼:
$data_S_Telephone = ''; //$order['order_sn']; //消費者電話:
$data_S_Email = ''; //$order['order_sn']; //消費者郵件:
$data_R_Name = ''; //$order['consignee']; //收貨人姓名:
$data_R_Address = ''; //$order['address']; //收貨人住址:
$data_R_PostCode = ''; //$order['zipcode']; //收貨人郵碼:
$data_R_Telephone = ''; //$order['tel']; //收貨人電話:
$data_R_Email = ''; //$order['email']; //收貨人郵件:
$data_M_OComment = ''; //$order['inv_content']; //備 注
$data_M_OState = '0'; //交易狀態(tài):
$data_M_ODate = date('Y-m-d H:i:s'); //時間字段:
$data_PrivateKey = $payment['pay800_key'];
//$data_R_Telephone2 = $order['mobile']; //收貨人手機:
if (empty($data_M_OComment))
{
$data_M_OComment = 'From ECShop order ' . $payment['pay800_account'];
}
$data_m_info = '' .
$data_M_ID . '|' .
$data_M_OrderID . '|' .
$data_M_OAmount . '|' .
$data_M_OCurrency . '|' .
$data_M_URL . '|' .
$data_M_Language . '' ;
$data_t_info = ''.
$data_T_TradeName . '|' .
$data_T_Unit . '|' .
$data_T_UnitPrice . '|' .
$data_T_quantity . '|' .
$data_T_carriage . '' ;
$data_s_info = ''.
$data_S_Name . '|' .
$data_S_Address . '|' .
$data_S_PostCode . '|' .
$data_S_Telephone . '|' .
$data_S_Email . '|' .
$data_R_Name . '' ;
$data_r_info = ''.
$data_R_Address . '|' .
$data_R_PostCode . '|' .
$data_R_Telephone . '|' .
$data_R_Email . '|' .
$data_M_OComment . '|' .
$data_M_OState . '|' .
$data_M_ODate . '' ;
$data_OrderInfo = $data_m_info .'|'. $data_t_info .'|'. $data_s_info .'|'. $data_r_info ;
$data_OrderMessage = $data_OrderInfo . $data_PrivateKey ;
$data_Digest = strtoupper(trim(md5($data_OrderMessage)));
$def_url = "<form name='FORM' method='post' action='https://www.800-pay.com/PayAction/ReceivePay.aspx'>".
" <input type='hidden' name='OrderMessage' value='". $data_OrderInfo ."'>".
" <input type='hidden' name='Digest' value='". $data_Digest ."'>".
" <input type='hidden' name='m_id' value='". $data_M_ID ."'>".
" <input type='submit' name='s' value='" . $GLOBALS['_LANG']['pay_button'] . "'>".
"</form>" ;
return $def_url;
}
/**
* 響應(yīng)操作
*/
function respond()
{
$payment = get_payment('pay800');
$data_PrivateKey = $payment['pay800_key'];
$get_PayResult = false;
$rec_M_id = $_REQUEST['M_ID'];
$rec_OrderMessage = $_REQUEST['OrderMessage'];
$rec_Digest = $_REQUEST['digest'];
$data_OrderMessage = $rec_OrderMessage . $data_PrivateKey;
$data_Digest = strtoupper(trim(md5($data_OrderMessage)));
if ($rec_OrderMessage == '')
{
//echo '訂單加密信息為空值';
return $get_PayResult;
}
if ($rec_Digest == '')
{
//echo '認(rèn)證簽名為空值';
return $get_PayResult;
}
if ($data_Digest == $rec_Digest)
{
$tempStr = $rec_OrderMessage;
$V = explode('|',$tempStr);
$num = count($V);
if ($num !== 25) //返回時,多加了一個數(shù)據(jù) m_serial,這里應(yīng)該是25
{
//echo 'error message = '. $tempStr .'<br /><br />';
return $get_PayResult;
}
$data_m_id = $V[0];
$data_m_orderid = $V[1];
$data_m_oamount = $V[2];
$data_m_ocurrency = $V[3];
$data_m_url = $V[4];
$data_m_language = $V[5];
$data_T_TradeName = $V[6];
$data_T_Unit = $V[7];
$data_T_UnitPrice = $V[8];
$data_T_quantity = $V[9];
$data_T_carriage = $V[10];
$data_s_name = $V[11];
$data_s_addr = $V[12];
$data_s_postcode = $V[13];
$data_s_tel = $V[14];
$data_s_eml = $V[15];
$data_r_name = $V[16];
$data_r_addr = $V[17];
$data_r_postcode = $V[18];
$data_r_tel = $V[19];
$data_r_eml = $V[20];
$data_m_ocomment = $V[21];
$data_m_status = $V[22];
$data_m_odate = $V[23];
$data_m_serial = $V[24];
/*
if ($data_m_status == 2)
{
echo '驗證成功!' . '<br><br>';
echo '商 家 號 =' . $data_m_id . '<br>';
echo '支付訂單 =' . $data_m_orderid . '<br>';
echo '支付金額 =' . $data_m_oamount . '<br>';
echo '幣 種 =' . $data_m_ocurrency . '<br>';
echo '結(jié)果地址 =' . $data_m_url . '<br>';
echo '語言選擇 =' . $data_m_language . '<br>';
echo '商品名稱 =' . $data_T_TradeName . '<br>';
echo '商品單位 =' . $data_T_Unit . '<br>';
echo '商品單價 =' . $data_T_UnitPrice . '<br>';
echo '商品數(shù)量 =' . $data_T_quantity . '<br>';
echo '商品運費 =' . $data_T_carriage . '<br>';
echo '消費者姓名 =' . $data_s_name . '<br>';
echo '消費者住址 =' . $data_s_addr . '<br>';
echo '消費者郵碼 =' . $data_s_postcode . '<br>';
echo '消費者電話 =' . $data_s_tel . '<br>';
echo '消費者郵件 =' . $data_s_eml . '<br>';
echo '收貨姓名 =' . $data_r_name . '<br>';
echo '收貨住址 =' . $data_r_addr . '<br>';
echo '收貨編碼 =' . $data_r_postcode . '<br>';
echo '收貨電話 =' . $data_r_tel . '<br>';
echo '收貨郵件 =' . $data_r_eml . '<br>';
echo '備 注 =' . $data_m_ocomment . '<br>';
echo '支付狀態(tài) =' . $data_m_status . '<br>';
echo '支付日期 =' . $data_m_odate . '<br>';
echo '系統(tǒng)參考號 =' . $data_m_serial . '<br>';
echo '<br>返回的認(rèn)證結(jié)果: ';
}
else
{
echo '支付失敗!<br />';
}
*/
switch ($data_m_status)
{
case '0':
//echo '0.未支付';
break;
case '2':
//echo '2.支付成功';
$get_PayResult = true;
order_paid($data_m_orderid, PS_PAYED); //修改訂單狀態(tài)
break;
case '3':
//echo '3.支付失敗';
break;
default:
//echo '支付狀態(tài) 錯誤';
break;
}
}
else
{
//echo '失敗,信息可能被篡改';
}
return $get_PayResult;
}
}
?>
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -