Removed modules not being used

This commit is contained in:
Deon George
2011-08-31 11:47:27 +10:00
parent abfd2659cc
commit 2d02bde964
2557 changed files with 1 additions and 448709 deletions

View File

@@ -1,8 +0,0 @@
<?php
$auth_methods = Array
(
Array ('module' => 'checkout', 'method' => 'preview'),
Array ('module' => 'checkout', 'method' => 'checkoutoption'),
Array ('module' => 'checkout', 'method' => 'checkoutnow')
);
?>

View File

@@ -1,451 +0,0 @@
<?php
/**
* AgileBill - Open Billing Software
*
* This body of work is free software; you can redistribute it and/or
* modify it under the terms of the Open AgileBill License
* License as published at http://www.agileco.com/agilebill/license1-4.txt
*
* For questions, help, comments, discussion, etc., please join the
* Agileco community forums at http://forum.agileco.com/
*
* @link http://www.agileco.com/
* @copyright 2004-2008 Agileco, LLC.
* @license http://www.agileco.com/agilebill/license1-4.txt
* @author Tony Landis <tony@agileco.com>
* @package AgileBill
* @version 1.4.93
*/
/**
* Base checkout plugin class
*
*/
class base_checkout_plugin
{
protected $checkout_id; /* current checkout plugin id */
protected $name; /* plugin name */
var $type; /* redirect, gateway, or other */
var $recurr_only=false; /* bool */
var $return_url; /* return url */
var $success_url; /* decline url */
var $support_cur; /* supported currency array */
var $cfg;
protected $flds;
var $eft; /* true if checkout plugin type is eft */
var $req_all_flds=true; /* require all account fields (first/last name, address1, state/province, zip) */
var $req_fields_arr=false; /* if req_all_fields=false, use this array to define which fields will be required */
var $billing; /* the billing details */
var $account; /* the account level details */
/**
* Get the checkout plugin settings from the database
*/
protected function getDetails($checkout_id) {
if (! $checkout_id)
return;
$db = &DB();
$rs = $db->Execute(sqlSelect($db,'checkout','*',array('id'=>$checkout_id)));
if ($rs && $rs->RecordCount()) {
@$this->cfg = unserialize($rs->fields['plugin_data']);
$this->flds = $rs->fields;
$this->checkout_id = $rs->fields['id'];
}
}
/**
* Get the checkout plugin settings from the database
*/
protected function getDetailsName($checkout_name) {
if (! $checkout_name)
return;
$db = &DB();
$rs = $db->Execute(sqlSelect($db,'checkout','*',array('name'=>$checkout_name)));
if ($rs && $rs->RecordCount()) {
@$this->cfg = unserialize($rs->fields['plugin_data']);
$this->flds = $rs->fields;
$this->checkout_id = $rs->fields['id'];
}
}
public function getName() {
return $this->name;
}
/**
* Get country name,
*
* @param string $field name, two_code, or three_code
*/
function getCountry($field, $country_id) {
$db = &DB();
$sql= 'SELECT '.$field.' FROM '.AGILE_DB_PREFIX.'country WHERE site_id='.DEFAULT_SITE.' AND id='.$country_id;
$rs = $db->Execute($sql);
if($rs == false || $rs->RecordCount() == 0)
return "Not Defined";
else
return $rs->fields["$field"];
}
/**
* Validate the current currency is allowed
*
* @return bool
*/
function validate_currency($currency_iso) {
$do = false;
for($i=0; $i<count($this->support_cur); $i++)
if ($currency_iso == $this->support_cur[$i])
$do = true;
if ( !$do ) {
global $C_list, $C_translate;
$C_translate->value['checkout']['currency'] = $C_list->currency_iso(DEFAULT_CURRENCY);
$msg = $C_translate->translate('currency_not_supported','checkout','');
$this->redirect='<script language=Javascript> alert(\''.$msg.'\');';
if($this->type=='redirect') $this->redirect.= ' history.back();';
$this->redirect.='</script>';
return false;
}
return true;
}
/**
* Validate the current credit card details
*/
function validate_card_details(&$ret) {
// validate input fields
if($this->req_all_flds) $this->req_fields_arr = Array('first_name','last_name', 'address1', 'state', 'zip');
if (is_array($this->req_fields_arr)) {
$validate=true;
global $VAR;
foreach($this->req_fields_arr as $fld) {
if(empty($this->billing["$fld"]) && empty($this->account["$fld"]) ) {
$VAR["{$fld}_error"]=true;
$validate=false;
}
}
if(!$validate) {
global $C_translate;
$ret['status'] = 0;
$ret['msg'] = $C_translate->translate('missing_fields','checkout','');
return false;
}
}
// validate actual credit card details
include_once(PATH_CORE . 'validate.inc.php');
$validate = new CORE_validate;
$this->billing["cc_no"] == preg_replace('/^[0-9]/', '', $this->billing["cc_no"]);
if (!$validate->validate_cc( $this->billing["cc_no"], false, $this->billing["card_type"], $this->cfg['card_type'] )) {
$ret['status'] = 0;
global $C_translate;
$ret['msg'] = $C_translate->translate('card_invalid','checkout','');
} elseif (!$validate->validate_cc_exp(@$this->billing["exp_month"],@$this->billing["exp_year"])) {
$ret['status'] = 0;
global $C_translate;
$ret['msg'] = $C_translate->translate('card_exp_invalid','checkout','');
} else {
$ret['status'] = 1;
return true;
}
return false;
}
/**
* Validate the current eft card details
*/
function validate_eft_details(&$ret) {
// validate input fields
if($this->req_all_flds) $this->req_fields_arr = Array('first_name','last_name', 'address1', 'city', 'state', 'zip', 'eft_check_acct_type', 'eft_trn', 'eft_check_acct', 'phone');
if (is_array($this->req_fields_arr)) {
$validate=true;
global $VAR;
foreach($this->req_fields_arr as $fld) {
if(empty($this->billing["$fld"]) && empty($this->account["$fld"]) ) {
$VAR["{$fld}_error"]=true;
$validate=false;
}
}
if(!$validate) {
global $C_translate;
$ret['status'] = 0;
$ret['msg'] = $C_translate->translate('missing_fields','checkout','');
return false;
}
}
$ret['status'] = 1;
return true;
}
/**
* Set the redirect URL and form values
*
* @param string $url
* @param string $vals
*/
function post_vars($url,$vals) {
$ret = '<form name="checkout_redirect" method="post" action="'.$url.'" target="_parent">';
foreach($vals as $v)
$ret .='<input type="hidden" name="'.$v[0].'" value="'.$v[1].'">';
$ret .= '<script language="JavaScript">document.checkout_redirect.submit();</script>';
$this->redirect=$ret;
}
/**
* Set array for processing order with a stored billing record
* "getStoredArray"
*/
function setBillingFromDB($account_id, $account_billing_id, $checkout_plugin_id,$rebilling=false) {
$db=&DB();
$ccrs=$db->Execute($sql=sqlSelect($db,"account_billing","*","account_id=::$account_id:: AND id=::$account_billing_id:: AND checkout_plugin_id=::$checkout_plugin_id::"));
return $this->setBillingFromDBObj($ccrs);
}
/**
* Get stored array by passing in database object
*/
function setBillingFromDBObj(&$ccrs,$rebilling=false) {
if($ccrs && $ccrs->RecordCount()) {
// account fields
if(empty($ccrs->fields['address1'])) {
if(!$this->setAccountFromDB($ccrs->fields['account_id'])) return false;
} else {
$this->account = Array(
'first_name'=> $ccrs->fields['first_name'],
'last_name'=> $ccrs->fields['last_name'],
'company'=> $ccrs->fields['company'],
'address1'=> $ccrs->fields['address1'],
'address2'=> $ccrs->fields['address2'],
'city'=> $ccrs->fields['city'],
'state'=> $ccrs->fields['state'],
'zip'=> $ccrs->fields['zip'],
'country_id'=> $ccrs->fields['country_id'],
'phone'=> $ccrs->fields['phone'],
'company' => $ccrs->fields['company'],
'email' => $ccrs->fields['email']
);
}
// get the card or eft details & decrypt
include_once(PATH_CORE.'crypt.inc.php');
$this->billing['card_type'] = $ccrs->fields['card_type'];
$this->billing['rebilling'] = $rebilling;
if($this->eft || $ccrs->fields['card_type']=='eft') {
// stored eft
$this->billing['eft_check_acct_type'] = $ccrs->fields['eft_check_acct_type'];
$this->billing['eft_check_checkno'] = false;
$this->billing['eft_check_acct'] = CORE_decrypt($ccrs->fields['eft_check_acct']);
$this->billing['eft_trn'] = CORE_decrypt($ccrs->fields['eft_trn']);
if(!empty($ccrs->fields['ssn'])) $this->billing['ssn'] = CORE_decrypt($ccrs->fields['ssn']);
if(!empty($ccrs->fields['dob'])) $this->billing['dob'] = CORE_decrypt($ccrs->fields['dob']);
if(!empty($ccrs->fields['dl_no'])) $this->billing['dl_no'] = CORE_decrypt($ccrs->fields['dl_no']);
} else {
// stored card
$this->billing['cc_no'] = CORE_decrypt($ccrs->fields['card_num']);
$this->billing['exp_month'] = $ccrs->fields['card_exp_month'];
$this->billing['exp_year'] = $ccrs->fields['card_exp_year'];
}
/* write back params to global */
$this->setBillingParams();
return true;
} else {
return false;
}
}
/**
* Set account from account db table
*/
function setAccountFromDB($id) {
$db=&DB();
$rs = $db->Execute(sqlSelect($db,"account","first_name,last_name,company,address1,address2,city,state,zip,country_id","id=::$id::"));
if($rs&&$rs->RecordCount()) {
$this->account = $rs->fields;
return true;
}
return false;
}
/**
* Set account and billing details from $VAR (user params)
*/
function setBillingFromParams($VAR) {
global $VAR;
@$a = $VAR['checkout_plugin_data'];
@$this->billing = Array(
'card_type' => $a['card_type'],
'cc_no' => $a['cc_no'],
'ccv' => $a['ccv'],
'exp_month' => $a['exp_month'],
'exp_year' => $a['exp_year'],
'eft_check_acct_type' => $a['eft_check_acct_type'],
'eft_check_checkno' => $a['eft_check_checkno'],
'eft_check_acct' => $a['eft_check_acct'],
'eft_trn' => $a['eft_trn'],
'ssn' => $a['ssn'],
'dob' => $a['dob'],
'dl_no' => $a['dl_no']
);
@$this->account = Array(
'first_name' => stripslashes($a['first_name']),
'last_name' => stripslashes($a['last_name']),
'address1' => stripslashes($a['address1']),
'address2' => stripslashes($a['address2']),
'city' => stripslashes($a['city']),
'state' => stripslashes($a['state']),
'zip' => stripslashes($a['zip']),
'country_id' => stripslashes($a['country_id']),
'phone' => stripslashes($a['phone']),
'company' => stripslashes($a['company']),
'email' => stripslashes($a['email'])
);
/* write back params for global */
$this->setBillingParams();
}
/**
* Write the vars back to the global VAR for availibilty on the checkout plugin templates
*/
function setBillingParams() {
global $VAR;
foreach($this->billing as $key=>$val) $VAR["$key"]=$val;
foreach($this->account as $key=>$val) $VAR["$key"]=$val;
}
/**
* Store the billing credit card entered
*/
function saveCreditCardDetails($VAR) {
global $C_auth;
if(!empty($VAR['account_id']) && $C_auth->auth_method_by_name('checkout','admin_checkoutnow'))
$account_id=$VAR['account_id'];
else
$account_id=SESS_ACCOUNT;
# Check if this card is already on file:
$last_four = substr($this->billing['cc_no'],(strlen($this->billing['cc_no'])-4),4);
$db = &DB();
$q = "SELECT id,card_exp_month,card_exp_year FROM ".AGILE_DB_PREFIX."account_billing WHERE
site_id = ".$db->qstr(DEFAULT_SITE) ." AND
account_id = ".$db->qstr($account_id) ." AND
card_num4 = ".$db->qstr($last_four) ." AND
checkout_plugin_id = ".$db->qstr($this->checkout_id) ." AND
card_type = ".$db->qstr($this->billing['card_type']);
$rs = $db->Execute($q);
if($rs && $rs->RecordCount()) {
$fields=Array('card_exp_month'=>$this->billing['exp_month'], 'card_exp_year'=>$this->billing['exp_year']);
$db->Execute(sqlUpdate($db,"account_billing",$fields,"id = {$rs->fields['id']}"));
return $rs->fields['id'];
}
include_once(PATH_CORE.'crypt.inc.php');
$card_num = CORE_encrypt ($this->billing['cc_no']);
$id = $db->GenID(AGILE_DB_PREFIX . 'account_billing_id');
$sql = "INSERT INTO ".AGILE_DB_PREFIX."account_billing SET
id = " . $db->qstr($id) . ",
site_id = " . $db->qstr(DEFAULT_SITE) . ",
account_id = " . $db->qstr(@$account_id) . ",
checkout_plugin_id = " . $db->qstr(@$this->checkout_id) . ",
card_type = " . $db->qstr(@$this->billing['card_type']) . ",
card_num = " . $db->qstr(@$card_num) . ",
card_num4 = " . $db->qstr(@$last_four) . ",
card_exp_month = " . $db->qstr(@$this->billing['exp_month']) . ",
card_exp_year = " . $db->qstr(@$this->billing['exp_year']) . ",
card_start_month = " . $db->qstr(@$this->billing['start_month']) . ",
card_start_year = " . $db->qstr(@$this->billing['start_year']) . ",
first_name = " . $db->qstr(@$this->account['first_name']) . ",
last_name = " . $db->qstr(@$this->account['last_name']) . ",
address1 = " . $db->qstr(@$this->account['address1']) . ",
address2 = " . $db->qstr(@$this->account['address2']) . ",
city = " . $db->qstr(@$this->account['city']) . ",
state = " . $db->qstr(@$this->account['state']) . ",
zip = " . $db->qstr(@$this->account['zip']) . ",
country_id = " . $db->qstr(@$this->account['country_id']) . ",
phone = " . $db->qstr(@$this->account['phone']) . ",
email = " . $db->qstr(@$this->account['email']) . ",
company = " . $db->qstr(@$this->account['company']) ;
$result = $db->Execute($sql);
if ($result) return $id;
return false;
}
/**
* Store the billing EFT details entered
*/
function saveEFTDetails($VAR) {
global $C_auth;
if(!empty($VAR['account_id']) && $C_auth->auth_method_by_name('checkout','admin_checkoutnow'))
$account_id=$VAR['account_id'];
else
$account_id=SESS_ACCOUNT;
# Check if this card is already on file:
$last_four = substr($this->billing['eft_check_acct'],(strlen($this->billing['eft_check_acct']) - 4),4);
$db = &DB();
$q = "SELECT id,card_exp_month,card_exp_year FROM ".AGILE_DB_PREFIX."account_billing WHERE
site_id = ".$db->qstr(DEFAULT_SITE) ." AND
account_id = ".$db->qstr($account_id) ." AND
card_num4 = ".$db->qstr($last_four) ." AND
checkout_plugin_id = ".$db->qstr($this->checkout_id) ." AND
card_type = ".$db->qstr($this->billing['card_type']);
$rs = $db->Execute($q);
if($rs && $rs->RecordCount()) {
return $rs->fields['id'];
}
include_once(PATH_CORE.'crypt.inc.php');
$ssn=false;
$dob=false;
$dl_no=false;
if(!empty($this->billing['dob'])) $dob = CORE_encrypt ($this->billing['dob']);
if(!empty($this->billing['ssn'])) $ssn = CORE_encrypt ($this->billing['ssn']);
if(!empty($this->billing['dl_no'])) $dl_no = CORE_encrypt ($this->billing['dl_no']);
$check_acct = CORE_encrypt ($this->billing['eft_check_acct']);
$trn = CORE_encrypt ($this->billing['eft_trn']);
$id = $db->GenID(AGILE_DB_PREFIX . 'account_billing_id');
$sql = "INSERT INTO ".AGILE_DB_PREFIX."account_billing SET
id = " . $db->qstr($id) . ",
site_id = " . $db->qstr(DEFAULT_SITE) . ",
account_id = " . $db->qstr($account_id) . ",
checkout_plugin_id = " . $db->qstr($this->checkout_id) . ",
card_num4 = " . $db->qstr($last_four) . ",
card_type = " . $db->qstr(@$this->billing['card_type']) . ",
eft_check_checkno = " . $db->qstr($this->billing['eft_check_checkno']) . ",
eft_check_acct_type = " . $db->qstr($this->billing['eft_check_acct_type']) . ",
eft_trn = " . $db->qstr($trn) . ",
eft_check_acct = " . $db->qstr($check_acct) . ",
dob = " . $db->qstr($dob) . ",
dl_no = " . $db->qstr($dl_no) . ",
ssn = " . $db->qstr($ssn) . ",
first_name = " . $db->qstr(@$this->account['first_name']) . ",
last_name = " . $db->qstr(@$this->account['last_name']) . ",
address1 = " . $db->qstr(@$this->account['address1']) . ",
address2 = " . $db->qstr(@$this->account['address2']) . ",
city = " . $db->qstr(@$this->account['city']) . ",
state = " . $db->qstr(@$this->account['state']) . ",
zip = " . $db->qstr(@$this->account['zip']) . ",
country_id = " . $db->qstr(@$this->account['country_id']) . ",
phone = " . $db->qstr(@$this->account['phone']) . ",
email = " . $db->qstr(@$this->account['email']) . ",
company = " . $db->qstr(@$this->account['company']);
$result = $db->Execute($sql);
if ($result) return $id;
return false;
}
}
?>

View File

@@ -1,906 +0,0 @@
<?php
/**
* AgileBill - Open Billing Software
*
* This body of work is free software; you can redistribute it and/or
* modify it under the terms of the Open AgileBill License
* License as published at http://www.agileco.com/agilebill/license1-4.txt
*
* Originally authored by Tony Landis, AgileBill LLC
*
* Recent modifications by Deon George
*
* @author Deon George <deonATleenooksDOTnet>
* @copyright 2009 Deon George
* @link http://osb.leenooks.net
*
* @link http://www.agileco.com/
* @copyright 2004-2008 Agileco, LLC.
* @license http://www.agileco.com/agilebill/license1-4.txt
* @author Tony Landis <tony@agileco.com>
* @package AgileBill
* @subpackage Module:Checkout
*/
/**
* The main AgileBill Checkout Class
*
* @package AgileBill
* @subpackage Module:Checkout
*/
class checkout extends OSB_module {
var $admin_view=false;
var $admin_checkout=false;
var $admin_checkout_option=false;
/**
* Add Discount for Admin Checkout
*/
function admin_adddiscount($VAR) {
if(empty($VAR['amount'])) return false;
if(empty($VAR['id'])) return false;
$db=&DB();
$fields=Array('ad_hoc_discount'=>round($VAR['amount'],2));
$db->Execute(sqlUpdate($db,"cart",$fields,"id = ::{$VAR['id']}:: "));
return true;
}
/**
* Admin Create the Invoice Record
*/
function admin_checkoutnow($VAR)
{
# Get the account id & session_id
if(!empty($VAR['account_id']))
{
$this->account_id = $VAR['account_id'];
$db = &DB();
$sql = 'SELECT id FROM ' . AGILE_DB_PREFIX . 'session WHERE account_id = ' . $db->qstr( $this->account_id ) . ' AND site_id = ' . $db->qstr(DEFAULT_SITE);
$rs = $db->Execute($sql);
if(!empty($rs->fields['id'])) {
$this->session_id = $rs->fields['id'];
} else {
$this->session_id = SESS;
}
} else {
return false;
}
# Get the affiliate details
global $C_list;
if(!$C_list->is_installed('affiliate')) {
$this->affiliate_id = '';
} else {
if(SESS_AFFILIATE != "") {
$this->affiliate_id = SESS_AFFILIATE;
} else {
# Get the affiliate details for this account
$db = &DB();
$sql = 'SELECT affiliate_id FROM ' . AGILE_DB_PREFIX . 'account WHERE id = ' . $db->qstr( $this->account_id ) . ' AND site_id = ' . $db->qstr(DEFAULT_SITE);
$rs = $db->Execute($sql);
if(!empty($rs->fields['affiliate_id']))
{
$this->affiliate_id = $rs->fields['affiliate_id'];
} else {
# Get the affiliate account for the admin creating this invoice
$db = &DB();
$sql = 'SELECT id FROM ' . AGILE_DB_PREFIX . 'affiliate WHERE account_id = ' . $db->qstr( SESS_ACCOUNT ) . ' AND site_id = ' . $db->qstr(DEFAULT_SITE);
$rs = $db->Execute($sql);
if(!empty($rs->fields['id']))
$this->affiliate_id = $rs->fields['id'];
else
$this->affiliate_id = '';
}
}
}
$this->redirect = true;
$this->admin_checkout = true;
# Is processor free checkout?
if(@$VAR['option'] == '999') $this->admin_checkout_option = true;
# Checkout
if($this->checkoutnow($VAR, $this)) {
echo '<script language="javascript">
window.parent.location = \'?_page=invoice:view&id='.$this->invoice_id.'\';
window.parent.window.parent.location = \'?_page=invoice:view&id='.$this->invoice_id.'\';
window.close();
</script>';
}
}
/**
* Get available checkout option
*
* @param int $account_id
* @param float $total
* @param array $product_arr Array of product_ids being purchased
* @param bool $any_new
* @param bool $any_trial
* @param bool $any_recurring
* @return array
* @uses account
*/
function get_checkout_options($account_id,$total=0,$product_arr=false,$any_new=false,$any_trial=false,$any_recurring=false) {
$options = '';
if ($any_trial)
$options .= ' AND allow_trial=1';
if ($any_recurring)
$options .= ' AND allow_recurring=1';
if ($any_new)
$options .= ' AND allow_new=1';
if (! $options)
return false;
include_once(PATH_MODULES.'account/account.inc.php');
$ao = new account($account_id);
$country_id = $ao->getRecordAttr('country_id');
$db = &DB();
$chopt = $db->Execute(sqlSelect($db,'checkout','*',sprintf('active=1 %s',$options)));
if($chopt && $chopt->RecordCount()) {
while( !$chopt->EOF ) {
$show = true;
# Check that the cart total is not to low:
if ( $show == true && $chopt->fields["total_minimum"] != "" && $total < $chopt->fields["total_minimum"] ) $show = false;
# Check that the cart total is not to high:
if ( $show == true && $chopt->fields["total_maximum"] != "" && $total > $chopt->fields["total_maximum"] ) {
$show = false;
} elseif ($chopt->fields["total_maximum"] == '0' && $total > 0) {
$show = false;
}
# Check that the group requirement is met:
if ( $show == true && !$this->admin_view && !empty ( $chopt->fields["required_groups"] ) ) {
global $C_auth;
$arr = unserialize ( $chopt->fields["required_groups"] );
if(count($arr) > 0 && !empty($arr[0])) $show = false;
for ( $i=0; $i<count($arr); $i++ ) {
if($C_auth->auth_group_by_id($arr[$i])) {
$show = true;
$i=count($arr);
}
}
}
# Check that the customer is not ordering a blocked SKU:
if ( $show == true && !$this->admin_view && !empty ( $chopt->fields["excluded_products"] ) && $product_arr ) {
$arr = unserialize ( $chopt->fields["excluded_products"] );
if(count($arr) > 0) {
for($i=0; $i<count($product_arr); $i++) {
for($isk=0; $isk<count($arr); $isk++) {
if($product_arr[$i] == $arr[$isk] && !empty($arr[$isk]) && !empty($product_arr[$i]['product_id']) ) {
$show = false;
//$i=count($smart);
$isk=count($arr);
}
}
}
}
}
$list_ord = 100;
# Check if this method should be the default method:
if ( $show == true) {
# By Amount:
if ( !empty ( $chopt->fields["default_when_amount"] ) ) {
@$arr = unserialize ( $chopt->fields["default_when_amount"] );
for ( $i=0; $i<count($arr); $i++ ) if ( $total >= $arr[$i] ) $list_ord--; $i=count($arr);
}
# By Currency
if ( !empty ( $chopt->fields["default_when_currency"] ) ) {
@$arr = unserialize ( $chopt->fields["default_when_currency"] );
for ( $i=0; $i<count($arr); $i++ ) if ( SESS_CURRENCY == $arr[$i] ) $list_ord--; $i=count($arr);
}
# By Group
if ( !empty ( $chopt->fields["default_when_group"] ) ) {
@$arr = unserialize ( $chopt->fields["default_when_group"] );
global $C_auth;
for ( $i=0; $i<count($arr); $i++ ) if ( $C_auth->auth_group_by_account_id( $account_id, $arr[$i] ) ) $list_ord--; $i=count($arr);
}
# By Country
if ( !empty ( $chopt->fields["default_when_country"] ) ) {
@$arr = unserialize ( $chopt->fields["default_when_country"] );
for ( $i=0; $i<count($arr); $i++ ) if ( $country_id == $arr[$i] ) $list_ord--; $i=count($arr);
}
# Add to the array
$checkout_options[] = Array ('sort'=>$list_ord, 'fields'=>$chopt->fields);
}
$chopt->MoveNext();
}
# Sort the checkout_options array by the [fields] element
if(count($checkout_options) > 0 ) {
foreach ( $checkout_options as $key => $row ) $sort[$key] = $row["sort"];
array_multisort ( $sort, SORT_ASC, $checkout_options );
return $checkout_options;
}
} else {
return false;
}
return false;
}
/**
* Admin View Preview / Confirm prior to checkout
*/
function admin_preview($VAR) {
global $C_auth;
if(!empty($VAR['account_id']) && $C_auth->auth_method_by_name('checkout','admin_checkoutnow')) {
$this->account_id=$VAR['account_id'];
$this->admin_view = true;
} else {
$this->account_id=SESS_ACCOUNT;
}
$this->preview($VAR, $this);
}
/**
* Preview / Confirm prior to checkout
*
* @uses account
* @uses cart
*/
public function preview($VAR,$object,$returnInvoice=false) {
if (! SESS_LOGGED)
return false;
if (empty($this->account_id))
$this->account_id = SESS_ACCOUNT;
# Load the cart
include_once(PATH_MODULES.'/cart/cart.inc.php');
$co = new cart();
if (! $results = $co->sGetContents())
return false;
# Load invoice object
include_once(PATH_MODULES.'invoice/invoice.inc.php');
$invoice = new invoice();
$invoice->setRecordAttr('account_id',$this->account_id);
# Put the cart items into an invoice
foreach ($results as $result) {
$invoice->aaddItem(array(
'charge_id'=>null,
'domain_name'=>$result['domain_name'],
'domain_term'=>$result['domain_term'],
'domain_type'=>$result['domain_type'],
'domain_tld'=>$result['domain_tld'],
'host_type'=>$result['host_type'],
'item_type'=>0,
'service_id'=>null,
'cart_id'=>$result['id'],
'product_id'=>$result['product_id'],
'quantity'=>isset($result['quantity']) ? $result['quantity'] : 1,
'recurr_schedule'=>$result['recurr_schedule'],
'product_attr'=>$result['product_attr'],
'product_attr_cart'=>$result['product_attr'],
'type'=>in_array($result['host_type'],array('register')) ? 'domain' : null
));
}
# If we are being called by checkout, then we use the preview code to build our invoice.
if ($returnInvoice)
return $invoice;
global $smarty;
$smarty->assign('results',$invoice->sCountItems());
$smarty->assign('cart',$invoice->getItems());
$smarty->assign('sub_total',$invoice->sSubTotal());
$smarty->assign('discounttotal',$invoice->sTotalDiscount(true));
$smarty->assign('discount',$invoice->getDiscountDetails(true));
$smarty->assign('taxtotal',$invoice->sTotalTax(true));
$smarty->assign('tax',$invoice->getTaxDetails());
$smarty->assign('total',$invoice->sTotal(true));
# Get our checkout options
$checkout_options = $this->get_checkout_options($this->account_id,$invoice->sTotal(),$invoice->getProductItems(),
(is_null($invoice->getRecordAttr('id'))),
in_array(2,$invoice->getProductItemTypes()),(! is_null($invoice->getRecordAttr('id'))));
$checkout_c = count($checkout_options);
$smarty->assign('checkout',$checkout_options);
$smarty->assign('checkout_c',$checkout_c);
$checkout_c--;
$smarty->assign('last_checkout_id',$checkout_options[$checkout_c]['fields']['id']);
}
/**
* Create the Invoice Record and send user to checkout
*
* @uses account
* @uses currency
*/
public function checkoutnow($VAR) {
global $C_translate,$C_list,$smarty;
# Validate user is logged in:
if (! SESS_LOGGED) {
printf('<script type="text/javascript">alert("%s...");</script>',
_('You must be logged in to complete this purchase! Please refresh this page in your browser to login now.'));
return false;
}
$db = &DB();
# Check for admin
if (! $this->admin_checkout && ! empty($VAR['account_id'])) {
global $C_auth;
if (! empty($VAR['account_id']) && $C_auth->auth_method_by_name('checkout','admin_checkoutnow')) {
$this->account_id = $VAR['account_id'];
$this->admin_checkout = true;
} else {
$this->account_id = SESS_ACCOUNT;
}
}
$invoice = $this->preview($VAR,null,true);
# Set some defaults
$invoice->setRecordAttr('actual_billed_amt',0);
$invoice->setRecordAttr('billed_amt',0);
$invoice->setRecordAttr('billing_status',0);
$invoice->setRecordAttr('due_date',time());
$invoice->setRecordAttr('grace_period',0);
$invoice->setRecordAttr('notice_count',0);
$invoice->setRecordAttr('notice_max',0);
$invoice->setRecordAttr('notice_next_date',null);
$invoice->setRecordAttr('print_status',0);
$invoice->setRecordAttr('process_status',0);
$invoice->setRecordAttr('status',1);
$invoice->setRecordAttr('suspend_billing',0);
$invoice->setRecordAttr('reseller_id',0);
$invoice->setRecordAttr('type',0);
# (Re)Calculate our discounts and taxes
$invoice->setRecordAttr('discount_amt',$invoice->sTotalDiscount(true));
$invoice->setRecordAttr('tax_amt',$invoice->sTotalTax(true));
$invoice->setRecordAttr('total_amt',$invoice->sTotal(true));
// Validate and init a checkout plugin
$checkout = false;
if ($this->admin_checkout_option) {
# Admin checkout option specified
include_once(PATH_MODULES.'checkout/checkout_admin.inc.php');
$PLG = new checkout_admin;
$checkout = true;
$invoice->setRecordAttr('checkout_plugin_id',false);
} else {
# Get available checkout options and check against the one provided
$invoice->setRecordAttr('checkout_plugin_id',$VAR['option']);
$checkout_options = $this->get_checkout_options($this->account_id,$invoice->sTotal(),$invoice->getProductItems(),
(is_null($invoice->getRecordAttr('id'))),
in_array(2,$invoice->getProductItemTypes()),in_array(1,$invoice->getProductItemTypes()));
if ($checkout_options) {
foreach ($checkout_options as $a) {
if ($a['fields']['id'] == $invoice->getRecordAttr('checkout_plugin_id')) {
# Load the selected checkout plugin and run pre-validation
$checkout_plugin = $a['fields']['checkout_plugin'];
include_once(sprintf('%scheckout/%s.php',PATH_PLUGINS,$checkout_plugin));
eval (sprintf('$PLG = new plg_chout_%s("%s");',$checkout_plugin,$invoice->getRecordAttr('checkout_plugin_id')));
$plugin_validate = $PLG->validate($VAR,$this);
if ($plugin_validate != true) {
echo $plugin_validate;
return false;
}
$checkout=true;
break;
}
}
}
}
# If we werent able to checkout, then return here
if (! $checkout) {
echo '<script type="text/javascript">alert("Unable to checkout with the selected method, please select another.");</script>';
return false;
}
// validate credit card on file details
global $VAR;
if (! empty($VAR['account_billing_id']) && @$VAR['new_card']==2) {
$invoice->setRecordAttr('account_billing_id',$VAR['account_billing_id']);
/* validate credit card on file details */
if(!$PLG->setBillingFromDB($this->account_id,$VAR['account_billing_id'],$invoice->checkout_plugin_id)) {
global $C_debug;
$C_debug->alert("Sorry, we cannot use that billing record for this purchase.");
return false;
}
} else {
/* use passed in vars */
$PLG->setBillingFromParams($VAR);
}
// validate recurring processing options
if ($PLG->recurr_only) {
if ($invoice->recur_amt<=0) {
echo '<script language=Javascript> alert("Cannot process non-recurring charges with this payment option, please select another payment option."); </script> ';
return false;
}
if(is_array($invoice->recur_arr) && count($invoice->recur_arr)>1) {
$recurring = true;
// validate recur day and recurring schedule are the same for both products
foreach($invoice->recur_arr as $a) {
foreach($invoice->recur_arr as $b) {
foreach($b as $key=>$val) {
if($key != 'price' && $key != 'recurr_week' && $a[$key] != $val) {
$recurring=false;
break;
}
}
}
}
if (!$recurring) {
echo '<script language=Javascript> alert("This payment option cannot be used when ordering both prorated and non-prorated subscriptions, or when ordering two or more subscriptions with different billing schedules selected. Please make sure all your subscriptions have the same billing schedule selected, try another payment option, or order one subscription at a time. We apologize for any inconvenience."); </script> ';
return false;
}
}
}
# Load account object
include_once(PATH_MODULES.'account/account.inc.php');
$ao = new account($this->account_id);
# Affiliate
if (is_null($invoice->getRecordAttr('affiliate_id')))
$invoice->setRecordAttr('affiliate_id',
(! is_null($ao->getRecordAttr('affiliate_id'))) ? $ao->getRecordAttr('affiliate_id') : SESS_AFFILIATE);
# Campaign
if (is_null($invoice->getRecordAttr('campaign_id')))
$invoice->setRecordAttr('campaign_id',
(! is_null($ao->getRecordAttr('campaign_id'))) ? $ao->getRecordAttr('campaign_id') : SESS_CAMPAIGN);
$invoice->setRecordAttr('actual_billed_currency_id',SESS_CURRENCY);
$invoice->setRecordAttr('billed_currency_id',DEFAULT_CURRENCY);
$invoice->checkout_type = $PLG->type;
$invoice->setRecordAttr('id',sqlGenID($db,'invoice'));
# Initial invoice status
if ($invoice->sTotal() == 0 || $PLG->type == 'gateway') {
$invoice->setRecordAttr('billing_status',1);
$invoice->actual_billed_amt = $C_list->format_currency_decimal($invoice->sTotal(),SESS_CURRENCY);
$invoice->billed_amt = $invoice->sTotal();
}
# Currency conversion
if (SESS_CURRENCY != DEFAULT_CURRENCY) {
$bill_amt = $C_list->format_currency_decimal($invoice->sTotal(),SESS_CURRENCY);
$recur_amt = is_null($invoice->sRecurAmt()) ? null : $C_list->format_currency_decimal($invoice->sRecurAmt(),SESS_CURRENCY);
} else {
$bill_amt = round($invoice->sTotal(),2);
$recur_amt = is_null($invoice->sRecurAmt()) ? null : round($invoice->sRecurAmt(),2);
}
# Get currency ISO (three_digit) for checkout plugin
include_once(PATH_MODULES.'currency/currency.inc.php');
$cuo = new currency();
$currencies = $cuo->sql_GetRecords(array('where'=>array('id'=>SESS_CURRENCY)));
if ($currencies)
$currency_iso = $currencies[0]['three_digit'];
else
$currency_iso = $C_list->currency_iso(SESS_CURRENCY);
# Run the plugin bill_checkout() method:
$invoice->setRecordAttr('checkout_plugin_data',
$PLG->bill_checkout($bill_amt,$invoice->getRecordAttr('id'),$currency_iso,$ao->getRecord(),$recur_amt,$invoice->recur_arr));
if ($invoice->getRecordAttr('checkout_plugin_data') === false || $invoice->getRecordAttr('checkout_plugin_data') == '' ) {
if (! empty($PLG->redirect))
echo $PLG->redirect;
return false;
} elseif ($PLG->type == 'gateway' || empty($PLG->redirect)) {
$VAR['id'] = $invoice->getRecordAttr('id');
if (! $this->admin_checkout)
$VAR['_page'] = 'invoice:thankyou';
$invoice->setRecordAttr('checkout_plugin_data',false);
} elseif (! $this->admin_checkout) {
echo "<html><head></head><body><center>Please wait while we redirect you to the secure payment site.... {$PLG->redirect}</center></body></html>";
}
# Call the Plugin method for storing the checkout data:
$invoice->setRecordAttr('account_billing_id',$PLG->store_billing($VAR,$invoice->account_id));
# Clear user discounts
$db->Execute(sqlUpdate($db,'session',array('discounts'=>null),array('id'=>SESS)));
# admin options
$email = true;
if ($this->admin_checkout) {
if (empty($VAR['send_email']) || $VAR['send_email']=='false')
$email=false;
else
$email=true;
if (! empty($VAR['due_date']))
$invoice->due_date=$this->getInputDate($VAR['due_date']);
if (! empty($VAR['grace_period']))
$invoice->grace_period=$VAR['grace_period'];
if (! empty($VAR['notice_max']))
$invoice->notice_max=$VAR['notice_max'];
}
if ($invoice->sql_SaveRecord(true)) {
# Delete all cart items
$db->Execute(sqlDelete($db,'cart',sprintf('(session_id=::%s:: OR account_id=%s)',SESS,$invoice->getRecordAttr('account_id'))));
# Admin redirect
if ($this->admin_checkout)
printf('<script language="javascript">parent.location.href=\'%sadmin.php?_page=invoice:view&id=%s\';</script>',URL,$invoice->getRecordAttr('id'));
}
return false;
}
/** Convert a localized d,m,y string to epoch timestamp
*/
function getInputDate($date) {
$Arr_format = explode(DEFAULT_DATE_DIVIDER, UNIX_DATE_FORMAT);
$Arr_date = explode(DEFAULT_DATE_DIVIDER, $date);
for($i=0; $i<3; $i++)
{
if($Arr_format[$i] == 'd') $day = $Arr_date[$i];
if($Arr_format[$i] == 'm') $month = $Arr_date[$i];
if($Arr_format[$i] == 'Y') $year = $Arr_date[$i];
}
$timestamp = mktime(0, 0, 0, $month, $day, $year);
return $timestamp;
return time();
}
/**
* Manage postback for multiple invoices
*/
function postback_multiple($arr) {
$db=&DB();
include_once(PATH_MODULES.'invoice/invoice.inc.php');
$invoice=new invoice;
// get multi-invoice details
$total = $invoice->multiple_invoice_total($arr['invoice_id']);
if(!$total) return false;
$amt = $arr['amount'];
foreach($invoice->invoice_id as $id)
{
if($amt > 0)
{
// get total due for this invoice:
$rs=sqlSelect($db, "invoice","SUM(total_amt-billed_amt-IFNULL(credit_amt,0)) as total","id=$id");
if($rs && $rs->RecordCount()) {
$thisamt = $rs->fields["total"];
if($thisamt > $amt)
$arr['amount'] = $amt;
else
$arr['amount'] = $thisamt;
$arr["invoice_id"] = $id;
$this->postback($arr);
$amt -= $thisamt;
}
}
}
}
/**
* Postback Payment Processing
* This function will handle the postback processing from a payment processor
*
* @param array $arr Incoming payment information
* @uses invoice
* @uses invoice_item
*/
public function postback($arr) {
global $C_debug,$C_list;
# Minimum incoming values to continue
if (empty($arr['invoice_id']))
return false;
if (empty($arr['transaction_id']))
return false;
if (empty($arr['amount']))
return false;
# Does this postback pay multiple invoices?
if (preg_match('/^MULTI-/',$arr['invoice_id']))
return $this->postback_multiple($arr);
$db = &DB();
include_once(PATH_MODULES.'invoice/invoice.inc.php');
$io = new invoice();
# Get the latest invoice information
$invoices = $io->sql_GetRecords(array(
'where'=>sprintf('(parent_id=%s OR id=%s%s)',$arr['invoice_id'],$arr['invoice_id'],
(! empty($arr['subscription_id']) && trim($arr['subscription_id'])) ? sprintf(' OR checkout_plugin_data=%s',trim($arr['subscription_id'])) : ''),
'limit'=>'0,1'));
if (! count($invoices)) {
$C_debug->error(__FILE__,__METHOD__,sprintf('No invoice records, unable to process payment for: %s',$arr['invoice_id']));
return false;
}
# Get our invoice object, that this payment is for.
$invoice = array_pop($invoices);
# If we are not passed a currency, we can only assume it is the same as that used to bill the invoice.
if (! isset($arr['currency']) || ! trim($arr['currency'])) {
$this->billed_amt = $arr['amount']+$invoice['billed_amt'];
$this->actual_billed_amt = $arr['amount']+$invoice['billed_amt'];
$this->actual_billed_currency_id = $invoice['billed_currency_id'];
} else {
# Get the actual billed currency id currency info
$rs = $db->Execute(sqlSelect('currency','*',array('where'=>array('three_digit'=>$arr['currency']))));
if (! $rs)
$C_debug->error(__FILE__,__METHOD__,$db->ErrorMsg());
# No currency information, assume the currency of the invoice
elseif (! $rs->RecordCount()) {
$C_debug->error(__FILE__,__METHOD__,sprintf('No currency: %s?',$arr['currency']));
$this->billed_amt = $arr['amount']+$invoice['billed_amt'];
$this->actual_billed_amt = $arr['amount']+$invoice['billed_amt'];
$this->actual_billed_currency_id = $invoice['billed_currency_id'];
} else {
$this->actual_billed_currency_id = $rs->fields['id'];
if (is_string($rs->fields['convert_array']))
$convert = unserialize($rs->fields['convert_array']);
else
$convert = false;
$this->format_currency[$this->actual_billed_currency_id] = array(
'symbol'=>$rs->fields['symbol'],
'convert'=>$convert,
'iso'=>$rs->fields['three_digit']);
# Get the billed currency id currency info:
$rs = $db->Execute(sqlSelect('currency','*',array('where'=>array('id'=>$invoice['billed_currency_id']))));
if (! $rs)
$C_debug->error(__FILE__,__METHOD__,$db->ErrorMsg());
$this->format_currency[$invoice['billed_currency_id']] = array(
'symbol'=>$rs->fields['symbol'],
'convert'=>unserialize($rs->fields['convert_array']),
'iso'=>$rs->fields['three_digit']);
# Convert the invoice amount to the actual billed currency amount
$conversion = $this->format_currency[$invoice['billed_currency_id']]['convert'][$this->actual_billed_currency_id]['rate'];
$this->billed_amt = $invoice['billed_amt']+($arr['amount']/$conversion);
$this->actual_billed_amt = $invoice['actual_billed_amt']+$arr['amount'];
}
}
# Check for any subscription_id
if (! empty($arr['subscription_id']))
$this->subscription_id = trim($arr['subscription_id']);
else
$this->subscription_id = trim($invoice['checkout_plugin_data']);
$this->checkout_id = $this->getRecordAttr('id');
# Check for the billing status:
if ($this->billed_amt >= $invoice['total_amt'])
$this->billing_status = '1';
else
$this->billing_status = '0';
# Check if this transaction_id has already been processed:
$rs = $db->Execute(
sqlSelect('invoice_memo','id',
array('where'=>array('invoice_id'=>$invoice['id'],'type'=>'postback','memo'=>sprintf('%s-%s',$this->getRecordAttr('id'),$arr['transaction_id'])))));
if (! $rs)
$C_debug->error(__FILE__,__METHOD__,$db->ErrorMsg());
# Transaction ID already exists
elseif ($rs->RecordCount()) {
# Duplicate post:
$C_debug->error(__FILE__,__METHOD__,
sprintf('Duplicate postback for invoice %s & transaction id %s-%s',$arr['invoice_id'],$this->getRecordAttr('id'),$arr['transaction_id']));
# Record new transaction ID
} else {
# Create the invoice memo
# @todo should get the account_id
$rs = $db->Execute(
sqlInsert($db,'invoice_memo',
array('date_orig'=>time(),'invoice_id'=>$invoice['id'],'account_id'=>null,
'type'=>'postback','memo'=>sprintf('%s-%s',$this->getRecordAttr('id'),$arr['transaction_id']))));
if (! $rs)
$C_debug->error(__FILE__,__METHOD__,$db->ErrorMsg());
$io = new invoice($invoice['id']);
# Update the invoice approval status
if (! isset($arr['status']) || ! $arr['status']) {
$rs = $db->Execute(
sqlInsert($db,'invoice_memo',
array('date_orig'=>time(),'invoice_id'=>$invoice['id'],
'account_id'=>null,'type'=>'void','memo'=>sprintf('%s: %s-%s',_('Voided due to postback'),$this->getRecordAttr('id'),$arr['transaction_id']))));
if (! $rs)
$C_debug->error(__FILE__,__METHOD__,$db->ErrorMsg());
# Void
$io->voidInvoice(array('id'=>$invoice['id']));
} else {
# Check the items, see if there is a payment fee to add to the invoice
if (isset($arr['items']) && is_array($arr['items'])) {
include_once(PATH_MODULES.'invoice_item/invoice_item.inc.php');
foreach ($arr['items'] as $k => $v) {
if (isset($v['item_number']) && $v['item_number'] == 'PAYFEE') {
$ito = new invoice_item();
$ito->setRecordAttr('invoice_id',$invoice['id']);
$ito->setRecordAttr('account_id',0);
$ito->setRecordAttr('service_id',null);
$ito->setRecordAttr('charge_id',null);
$ito->setRecordAttr('product_name',sprintf('Payment Fee: %s',$this->getRecordAttr('name')));
$ito->setRecordAttr('product_id',null);
$ito->setRecordAttr('product_attr',null);
$ito->setRecordAttr('product_attr_cart',null);
$ito->setRecordAttr('sku','PAYFEE');
$ito->setRecordAttr('quantity',1);
$ito->setRecordAttr('item_type',0);
$ito->setRecordAttr('price_setup',0);
$ito->setRecordAttr('domain_name',null);
$ito->setRecordAttr('domain_tld',null);
$ito->setRecordAttr('domain_type',null);
$ito->setRecordAttr('domain_term',null);
$ito->setRecordAttr('price_type',null);
$ito->setRecordAttr('recurring_schedule',null);
$ito->setRecordAttr('date_start',null);
$ito->setRecordAttr('date_stop',null);
$ito->setRecordAttr('price_base',$v['mc_gross_']);
# @todo need to retro work out the tax amount.
$ito->setRecordAttr('tax_amt',0);
$item = $ito->sql_SaveRecord();
$io->setRecordAttr('total_amt',$io->getRecordAttr('total_amt')+$ito->getRecordAttr('total_amt'));
$io->setRecordAttr('tax_amt',$io->getRecordAttr('tax_amt')+$ito->getRecordAttr('tax_amt'));
}
}
}
$io->setRecordAttr('billing_status',$this->billing_status);
$io->setRecordAttr('checkout_plugin_id',$this->getRecordAttr('id'));
$io->setRecordAttr('checkout_plugin_data',$this->subscription_id);
$io->setRecordAttr('billed_amt',$this->billed_amt);
$io->setRecordAttr('actual_billed_amt',$this->actual_billed_amt);
$io->setRecordAttr('actual_billed_currency_id',$this->actual_billed_currency_id);
$rs = $io->sql_SaveRecord();
# If the payment module is installed, record the payment item.
if ($C_list->is_installed('payment')) {
include_once(PATH_MODULES.'payment/payment.inc.php');
include_once(PATH_MODULES.'payment_item/payment_item.inc.php');
$po = new payment();
$po->setRecordAttr('account_id',$io->getRecordAttr('account_id'));
$po->setRecordAttr('date_payment',time());
$po->setRecordAttr('checkout_plugin_id',$this->getRecordAttr('id'));
$po->setRecordAttr('total_amt',$arr['amount']);
$po->setRecordAttr('fees_amt',(isset($arr['fee']) ? $arr['fee'] : 0));
$po->setRecordAttr('notes',print_r($_POST,true));
$po->setRecordAttr('source_id',$io->getRecordAttr('account_id'));
$pid = $po->sql_SaveRecord(true);
$po->sql_LoadRecord($pid);
# Mark this payment pending
# @todo Make this a global configuration option to auto mark payments as pending, so they can be reviewed.
$po->setRecordAttr('pending_status',1);
$po->sql_SaveRecord();
$pio = new payment_item();
$pio->setRecordAttr('payment_id',$pid);
$pio->setRecordAttr('invoice_id',$io->getRecordAttr('id'));
$pio->setRecordAttr('alloc_amt',$arr['amount']);
$pio->sql_SaveRecord();
}
# Approve
$io->autoApproveInvoice($invoice['id']);
# User invoice payment confirmation
include_once(PATH_MODULES.'email_template/email_template.inc.php');
$email = new email_template;
$email->send('invoice_paid_user',$invoice['account_id'],$invoice['id'],DEFAULT_CURRENCY,'');
# Admin alert of payment processed
$email = new email_template;
$email->send('admin->invoice_paid_admin',$invoice['account_id'],$invoice['id'],DEFAULT_CURRENCY,'');
}
}
return true;
}
/**
* Display Checkout Data Form
*/
function checkoutoption($VAR) {
global $VAR,$C_translate,$C_auth,$C_vars,$smarty;
if (SESS_LOGGED != '1') {
$smarty->assign('plugin_template',false);
return false;
}
# Normal checkout
$db = &DB();
$rs = $db->Execute(sqlSelect($db,'checkout','*',array('id'=>$VAR['option'])));
if (! $rs || $rs->RecordCount() == 0) {
$smarty->assign('plugin_template',false);
return false;
}
# Determine account id
if (! empty($VAR['account_id']) && $C_auth->auth_method_by_name('checkout','admin_checkoutnow')) {
$this->account_id = $VAR['account_id'];
$this->admin_view = true;
} else {
$this->account_id=SESS_ACCOUNT;
}
# Set account options && seed VAR with defaults
if (empty($VAR['detailsnocopy'])) {
$acct = $db->Execute(sqlSelect($db,'account','first_name,last_name,address1,address2,city,state,zip,country_id,email,company',array('id'=>$this->account_id)));
if ($acct && $acct->RecordCount())
foreach ($acct->fields as $key=>$val)
if(!is_numeric($key) && empty($VAR[$key]))
$VAR[$key]=stripslashes($acct->fields[$key]);
}
$C_vars->strip_slashes_all();
$smarty->assign('VAR',$VAR);
$smarty->assign('plugin_template','checkout_plugin:plugin_ord_'.$rs->fields['checkout_plugin']);
}
public function tpl_get_plugindata($VAR) {
global $smarty;
# Normal checkout
$db = &DB();
$rs = $db->Execute(sqlSelect($db,'checkout','plugin_data',array('id'=>$VAR['checkout_id'])));
if ($rs || $rs->RecordCount() == 1)
$smarty->assign('plugin_data',$rs->fields['plugin_data']);
}
}
?>

View File

@@ -1,64 +0,0 @@
<?php
/**
* AgileBill - Open Billing Software
*
* This body of work is free software; you can redistribute it and/or
* modify it under the terms of the Open AgileBill License
* License as published at http://www.agileco.com/agilebill/license1-4.txt
*
* For questions, help, comments, discussion, etc., please join the
* Agileco community forums at http://forum.agileco.com/
*
* @link http://www.agileco.com/
* @copyright 2004-2008 Agileco, LLC.
* @license http://www.agileco.com/agilebill/license1-4.txt
* @author Tony Landis <tony@agileco.com>
* @package AgileBill
* @version 1.4.93
*/
include_once(PATH_MODULES.'checkout/base_checkout_plugin.class.php');
class checkout_admin extends base_checkout_plugin
{
# Get the config values for this checkout plugin:
function checkout_admin($checkout_id=false) {
$this->name = 'NONE';
$this->type = 'redirect';
$this->recurr_only = false;
}
# Validate the user submitted billing details at checkout:
function validate($VAR) {
return true;
}
# Perform the checkout transaction (new purchase):
function bill_checkout( $amount, $invoice, $currency_iso, $acct_fields, $total_recurring=false, $recurr_bill_arr=false) {
return true;
}
# Stores new billing details, & return account_billing_id (gateway only)
function store_billing($VAR) {
return 0;
}
# Perform a transaction for an (new invoice):
function bill_invoice($VAR) {
return true;
}
# Issue a refund for a paid invoice (captured charges w/gateway)
function refund($VAR) {
return true;
}
# Void a authorized charge (gateways only)
function void($VAR) {
return true;
}
}
?>

View File

@@ -1,178 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<construct>
<!-- Module name -->
<module>checkout</module>
<!-- Module supporting database table -->
<table>checkout</table>
<!-- Module dependancy(s) (module wont install if these modules are not yet installed) -->
<dependancy></dependancy>
<!-- DB cache in seconds -->
<cache>15</cache>
<!-- Default order_by field for SQL queries -->
<order_by>name</order_by>
<!-- Default SQL limit for SQL queries -->
<limit>25</limit>
<!-- Schema version (used to determine if the schema has change during upgrades) -->
<version>1</version>
<!-- Database indexes -->
<index>
</index>
<!-- Database fields -->
<field>
<!-- Record ID -->
<id>
<index>1</index>
<type>I4</type>
<unique>1</unique>
</id>
<!-- Site ID -->
<site_id>
<index>1</index>
<type>I4</type>
</site_id>
<!-- Record active (BOOL)-->
<active>
<display>Active</display>
<type>L</type>
</active>
<name>
<type>C(32)</type>
<min_len>1</min_len>
<max_len>32</max_len>
<validate>any</validate>
</name>
<description>
<type>C(255)</type>
</description>
<checkout_plugin>
<type>C(32)</type>
<validate>any</validate>
</checkout_plugin>
<plugin_data>
<type>X2</type>
<convert>array</convert>
<arr_force>1</arr_force>
</plugin_data>
<allow_recurring>
<type>L</type>
</allow_recurring>
<allow_new>
<type>L</type>
</allow_new>
<allow_trial>
<type>L</type>
</allow_trial>
<total_minimum>
<type>F</type>
</total_minimum>
<total_maximum>
<type>F</type>
</total_maximum>
<max_decline_attempts>
<type>I4</type>
</max_decline_attempts>
<manual_approval_all>
<type>L</type>
</manual_approval_all>
<manual_approval_recur>
<type>L</type>
</manual_approval_recur>
<manual_approval_country>
<type>X2</type>
<convert>array</convert>
<arr_force>1</arr_force>
</manual_approval_country>
<manual_approval_group>
<type>X2</type>
<convert>array</convert>
<arr_force>1</arr_force>
</manual_approval_group>
<manual_approval_amount>
<type>F</type>
</manual_approval_amount>
<manual_approval_currency>
<type>X2</type>
<convert>array</convert>
<arr_force>1</arr_force>
</manual_approval_currency>
<default_when_currency>
<type>X2</type>
<convert>array</convert>
<arr_force>1</arr_force>
</default_when_currency>
<default_when_country>
<type>X2</type>
<convert>array</convert>
<arr_force>1</arr_force>
</default_when_country>
<default_when_group>
<type>X2</type>
<convert>array</convert>
<arr_force>1</arr_force>
</default_when_group>
<default_when_amount>
<type>F</type>
</default_when_amount>
<allowed_currencies>
<type>X2</type>
<convert>array</convert>
<arr_force>1</arr_force>
<validate>any</validate>
</allowed_currencies>
<email_template>
<type>X2</type>
</email_template>
<required_groups>
<type>X2</type>
<convert>array</convert>
<arr_force>1</arr_force>
</required_groups>
<excluded_products>
<type>X2</type>
<convert>array</convert>
<arr_force>1</arr_force>
</excluded_products>
<graphic_url>
<type>C(128)</type>
</graphic_url>
</field>
<!-- Methods for this class, and the fields they have access to, if applicable -->
<method>
<add>name,description,active,checkout_plugin,allow_recurring,allow_new,allow_trial,total_minimum,total_maximum,max_decline_attempts,manual_approval_all,manual_approval_recur,manual_approval_amount,default_when_amount,allowed_currencies,email_template,required_groups,graphic_url</add>
<delete>id</delete>
<search>id,name,description,active,checkout_plugin,plugin_data,allow_recurring,allow_new,allow_trial,total_minimum,total_maximum,max_decline_attempts,manual_approval_all,manual_approval_recur,manual_approval_country,manual_approval_group,manual_approval_amount,manual_approval_currency,default_when_currency,default_when_country,default_when_group,default_when_amount,allowed_currencies,email_template,excluded_products,required_groups</search>
<update>id,name,description,active,checkout_plugin,plugin_data,allow_recurring,allow_new,allow_trial,total_minimum,total_maximum,max_decline_attempts,manual_approval_all,manual_approval_recur,manual_approval_country,manual_approval_group,manual_approval_amount,manual_approval_currency,default_when_currency,default_when_country,default_when_group,default_when_amount,allowed_currencies,email_template,excluded_products,required_groups,graphic_url</update>
<view>id,name,description,active,checkout_plugin,plugin_data,allow_recurring,allow_new,allow_trial,total_minimum,total_maximum,max_decline_attempts,manual_approval_all,manual_approval_recur,manual_approval_country,manual_approval_group,manual_approval_amount,manual_approval_currency,default_when_currency,default_when_country,default_when_group,default_when_amount,allowed_currencies,email_template,excluded_products,required_groups,graphic_url</view>
</method>
<!-- Method triggers -->
<trigger></trigger>
<!-- Template page display titles -->
<title></title>
<!-- Template helpers -->
<tpl>
<search_show>
<checkbox>
<field>id</field>
<type>checkbox</type>
<width>25px</width>
</checkbox>
<name>
<field>name</field>
</name>
<checkout_plugin>
<field>checkout_plugin</field>
</checkout_plugin>
<icon>
<field>active</field>
<type>bool_icon</type>
<width>20px</width>
</icon>
</search_show>
</tpl>
</construct>

View File

@@ -1,68 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<install>
<!-- Tree Menu Module Properties -->
<module_properties>
<!-- MODULE Dependancy, this module wont be installed if the dependant modules dont exist -->
<dependancy></dependancy>
<!-- Translated display to use on the tree -->
<display>Checkout</display>
<!-- Display a module in the menu tree -->
<menu_display>1</menu_display>
<!-- MODULE Name -->
<name>checkout</name>
<!-- MODULE Notes, these notes show up in the modules table, as a description of the module -->
<notes><![CDATA[This module controls the various checkout options and plugins.]]></notes>
<!-- MODULE Parent, the parent node in the tree -->
<parent>setup</parent>
<!-- SUB Modules to install with this one -->
<sub_modules></sub_modules>
<!-- MODULE Type (core|base), core modules cannot be deleted, unrecognised types are ignored. -->
<type></type>
</module_properties>
<!-- Tree Menu & Module Methods to load, they will be assigned the group permissions on install time, as selected by the user. -->
<module_method>
<add>
<display>Add</display>
<menu_display>1</menu_display>
<name>add</name>
<notes><![CDATA[Add records]]></notes>
</add>
<delete>
<name>delete</name>
<notes><![CDATA[Delete records]]></notes>
</delete>
<search>
<display>List</display>
<menu_display>1</menu_display>
<name>search</name>
<notes><![CDATA[List records]]></notes>
<page><![CDATA[core:search&module=%%&_next_page_one=view]]></page>
</search>
<search_form>
<name>search_form</name>
<notes><![CDATA[Search for records]]></notes>
</search_form>
<search_show>
<name>search_show</name>
<notes><![CDATA[Show the results of a search]]></notes>
</search_show>
<update>
<name>update</name>
<notes><![CDATA[Update a record]]></notes>
</update>
<view>
<name>view</name>
<notes><![CDATA[View a record]]></notes>
</view>
<admin_checkoutnow>
<name>admin_checkoutnow</name>
</admin_checkoutnow>
<admin_adddiscount>
<name>admin_adddiscount</name>
</admin_adddiscount>
<admin_preview>
<name>admin_preview</name>
</admin_preview>
</module_method>
</install>

View File

@@ -1,981 +0,0 @@
<?xml version="1.0" encoding="ISO-8859-1" ?>
<install>
<checkout>
<id>1</id>
<site_id>1</site_id>
<name>Free Order Processing</name>
<description>There are no charges associated with this purchase, so no billing details are required to complete your order.</description>
<active>1</active>
<checkout_plugin>FREE</checkout_plugin>
<plugin_data><![CDATA[a:1:{i:0;s:0:"";}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0</total_minimum>
<total_maximum>0</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:15:{i:0;s:1:"6";i:1;s:1:"5";i:2;s:1:"7";i:3;s:1:"8";i:4;s:2:"16";i:5;s:1:"4";i:6;s:1:"9";i:7;s:1:"3";i:8;s:2:"15";i:9;s:2:"10";i:10;s:2:"12";i:11;s:2:"13";i:12;s:2:"11";i:13;s:1:"1";i:14;s:2:"14";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:0:"";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>2</id>
<site_id>1</site_id>
<name>Direct Debit</name>
<description>Pay by automatic bank direct debit.</description>
<active>1</active>
<checkout_plugin>DIRECT_DEBIT</checkout_plugin>
<plugin_data><![CDATA[a:1:{i:0;s:0:"";}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>0</allow_new>
<allow_trial>0</allow_trial>
<total_minimum>0</total_minimum>
<total_maximum>0</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:15:{i:0;s:1:"6";i:1;s:1:"5";i:2;s:1:"7";i:3;s:1:"8";i:4;s:2:"16";i:5;s:1:"4";i:6;s:1:"9";i:7;s:1:"3";i:8;s:2:"15";i:9;s:2:"10";i:10;s:2:"12";i:11;s:2:"13";i:12;s:2:"11";i:13;s:1:"1";i:14;s:2:"14";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:0:"";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>3</id>
<site_id>1</site_id>
<name>PayPal (Subscription)</name>
<description>This payment option will create a subscription in your PayPal account so you will be billed automatically for any recurring charges.</description>
<active>0</active>
<checkout_plugin>PAYPAL_RECURRING</checkout_plugin>
<plugin_data><![CDATA[a:2:{s:4:"mode";s:1:"0";s:5:"email";s:0:"";}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>0</allow_new>
<allow_trial>0</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>10000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:4:{i:0;s:1:"5";i:1;s:2:"16";i:2;s:1:"4";i:3;s:1:"1";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:0:"";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>6</id>
<site_id>1</site_id>
<name>PayPal</name>
<description>Pay with your PayPal.com account and gain instant access to your order online.</description>
<active>0</active>
<checkout_plugin>PAYPAL</checkout_plugin>
<plugin_data><![CDATA[a:2:{s:4:"mode";s:1:"0";s:5:"email";s:0:"";}]]></plugin_data>
<allow_recurring>0</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>10000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:4:{i:0;s:1:"5";i:1;s:2:"16";i:2;s:1:"4";i:3;s:1:"1";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:0:"";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>7</id>
<site_id>1</site_id>
<name>2Checkout.com</name>
<description>Pay at 2Checkout.com with your credit card.</description>
<active>0</active>
<checkout_plugin>2CHECKOUT</checkout_plugin>
<plugin_data><![CDATA[a:3:{s:4:"mode";s:1:"0";s:2:"id";s:0:"";s:6:"secret";s:0:"";}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>10000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>1</manual_approval_all>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:1:"1";}]]></allowed_currencies>
<email_template>You have ordered via 2checkout.com, which may take up to 24 hours to complete their fraud tests. Once this process is complete, you will be contacted with instructions.</email_template>
</checkout>
<checkout>
<id>8</id>
<site_id>1</site_id>
<name>Nochex</name>
<description>Pay with your Nochex.com account.</description>
<active>0</active>
<checkout_plugin>NOCHEXS</checkout_plugin>
<plugin_data><![CDATA[a:2:{s:4:"mode";s:1:"0";s:5:"email";s:16:"test2@nochex.com";}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>10000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>1</manual_approval_all>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:1:"1";}]]></allowed_currencies>
</checkout>
<checkout>
<id>9</id>
<site_id>1</site_id>
<name>NetPayments</name>
<description>Pay at the NetPayments.com secure site.</description>
<active>0</active>
<checkout_plugin>NETPAYMENTS</checkout_plugin>
<plugin_data><![CDATA[a:2:{s:4:"mode";s:1:"0";s:2:"id";s:0:"";}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>10000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>1</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:1:"1";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:0:"";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>10</id>
<site_id>1</site_id>
<name>Worldpay</name>
<description>Pay at the secure WorldPay.com site...</description>
<active>0</active>
<checkout_plugin>WORLDPAY</checkout_plugin>
<plugin_data><![CDATA[a:2:{s:8:"testMode";s:3:"100";s:6:"instId";s:0:"";}]]></plugin_data>
<allow_recurring>0</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>10000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>1</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:4:{i:0;s:1:"5";i:1;s:2:"16";i:2;s:1:"4";i:3;s:1:"1";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:0:"";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>15</id>
<site_id>1</site_id>
<name>MoneyBookers</name>
<description>Pay with your MoneyBookers account.</description>
<active>0</active>
<checkout_plugin>MONEYBOOKERS</checkout_plugin>
<plugin_data><![CDATA[a:3:{s:4:"mode";s:1:"1";s:7:"account";s:0:"";s:6:"secret";s:0:"";}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>100000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>1</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:0:"";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:0:"";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>16</id>
<site_id>1</site_id>
<name>MoneyBookers (subscription)</name>
<description>Pay with MoneyBookers and create and automatic subscription for future charges.</description>
<active>0</active>
<checkout_plugin>MONEYBOOKERS_RECURRING</checkout_plugin>
<plugin_data><![CDATA[a:3:{s:4:"mode";s:1:"1";s:7:"account";s:0:"";s:6:"secret";s:0:"";}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>0</allow_new>
<allow_trial>0</allow_trial>
<total_minimum>0.1</total_minimum>
<total_maximum>100000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>1</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:15:{i:0;s:1:"6";i:1;s:1:"5";i:2;s:1:"7";i:3;s:1:"8";i:4;s:2:"16";i:5;s:1:"4";i:6;s:1:"9";i:7;s:1:"3";i:8;s:2:"15";i:9;s:2:"10";i:10;s:2:"12";i:11;s:2:"13";i:12;s:2:"11";i:13;s:1:"1";i:14;s:2:"14";}]]></allowed_currencies>
</checkout>
<checkout>
<id>17</id>
<site_id>1</site_id>
<name>StormPay</name>
<description>Pay with your StormPay account</description>
<active>0</active>
<checkout_plugin>STORMPAY</checkout_plugin>
<plugin_data><![CDATA[a:3:{s:4:"mode";s:1:"1";s:5:"email";s:0:"";s:6:"secret";s:0:"";}]]></plugin_data>
<allow_recurring>0</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>100000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>1</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:1:"1";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:0:"";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>19</id>
<site_id>1</site_id>
<name>StormPay (subscription)</name>
<description>Pay with your StormPay account.</description>
<active>0</active>
<checkout_plugin>STORMPAY_RECURRING</checkout_plugin>
<plugin_data><![CDATA[a:3:{s:4:"mode";s:1:"1";s:5:"email";s:0:"";s:6:"secret";s:0:"";}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>0</allow_new>
<allow_trial>0</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>100000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>1</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:0:"";}]]></allowed_currencies>
</checkout>
<checkout>
<id>23</id>
<site_id>1</site_id>
<name>Manual Card</name>
<description>Collect cards to charge manually later</description>
<active>1</active>
<checkout_plugin>MANUAL</checkout_plugin>
<plugin_data><![CDATA[a:1:{s:9:"card_type";a:4:{i:0;s:4:"visa";i:1;s:2:"mc";i:2;s:4:"amex";i:3;s:8:"discover";}}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0</total_minimum>
<total_maximum>100000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:15:{i:0;s:1:"6";i:1;s:1:"5";i:2;s:1:"7";i:3;s:1:"8";i:4;s:2:"16";i:5;s:1:"4";i:6;s:1:"9";i:7;s:1:"3";i:8;s:2:"15";i:9;s:2:"10";i:10;s:2:"12";i:11;s:2:"13";i:12;s:2:"11";i:13;s:1:"1";i:14;s:2:"14";}]]></allowed_currencies>
<email_template>Your credit card details have been stored for manual review and verification of funds. Once we have reviewed and successfully debited the credit card, we will update the invoice status. In the meanwhile, your invoice will be displayed as due, so you can ignore this unless we contact you stating otherwise.</email_template>
<required_groups><![CDATA[a:1:{i:0;s:0:"";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>27</id>
<site_id>1</site_id>
<name>Paysystems Pro</name>
<description>Paysystems TTP Pro</description>
<active>0</active>
<checkout_plugin>PAYSYSTEMS_PRO</checkout_plugin>
<plugin_data><![CDATA[a:1:{i:0;s:0:"";}]]></plugin_data>
<allow_recurring>0</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>100000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:1:"1";}]]></allowed_currencies>
</checkout>
<checkout>
<id>28</id>
<site_id>1</site_id>
<name>Paysystems Recurring</name>
<description>Pay for this recurring transaction at Paysystems.com with a credit card</description>
<active>0</active>
<checkout_plugin>PAYSYSTEMS_RECURRING</checkout_plugin>
<plugin_data><![CDATA[a:2:{s:4:"mode";s:1:"1";s:2:"id";s:4:"3900";}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>0</allow_new>
<allow_trial>0</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>100000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:1:"1";}]]></allowed_currencies>
</checkout>
<checkout>
<id>29</id>
<site_id>1</site_id>
<name>Paysystems Check</name>
<description>Pay with an e-check at paystems.com</description>
<active>0</active>
<checkout_plugin>PAYSYSTEMS_CHECK</checkout_plugin>
<plugin_data><![CDATA[a:2:{s:4:"mode";s:1:"1";s:2:"id";s:0:"";}]]></plugin_data>
<allow_recurring>0</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>100000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:1:"1";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:0:"";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>31</id>
<site_id>1</site_id>
<name>Paysystems Check Recur</name>
<description>Create a recurring e-check at paysystems.com</description>
<active>0</active>
<checkout_plugin>PAYSYSTEMS_CHECK_RECUR</checkout_plugin>
<plugin_data><![CDATA[a:2:{s:4:"mode";s:1:"1";s:2:"id";s:0:"";}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>0</allow_new>
<allow_trial>0</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>100000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:1:"1";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:0:"";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>32</id>
<site_id>1</site_id>
<name>WorldPay Futurepay</name>
<description>Create a recurring subscription at WorldPay.com</description>
<active>0</active>
<checkout_plugin>WORLDPAY_FUTUREPAY</checkout_plugin>
<plugin_data><![CDATA[a:2:{s:8:"testMode";s:1:"0";s:6:"instId";s:0:"";}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>0</allow_new>
<allow_trial>0</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>100000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:2:"12";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:4:"1001";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:1:"8";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:1:"1";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:1:"2";}]]></required_groups>
<excluded_products><![CDATA[a:2:{i:0;s:1:"2";i:1;s:1:"4";}]]></excluded_products>
</checkout>
<checkout>
<id>33</id>
<site_id>1</site_id>
<name>Remit Bank Wire</name>
<description>Remit a bank wire for this invoice</description>
<active>0</active>
<checkout_plugin>REMIT_BANK_WIRE</checkout_plugin>
<plugin_data><![CDATA[a:1:{s:5:"check";s:150:"To edit your bank wire payment details, please open the following template:
/themes/default/blocks/checkout_plugin/plugin_ord_REMIT_BANK_WIRE.tpl
";}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>0</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>1000000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:15:{i:0;s:1:"6";i:1;s:1:"5";i:2;s:1:"7";i:3;s:1:"8";i:4;s:2:"16";i:5;s:1:"4";i:6;s:1:"9";i:7;s:1:"3";i:8;s:2:"15";i:9;s:2:"10";i:10;s:2:"12";i:11;s:2:"13";i:12;s:2:"11";i:13;s:1:"1";i:14;s:2:"14";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:1:"0";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>34</id>
<site_id>1</site_id>
<name>Remit Check</name>
<description>Remit a company or certified check for this invoice</description>
<active>0</active>
<checkout_plugin>REMIT_CHECK</checkout_plugin>
<plugin_data><![CDATA[a:1:{s:5:"check";s:142:"To edit your check payment details, please open the following template:
/themes/default/blocks/checkout_plugin/plugin_ord_REMIT_CHECK.tpl
";}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>0</allow_trial>
<total_minimum>10</total_minimum>
<total_maximum>1000000000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:15:{i:0;s:1:"6";i:1;s:1:"5";i:2;s:1:"7";i:3;s:1:"8";i:4;s:2:"16";i:5;s:1:"4";i:6;s:1:"9";i:7;s:1:"3";i:8;s:2:"15";i:9;s:2:"10";i:10;s:2:"12";i:11;s:2:"13";i:12;s:2:"11";i:13;s:1:"1";i:14;s:2:"14";}]]></allowed_currencies>
</checkout>
<checkout>
<id>35</id>
<site_id>1</site_id>
<name>Authorize.net</name>
<description>Pay with your credit card through our realtime connection with authorize.net</description>
<active>0</active>
<checkout_plugin>AUTHORIZE_NET</checkout_plugin>
<plugin_data><![CDATA[a:5:{s:4:"mode";s:3:"100";s:18:"x_Transaction_Type";s:12:"AUTH_CAPTURE";s:7:"x_Login";s:0:"";s:10:"x_Password";s:0:"";s:9:"card_type";a:4:{i:0;s:4:"visa";i:1;s:2:"mc";i:2;s:4:"amex";i:3;s:8:"discover";}}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0</total_minimum>
<total_maximum>100000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:2:"24";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:1:"1";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:0:"";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>36</id>
<site_id>1</site_id>
<name>SWREG</name>
<description>Pay with your credit card at SWREG.</description>
<active>0</active>
<checkout_plugin>SWREG_ADVANCED</checkout_plugin>
<plugin_data><![CDATA[a:3:{s:4:"mode";s:3:"100";s:5:"store";s:0:"";s:9:"card_type";a:9:{i:0;s:4:"visa";i:1;s:2:"mc";i:2;s:4:"amex";i:3;s:8:"discover";i:4;s:5:"delta";i:5;s:4:"solo";i:6;s:6:"switch";i:7;s:3:"jcb";i:8;s:6:"diners";}}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>10000000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:3:{i:0;s:2:"16";i:1;s:1:"4";i:2;s:1:"1";}]]></allowed_currencies>
<email_template><![CDATA[IMPORTANT: This order will appear on your credit card billing statement as "cardquery.com".]]></email_template>
</checkout>
<checkout>
<id>37</id>
<site_id>1</site_id>
<name>Eway</name>
<description>Pay with a credit card at Eway.com.au</description>
<active>0</active>
<checkout_plugin>EWAY</checkout_plugin>
<plugin_data><![CDATA[a:3:{s:4:"mode";s:1:"0";s:11:"customer_id";s:0:"";s:9:"card_type";a:4:{i:0;s:4:"visa";i:1;s:2:"mc";i:2;s:4:"amex";i:3;s:8:"discover";}}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>10000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:1:"1";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:0:"";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>39</id>
<site_id>1</site_id>
<name>PaySwiss</name>
<description>Payswiss payment option</description>
<active>0</active>
<checkout_plugin>PAYSWISS</checkout_plugin>
<plugin_data><![CDATA[a:1:{s:5:"email";s:0:"";}]]></plugin_data>
<allow_recurring>0</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>10000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:14:{i:0;s:1:"5";i:1;s:1:"7";i:2;s:1:"8";i:3;s:2:"16";i:4;s:1:"4";i:5;s:1:"9";i:6;s:1:"3";i:7;s:2:"15";i:8;s:2:"10";i:9;s:2:"12";i:10;s:2:"13";i:11;s:2:"11";i:12;s:1:"1";i:13;s:2:"14";}]]></allowed_currencies>
</checkout>
<checkout>
<id>40</id>
<site_id>1</site_id>
<name>PaySwiss (recurring)</name>
<description>Setup a subscript at payswiss.com</description>
<active>0</active>
<checkout_plugin>PAYSWISS_RECURRING</checkout_plugin>
<plugin_data><![CDATA[a:1:{s:5:"email";s:0:"";}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>0</allow_new>
<allow_trial>0</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>10000</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:1:"1";}]]></allowed_currencies>
</checkout>
<checkout>
<id>41</id>
<site_id>1</site_id>
<name>TrustCommerce</name>
<description>tc</description>
<active>0</active>
<checkout_plugin>TRUSTCOMMERCE</checkout_plugin>
<plugin_data><![CDATA[a:6:{s:4:"mode";s:1:"0";s:18:"x_Transaction_Type";s:4:"sale";s:7:"x_Login";s:0:"";s:10:"x_Password";s:0:"";s:5:"x_AVS";s:1:"y";s:9:"card_type";a:4:{i:0;s:4:"visa";i:1;s:2:"mc";i:2;s:4:"amex";i:3;s:8:"discover";}}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>99999999999</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_amount>0</manual_approval_amount>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:1:"1";}]]></allowed_currencies>
</checkout>
<checkout>
<id>42</id>
<site_id>1</site_id>
<name>EFTSecure</name>
<description>EFTSecure</description>
<active>0</active>
<checkout_plugin>EFT_SECURE</checkout_plugin>
<plugin_data><![CDATA[a:3:{s:4:"M_id";s:12:"999999999998";s:5:"M_key";s:12:"ABCDEF123456";s:9:"card_type";a:4:{i:0;s:4:"visa";i:1;s:2:"mc";i:2;s:4:"amex";i:3;s:8:"discover";}}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>99999999</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:1:"1";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:0:"";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>43</id>
<site_id>1</site_id>
<name>USA ePAY</name>
<description>USA ePAY</description>
<active>0</active>
<checkout_plugin>USA_EPAY</checkout_plugin>
<plugin_data><![CDATA[a:3:{s:4:"mode";s:1:"0";s:3:"key";s:0:"";s:9:"card_type";a:4:{i:0;s:4:"visa";i:1;s:2:"mc";i:2;s:4:"amex";i:3;s:8:"discover";}}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>1</total_minimum>
<total_maximum>9999999</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:1:"1";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:0:"";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>45</id>
<site_id>1</site_id>
<name>PAYMATE</name>
<description>PAYMATE.com</description>
<active>0</active>
<checkout_plugin>PAYMATE</checkout_plugin>
<plugin_data><![CDATA[a:1:{s:3:"mid";s:0:"";}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>99999999</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:2:{i:0;s:1:"6";i:1;s:1:"1";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:0:"";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>46</id>
<site_id>1</site_id>
<name>Internetsecure</name>
<description>InternetSecure</description>
<active>0</active>
<checkout_plugin>INTERNETSECURE</checkout_plugin>
<plugin_data><![CDATA[a:3:{s:18:"x_Transaction_Type";s:12:"AUTH_CAPTURE";s:7:"x_Login";s:9:"123456789";s:9:"card_type";a:4:{i:0;s:4:"visa";i:1;s:2:"mc";i:2;s:4:"amex";i:3;s:8:"discover";}}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>5</total_minimum>
<total_maximum>9999</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:1:"1";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:1:"2";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>47</id>
<site_id>1</site_id>
<name>Verisign</name>
<active>0</active>
<checkout_plugin>VERISIGN_PFPRO</checkout_plugin>
<allow_recurring>0</allow_recurring>
<allow_new>0</allow_new>
<allow_trial>0</allow_trial>
<total_minimum>0</total_minimum>
<total_maximum>9</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_amount>0</manual_approval_amount>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:14:{i:0;s:1:"6";i:1;s:1:"5";i:2;s:1:"8";i:3;s:2:"16";i:4;s:1:"9";i:5;s:1:"3";i:6;s:2:"15";i:7;s:2:"12";i:8;s:2:"10";i:9;s:2:"13";i:10;s:2:"14";i:11;s:2:"11";i:12;s:1:"7";i:13;s:1:"4";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:1:"0";}]]></required_groups>
</checkout>
<checkout>
<id>48</id>
<site_id>1</site_id>
<name>CommercePayment.com</name>
<description>CommercePayment.com</description>
<active>0</active>
<checkout_plugin>COMMERCEPAYMENTWINDOW</checkout_plugin>
<plugin_data><![CDATA[a:1:{s:2:"id";s:0:"";}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>9999999</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:1:"1";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:1:"0";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>49</id>
<site_id>1</site_id>
<name>OptimalPayments</name>
<description>OptimalPayments</description>
<active>0</active>
<checkout_plugin>OPTIMALPAYMENTS</checkout_plugin>
<plugin_data><![CDATA[a:5:{s:4:"mode";s:1:"0";s:7:"account";s:6:"123456";s:10:"merchantId";s:4:"test";s:11:"merchantPwd";s:4:"test";s:9:"card_type";a:4:{i:0;s:4:"visa";i:1;s:2:"mc";i:2;s:4:"amex";i:3;s:8:"discover";}}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>9999999</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:1:"1";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:0:"";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>50</id>
<site_id>1</site_id>
<name>SkipJack</name>
<description>Cards...</description>
<active>0</active>
<checkout_plugin>SKIPJACK</checkout_plugin>
<plugin_data><![CDATA[a:3:{s:4:"mode";s:1:"0";s:7:"account";s:0:"";s:9:"card_type";a:4:{i:0;s:4:"visa";i:1;s:2:"mc";i:2;s:4:"amex";i:3;s:8:"discover";}}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>999999</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:1:"1";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:0:"";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>51</id>
<site_id>1</site_id>
<name>PayFuse</name>
<description>Checkout with creditcard</description>
<active>0</active>
<checkout_plugin>PAYFUSE</checkout_plugin>
<plugin_data><![CDATA[a:5:{s:4:"mode";s:3:"100";s:4:"name";s:3:"IDA";s:8:"password";s:5:"IDA01";s:5:"alias";s:24:"IndependentDigitalArtist";s:9:"card_type";a:4:{i:0;s:4:"visa";i:1;s:2:"mc";i:2;s:4:"amex";i:3;s:8:"discover";}}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>99999</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:1:{i:0;s:1:"1";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:0:"";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout>
<id>52</id>
<site_id>1</site_id>
<name>Protx</name>
<description>Protx</description>
<active>1</active>
<checkout_plugin>PROTX</checkout_plugin>
<plugin_data><![CDATA[a:3:{s:4:"mode";s:1:"0";s:7:"account";s:0:"";s:9:"card_type";a:4:{i:0;s:4:"visa";i:1;s:2:"mc";i:2;s:4:"amex";i:3;s:8:"discover";}}]]></plugin_data>
<allow_recurring>1</allow_recurring>
<allow_new>1</allow_new>
<allow_trial>1</allow_trial>
<total_minimum>0.01</total_minimum>
<total_maximum>999999</total_maximum>
<max_decline_attempts>0</max_decline_attempts>
<manual_approval_all>0</manual_approval_all>
<manual_approval_recur>0</manual_approval_recur>
<manual_approval_country><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_country>
<manual_approval_group><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_group>
<manual_approval_amount>0</manual_approval_amount>
<manual_approval_currency><![CDATA[a:1:{i:0;s:0:"";}]]></manual_approval_currency>
<default_when_currency><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_currency>
<default_when_country><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_country>
<default_when_group><![CDATA[a:1:{i:0;s:0:"";}]]></default_when_group>
<default_when_amount>0</default_when_amount>
<allowed_currencies><![CDATA[a:2:{i:0;s:1:"4";i:1;s:1:"1";}]]></allowed_currencies>
<required_groups><![CDATA[a:1:{i:0;s:0:"";}]]></required_groups>
<excluded_products><![CDATA[a:1:{i:0;s:0:"";}]]></excluded_products>
</checkout>
<checkout_id>
<id>52</id>
</checkout_id>
</install>