<?php
// Pull in the AuthorizeNet code
require_once($master_config_root_path . "shared/anet_php_sdk/AuthorizeNet.php");

define("AUTHORIZENET_API_LOGIN_ID", "7gkZC87R");
define("AUTHORIZENET_API_TRANSACTION_KEY", "6n597SVaGehe4N9B");

//for AuthorizeNet SDK
define("AUTHORIZENET_SANDBOX", false);

function authorizenet_capture($amount, $card_number, $exp_month, $exp_year){
    $result = array('success'=>false, 'message'=>'');
    
    $sale = new AuthorizeNetAIM;
    //$sale = new AuthorizeNetAIM("7gkZC87R","8N5GR86bv4T6C7p7");
    $sale = new AuthorizeNetAIM(AUTHORIZENET_API_LOGIN_ID, AUTHORIZENET_API_TRANSACTION_KEY);    
    //$sale->setSandbox(false);
    
    $sale->amount = $amount;
    $sale->card_num = $card_number;
    $exp_date = $exp_month;    
    if(strlen($exp_year)==4) $exp_date .= substr($exp_year, 2) ;
    else $exp_date .= $exp_year;    
    $sale->exp_date = $exp_date;
    
    $response = $sale->authorizeAndCapture(); 
    //test('response', $response);
    
    $result['message'] = $response->response_reason_text;    
    
    if($response->approved == 1){
        $result['success'] = true;        
        $result['TransactionID'] = $response->transaction_id;
        $result['ResponseCode'] = $response->response_code;
    }
    
    return $result;
}


function authorizenet_refund($transaction_id, $amount, $card_number, $exp_month, $exp_year){    
    $result = array('success'=>false, 'message'=>'');
    
    $sale = new AuthorizeNetAIM;    
    $sale = new AuthorizeNetAIM(AUTHORIZENET_API_LOGIN_ID, AUTHORIZENET_API_TRANSACTION_KEY); 
    
    $sale->trans_id = $transaction_id;    
    $sale->amount = $amount;
    $sale->card_num = $card_number; 
    
    $exp_date = $exp_month;    
    if(strlen($exp_year)==4) $exp_date .= substr($exp_year, 2) ;
    else $exp_date .= $exp_year;    
    $sale->exp_date = $exp_date;
    
    $response = $sale->credit(); 
    //test('response', $response);
    
    $result['message'] = $response->response_reason_text; 
    if($response->approved == 1){
        $result['success'] = true;        
        $result['TransactionID'] = $response->transaction_id;
        $result['ResponseCode'] = $response->response_code;
    }
    
    return $result;
}

?>