<?php
class superxpay{
//
var $code, $title, $description, $enabled, $sort_order, $form_action_url;
//
var $order_status = MODULE_PAYMENT_SUPERXPAY_ORDER_STATUS_ID;
var $order_id, $Amount;
function __construct() {
$_SESSION['payment'] = 'superxpay';
$this->superxpay();
}
function superxpay() {
global $order;
$this->refrech_status = 0;
$this->code = 'superxpay';
if ($_GET['main_page'] != '') {
$this->title = MODULE_PAYMENT_SUPERXPAY_TEXT_CATALOG_TITLE;
} else {
$this->title = MODULE_PAYMENT_SUPERXPAY_TEXT_ADMIN_TITLE;
}
$this->description = MODULE_PAYMENT_SUPERXPAY_TEXT_DESCRIPTION;
$this->sort_order = MODULE_PAYMENT_SUPERXPAY_SOTR_ORDER;
$this->enabled = ((MODULE_PAYMENT_SUPERXPAY_STATUS == 'True') ? true : false);
if (is_object($order)) {
$this->update_status();
}
$this->form_action_url = MODULE_PAYMENT_SUPERXPAY_HANDLER;
}
/**
* 计算区域火柴和标志设置,以确定是否应显示模块的客户或不
*/
function update_status() {
global $order, $db;
if (($this->enabled == true) && ((int) MODULE_PAYMENT_SUPERXPAY_ZONE > 0)) {
$check_flag = false;
$check_query = $db->Execute("select zone_id from " . TABLE_ZONES_TO_GEO_ZONES . " where geo_zone_id = '" . MODULE_PAYMENT_SUPERXPAY_ZONE . "' and zone_country_id = '" . $order->billing['country']['id'] . "' order by zone_id");
while (!$check_query->EOF) {
if ($check_query->fields['zone_id'] < 1) {
$check_flag = true;
break;
}
elseif ($check_query->fields['zone_id'] == $order->billing['zone_id']) {
$check_flag = true;
break;
}
$check_query->MoveNext();
}
if ($check_flag == false) {
$this->enabled = false;
}
}
}
/**
* JS验证它是否错误核对数据输入,如果这个模块是使用选定
*(数量,业主和静脉血液长度)
* @返回字符串
*
*/
function javascript_validation() {
return false;
}
/**随着显示支付信用卡资料提交字段的方法名(如有)页上的结帐付款
*返回数组
*/
function selection() {
return array (
'id' => $this->code,
'module' => "Superxpay",
'icon' => MODULE_PAYMENT_SUPERXPAY_TEXT_CATALOG_LOGO2
);
}
/**pre_confirmation_check
*通常评估验收的信用卡种类和信用卡号码和到期日期的有效性
*(此方法在includes/modules/pages/check_confirmation/header_php.php调用)
*/
function pre_confirmation_check() {
return false;
}
/**
*选择支付方式页面的继续结账按钮所调用的方法
*
*/
function confirmation($flag = '') {
if ($flag == 'ok') {
//生成订单
if (isset($_SESSION['_superxpay_order_id']) && !empty($_SESSION['_superxpay_order_id'])) {
//$this->delete_order($_SESSION['_superxpay_order_id']);
}
$this->create_order();
}
}
/**
* 生成订单,及在相关表插入信息
*/
private function create_order() {
global $order, $order_totals,$order_total_modules;
$order->info['payment_method'] = MODULE_PAYMENT_SUPERXPAY_TEXT_CATALOG_TITLE;
$order->info['payment_module_code'] = $this->code;
$order->info['order_status'] = MODULE_PAYMENT_SUPERXPAY_ORDER_STATUS_ID;
$order->info['currency'] = $_SESSION['currency'];
if(!$order_totals){
$order_totals = $order_total_modules->process();
}
$_SESSION['_superxpay_order_id'] = $order->create($order_totals, 2);
$order->create_add_products($_SESSION['_superxpay_order_id']);
/*
try{
require("superxpay/email_constant.php");
$order->send_order_email($_SESSION['_superxpay_order_id'],2);
}catch(Exception $e){
}
*/
}
/**
* 根据订单id删除订单及相关表
*/
private function delete_order($order_id) {
global $db;
$db->Execute("delete from " . TABLE_ORDERS . " where orders_id = '" . (int) $order_id . "'");
$db->Execute("delete from " . TABLE_ORDERS_STATUS_HISTORY . "where orders_id = '" . (int) $order_id . "'");
$db->Execute("delete from " . TABLE_ORDERS_TOTAL . "where orders_id = '" . (int) $order_id . "'");
$db->Execute("delete from " . TABLE_ORDERS_PRODUCTS . "where orders_id = '" . (int) $order_id . "'");
$db->Execute("delete from " . TABLE_ORDERS_PRODUCTS_ATTRIBUTES . "where orders_id = '" . (int) $order_id . "'");
$db->Execute("delete from " . TABLE_ORDERS_PRODUCTS_DOWNLOAD . "where orders_id = '" . (int) $order_id . "'");
}
/**根据订单id修改订单表、订单总额表、订单历史记录表的信息
*
*/
function update_order($order_id) {
global $order, $order_totals;
}
/**
**建立数据处理和行动时的“提交”按钮,在订单确认屏幕的压力。
*此发送数据进行处理支付网关。
*(这是隐藏在结账确认页字段)
*/
function process_button() {
$this->confirmation("ok");
global $order, $currencies, $order_totals;
//*/
$customer=$order->customer;
$billing=$order->billing;
//账单人姓
$FirstName=empty($billing['firstname'])?$customer['firstname']:$billing['firstname'];
//账单人名
$LastName=empty($billing['lastname'])?$customer['lastname']:$billing['lastname'];
//账单人email
$Email=$customer['email_address'];
//账单人电话
$Phone=$customer['telephone'];
//账单人邮编
$ZipCode=empty($billing['postcode'])?$customer['postcode']:$billing['postcode'];
//账单地址
$Address=empty($billing['street_address'])?$customer['street_address']:$billing['street_address'];
//账单人城市
$City=empty($billing['city'])?$customer['city']:$billing['city'];
//账单人省或州
$State=empty($billing['state'])?$customer['state']:$billing['state'];
//账单人国家
$Country=empty($billing['country']['title'])?$customer['country']['title']:$billing['country']['title'];
$delivery=$order->delivery;
//收货人姓
$DeliveryFirstName=empty($delivery['firstname'])?$FirstName:$delivery['firstname'];
//收货人名
$DeliveryLastName=empty($delivery['lastname'])?$LastName:$delivery['lastname'];
//收货人email
$DeliveryEmail=empty($delivery['email_address'])?$Email:$delivery['email_address'];
//收货人电话
$DeliveryPhone=empty($delivery['telephone'])?$Phone:$delivery['telephone'];
//收货人邮编
$DeliveryZipCode=empty($delivery['postcode'])?$ZipCode:$delivery['postcode'];
//收货人地址
$DeliveryAddress=empty($delivery['street_address'])?$Address:$delivery['street_address'];
//收货人城市
$DeliveryCity=empty($delivery['city'])?$City:$delivery['city'];
//收货人省或州
$DeliveryState=empty($delivery['state'])?$State:$delivery['state'];
//收货人国家
$DeliveryCountry=empty($delivery['country']['title'])?$customer['country']['title']:$delivery['country']['title'];
//商户号
$MerNo = MODULE_PAYMENT_SUPERXPAY_SELLER;
//订单号(商户网站生成的订单号)
$BillNo = $_SESSION['_superxpay_order_id'];
unset($_SESSION['_superxpay_order_id']);
//通道类型
$ChannelType = MODULE_PAYMENT_SUPERXPAY_CHANNELTYPE;
//支付成功,返回信息显示用户支付金额
//echo "大小:".count($order_totals);
$_SESSION['CustomerAmount']=$order_totals[count($order_totals)-1]['text'];
//商户密匙
$MD5key = MODULE_PAYMENT_SUPERXPAY_MD5KEY;
//$账单金额
$Amount = round(($order->info['total']) * $currencies->get_value($_SESSION['currency'])*100);
//币种
$Currency = $this->getCurrencyCode($_SESSION['currency']);
//是否开启错误日志
$PayLog = MODULE_PAYMENT_SUPERXPAY_PAYMENT_LOG_STATUS;
// 货物信息
$Products = "";
for ($i=0; $i<sizeof($order->products); $i++) {
$Products=$Products."<GoodsName>".$order->products[$i]["name"]."</GoodsName><Qty>".$order->products[$i]['qty']."</Qty><Price>".number_format($order->products[$i]['price']* $currencies->get_value($_SESSION['currency']), 2, '.', '')."</Price><Currency>".$_SESSION['currency']."</Currency>";
}
$GoodListInfo = "<Goods>".$Products."</Goods>";
//语言
$Language = MODULE_PAYMENT_SUPERXPAY_LANGUAGE;
//返回�
评论0