* @package AgileBill
* @version 1.4.93
*/
include_once(PATH_MODULES.'checkout/base_checkout_plugin.class.php');
class plg_chout_PAYFUSE extends base_checkout_plugin
{
# Get the config values for this checkout plugin:
function plg_chout_PAYFUSE($checkout_id=false) {
$this->name = 'PAYFUSE';
$this->type = 'gateway'; // redirect, gateway, or other
$this->recurr_only = false;
$this->checkout_id = $checkout_id;
$this->support_cur = Array ('USD');
$this->getDetails($checkout_id);
}
# 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) {
# Validate currency
if(!$this->validate_currency($currency_iso)) return false;
$ret=false;
if(!$this->validate_card_details($ret)) return false;
# Get the country
$country = $this->getCountry('name', $this->account["country_id"]);
# Test Transaction
if($this->cfg['mode'] == "0") {
$this->host = 'test5x.clearcommerce.com:11500';
$mode = 'Y';
} else {
$mode = 'P';
$this->host = 'xmlic.payfuse.com';
}
$xml = "
'; print_r($arr); print_r($response); exit; */ # Transaction Status: $str = 'CcErrCode DataType="S32"'; if ($arr["$str"] == '1') $ret['status'] = 1; else $ret['status'] = 0; # AVS: $str = 'FraudResult DataType="String"'; @$ret['avs'] = @$arr["$str"]; # Message: $str = 'CcReturnMsg DataType="String"'; @$ret['msg'] = @$arr["$str"]; # Transaction ID $str = 'TransactionId DataType="String"'; @$ret['transaction_id'] = $arr["$str"]; if($ret['status'] == 1) { return $ret; } else { global $VAR; @$VAR['msg']=$ret["msg"]; return false; } } # Stores new billing details, & return account_billing_id (gateway only) function store_billing($VAR, $account=SESS_ACCOUNT) { return $this->saveCreditCardDetails($VAR); } # 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; } } ?>