Miscellaneous Code
  Home arrow Miscellaneous Code arrow ECHO PHP Version 1.5
Codewalker Forums 
  Tutorials  
Database Articles  
Miscellaneous  
Navigation Usability  
PEAR Articles  
Programming Basics  
Server Administration  
XML Tutorials  
  Reviews  
Database Book Reviews  
Linux Book Reviews  
Miscellaneous Reviews  
PHP Book Reviews  
PHP Software Reviews  
Server Admin Reviews  
SQL Tool Reviews  
  Code Gallery  
Content Management Code  
Contest Code  
Counters Code  
Database Code  
Date Time Code  
Discussion Board Code  
Email Code  
File Manipulation Code  
GUI Code  
Link Farm Code  
Miscellaneous Code  
Search Code  
Site Navigation Code  
User Management Code  
Mobile Linux 
App Generation ROI 
IBM® developerWorks 
Download TestComplete 
Forums Sitemap 
Weekly Newsletter 
 
Developer Updates  
Free Website Content 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us Get Paid 
Request Media Kit
Contact Us 
Site Map 
Privacy Policy 
Support 
 USERNAME
 
 PASSWORD
 
 
  >>> SIGN UP!  
  Lost Password? 
MISCELLANEOUS CODE

ECHO PHP Version 1.5
By: Codewalkers
  • Search For More Articles!
  • Disclaimer
  • Author Terms
  • Rating: 5 stars5 stars5 stars5 stars5 stars / 1
    2002-06-13

    Table of Contents:

    Rate this Article: Poor Best 
      ADD THIS ARTICLE TO:
      Del.ici.ous Digg
      Blink Simpy
      Google Spurl
      Y! MyWeb Furl
    Email Me Similar Content When Posted
    Add Developer Shed Article Feed To Your Site
    Email Article To Friend
    Print Version Of Article
    PDF Version Of Article
     
     
    ADVERTISEMENT


    The new ECHO-PHP Class is now available. ECHO-PHP Class drives all types of real-time credit card and check transactions using ECHO merchant processing’s free secure payment gateway and open-source real-time software. Supports system check, address verification, authorization and deposit, deposit, credit, commercial card, electronic check debit, and more. The new ECHO-PHP Class makes it easier than ever to connect to ECHO using this popular server-side, cross-platform, HTML embedded scripting language. Ideal for all commerce applications. Perfect for ISP/IPPs to use for billing their clients, since this supports electronic checks as well.

    By : openecho

    <?php

    /*==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-*/
    // //
    // Name: ECHOPHP v1.5.3 03-12-2002 //
    // Description: PHP Class used to interface with //
    // ECHO (http://www.echo-inc.com). //
    // Requirements: cURL - http://curl.haxx.se/ //
    // OpenSSL - http://www.openssl.org //
    // Refer to ECHO's documentation for more info //
    // https://wwws.echo-inc.com //
    // 03-12-2002 - added ec_transaction_dt //
    // 01-16-2002 - fixed ec_account_type (typo) //
    // 01-10-2002 - Added ec_account_type and ec_payment_type //
    // for Alex ;-) //
    // New to this version are the CyberSource return values: //
    // cs_factors, cs_flags, cs_host_score, cs_reference_number, //
    // cs_response, cs_score, cs_status. //
    // The ECHO gateway now support CyberSource transaction //
    // types: CI, CE, CB. //
    // //
    /*==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-==-*/


    class EchoPHP {
    var $order_type;
    var $transaction_type;
    var $merchant_echo_id;
    var $merchant_pin;
    var $isp_echo_id;
    var $isp_pin;
    var $authorization;
    var $billing_ip_address;
    var $billing_prefix;
    // as of v1.5 billing_name is no longer being
    // used by ECHO use billing_first_name,
    // billing_last_name, and billing_company_name instead
    var $billing_name;
    var $billing_first_name;
    var $billing_last_name;
    var $billing_company_name;
    var $billing_address1;
    var $billing_address2;
    var $billing_city;
    var $billing_state;
    var $billing_zip;
    var $billing_country;
    var $billing_phone;
    var $billing_fax;
    var $billing_email;
    var $cc_number;
    var $ccexp_month;
    var $ccexp_year;
    var $counter;
    var $debug;
    var $ec_account;
    var $ec_account_type;
    var $ec_payment_type;
    var $ec_address1;
    var $ec_address2;
    var $ec_bank_name;
    var $ec_business_acct;
    var $ec_city;
    var $ec_email;
    var $ec_first_name;
    var $ec_id_country;
    var $ec_id_exp_mm;
    var $ec_id_exp_dd;
    var $ec_id_exp_yy;
    var $ec_id_number;
    var $ec_id_state;
    var $ec_id_type;
    var $ec_last_name;
    var $ec_merchant_ref;
    var $ec_nbds_code;
    var $ec_other_name;
    var $ec_payee;
    var $ec_rt;
    var $ec_serial_number;
    var $ec_state;
    var $ec_transaction_dt;
    var $ec_zip;
    var $grand_total;
    var $merchant_email;
    var $merchant_trace_nbr;
    var $original_amount;
    var $original_trandate_mm;
    var $original_trandate_dd;
    var $original_trandate_yyyy;
    var $original_reference;
    var $order_number;
    var $shipping_flag;
    var $status;
    var $shipping_prefix;
    var $shipping_name;
    var $shipping_address1;
    var $shipping_address2;
    var $shipping_city;
    var $shipping_state;
    var $shipping_zip;
    var $shipping_comments;
    var $shipping_country;
    var $shipping_phone;
    var $shipping_fax;
    var $shipper;
    var $shipper_tracking_nbr;
    var $track1;
    var $track2;
    var $EchoResponse;
    var $echotype1;
    var $echotype2;
    var $echotype3;
    var $openecho;
    var $avs_result;
    var $athorization;
    var $reference;
    var $EchoSuccess;
    var $cnp_recurring;
    var $cnp_security;
    var $security_result;
    var $mac;
    var $cs_factors;
    var $cs_flag;
    var $cs_host_score;
    var $cs_reference_number;
    var $cs_response;
    var $cs_score;
    var $cs_status;

    function Submit() {

    if ($this->EchoServer) {
    $URL = $this->EchoServer;
    } else {
    $URL = "https://wwws.echo-inc.com/scripts/INR200.EXE";
    }

    $this->EchoResponse = "";

    $data = $this->getURLData();

    $ch = curl_init();
    curl_setopt ($ch, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt ($ch, CURLOPT_URL, $URL);
    curl_setopt ($ch, CURLOPT_POST, $data);
    curl_setopt ($ch, CURLOPT_POSTFIELDS, $data);
    $this->EchoResponse = curl_exec ($ch);
    curl_close ($ch);


    $startpos = strpos($this->EchoResponse, "<ECHOTYPE1>") + 11;
    $endpos = strpos($this->EchoResponse, "</ECHOTYPE1>");
    $this->echotype1 = substr($this->EchoResponse, $startpos, $endpos - $startpos);

    $startpos = strpos($this->EchoResponse, "<ECHOTYPE2>") + 11;
    $endpos = strpos($this->EchoResponse, "</ECHOTYPE2>");
    $this->echotype2 = substr($this->EchoResponse, $startpos, $endpos - $startpos);

    $startpos = strpos($this->EchoResponse, "<ECHOTYPE3>") + 11;
    $endpos = strpos($this->EchoResponse, "</ECHOTYPE3>");
    $this->echotype3 = substr($this->EchoResponse, $startpos, $endpos - $startpos);

    if (strpos($this->EchoResponse, "<OPENECHO>")) {
    $startpos = strpos($this->EchoResponse, "<OPENECHO>") + 10;
    $endpos = strpos($this->EchoResponse, "</OPENECHO>");
    $this->openecho = substr($this->EchoResponse, $startpos, $endpos - $startpos);
    }

    // Get all the metadata.
    $this->auth_code = $this->GetEchoProp($this->echotype3, "auth_code");
    $this->order_number = $this->GetEchoProp($this->echotype3, "order_number");
    $this->reference = $this->GetEchoProp($this->echotype3, "echo_reference");
    $this->status = $this->GetEchoProp($this->echotype3, "status");
    $this->avs_result = $this->GetEchoProp($this->echotype3, "avs_result");
    $this->security_result = $this->GetEchoProp($this->echotype3, "security_result");
    $this->mac = $this->GetEchoProp($this->echotype3, "mac");
    $this->cs_factors = $this->GetEchoProp($this->echotype3, "cs_factors");
    $this->cs_flag = $this->GetEchoProp($this->echotype3, "cs_flag");
    $this->cs_host_score = $this->GetEchoProp($this->echotype3, "cs_host_score");
    $this->cs_reference_number = $this->GetEchoProp($this->echotype3, "cs_reference_number");
    $this->cs_response = $this->GetEchoProp($this->echotype3, "cs_response");
    $this->cs_score = $this->GetEchoProp($this->echotype3, "cs_score");
    $this->cs_status = $this->GetEchoProp($this->echotype3, "cs_status");


    if ($this->transaction_type == "AD") {
    if ($this->avs_result == "X" or $this->avs_result == "Y") {
    $this->EchoSuccess = true;
    } else {
    $this->EchoSuccess = false;
    }
    } else {
    $this->EchoSuccess = !($this->status == "D");
    }


    if ($this->EchoResponse == "") {
    $this->EchoSuccess = False;
    }

    // make sure we assign an integer to EchoSuccess
    ($this->EchoSuccess == true) ? ($this->EchoSuccess = true) : ($this->EchoSuccess = false);

    return $this->EchoSuccess;



    } // function submit


    function getURLData() {
    $s .=
    "order_type=" . $this->order_type .
    "&transaction_type=" . $this->transaction_type .
    "&merchant_echo_id=" . $this->merchant_echo_id .
    "&merchant_pin=" . $this->merchant_pin .
    "&isp_echo_id=" . $this->isp_echo_id .
    "&isp_pin=" . $this->isp_pin .
    "&authorization=" . $this->authorization .
    "&billing_ip_address=" . $this->billing_ip_address .
    "&billing_prefix=" . $this->billing_prefix .
    "&billing_name=" . $this->billing_name .
    "&billing_first_name=" . $this->billing_first_name .
    "&billing_last_name=" . $this->billing_last_name .
    "&billing_company_name=" . $this->billing_company_name .
    "&billing_address1=" . $this->billing_address1 .
    "&billing_address2=" . $this->billing_address2 .
    "&billing_city=" . $this->billing_city .
    "&billing_state=" . $this->billing_state .
    "&billing_zip=" . $this->billing_zip .
    "&billing_country=" . $this->billing_country .
    "&billing_phone=" . $this->billing_phone .
    "&billing_fax=" . $this->billing_fax .
    "&billing_email=" . $this->billing_email .
    "&cc_number=" . $this->cc_number .
    "&ccexp_month=" . $this->ccexp_month .
    "&ccexp_year=" . $this->ccexp_year .
    "&counter=" . $this->counter .
    "&debug=" . $this->debug;
    if (($this->transaction_type == "DD") ||
    ($this->transaction_type == "DC") ||
    ($this->transaction_type == "DV")) {
    $s .=
    "&ec_account=" . $this->ec_account .
    "&ec_account_type=" . $this->ec_account_type .
    "&ec_payment_type=" . $this->ec_payment_type .
    "&ec_address1=" . $this->ec_address1 .
    "&ec_address2=" . $this->ec_address2 .
    "&ec_bank_name=" . $this->ec_bank_name .
    "&ec_business_acct=" . $this->ec_business_acct .
    "&ec_city=" . $this->ec_city .
    "&ec_email=" . $this->ec_email .
    "&ec_first_name=" . $this->ec_first_name .
    "&ec_id_country=" . $this->ec_id_country .
    "&ec_id_exp_mm=" . $this->ec_id_exp_mm .
    "&ec_id_exp_dd=" . $this->ec_id_exp_dd .
    "&ec_id_exp_yy=" . $this->ec_id_exp_yy .
    "&ec_id_number=" . $this->ec_id_number .
    "&ec_id_state=" . $this->ec_id_state .
    "&ec_id_type=" . $this->ec_id_type .
    "&ec_last_name=" . $this->ec_last_name .
    "&ec_merchant_ref=" . $this->ec_merchant_ref .
    "&ec_nbds_code=" . $this->ec_nbds_code .
    "&ec_other_name=" . $this->ec_other_name .
    "&ec_payee=" . $this->ec_payee .
    "&ec_rt=" . $this->ec_rt .
    "&ec_serial_number=" . $this->ec_serial_number .
    "&ec_state=" . $this->ec_state .
    "&ec_transaction_dt=" . $this->ec_transaction_dt .
    "&ec_zip=" . $this->ec_zip;
    }

    $s .=
    "&grand_total=" . $this->grand_total .
    "&merchant_email=" . $this->merchant_email .
    "&merchant_trace_nbr=" . $this->merchant_trace_nbr .
    "&original_amount=" . $this->original_amount .
    "&original_trandate_mm=" . $this->original_trandate_mm .
    "&original_trandate_dd=" . $this->original_trandate_dd .
    "&original_trandate_yyyy=" . $this->original_trandate_yyyy .
    "&original_reference=" . $this->original_reference .
    "&order_number=" . $this->order_number .
    "&shipping_flag=" . $this->shipping_flag .
    "&shipping_prefix=" . $this->shipping_prefix .
    "&shipping_name=" . $this->shipping_name .
    "&shipping_address1=" . $this->shipping_address1 .
    "&shipping_address2=" . $this->shipping_address2 .
    "&shipping_city=" . $this->shipping_city .
    "&shipping_state=" . $this->shipping_state .
    "&shipping_zip=" . $this->shipping_zip .
    "&shipping_comments=" . $this->shipping_comments .
    "&shipping_country=" . $this->shipping_country .
    "&shipping_phone=" . $this->shipping_phone .
    "&shipping_fax=" . $this->shipping_fax .
    "&shipper=" . $this->shipper .
    "&shipper_tracking_nbr=" . $this->shipper_tracking_nbr .
    "&track1=" . $this->track1 .
    "&cnp_security=" . $this->cnp_security .
    "&cnp_recurring=" . $this->cnp_recurring;

    return $s;

    } // end getURLData



    /**********************************************
    All the get/set methods for the echo properties
    ***********************************************/
    function set_order_type($value) {
    $this->order_type = $value;
    }

    function get_order_type() {
    return $this->order_type;
    }

    function set_transaction_type($value) {
    $this->transaction_type = $value;
    }

    function get_transaction_type() {
    return $this->transaction_type;
    }

    function set_merchant_echo_id($value) {
    $this->merchant_echo_id = urlencode($value);
    }

    function get_merchant_echo_id() {
    return $this->merchant_echo_id;
    }

    function set_merchant_pin($value) {
    $this->merchant_pin = urlencode($value);
    }

    function get_merchant_pin() {
    return $this->merchant_pin;
    }


    function set_isp_echo_id($value) {
    $this->isp_echo_id = urlencode($value);
    }

    function get_isp_echo_id() {
    return $this->isp_echo_id;
    }

    function set_isp_pin($value) {
    $this->isp_pin = urlencode($value);
    }

    function get_isp_pin() {
    return $this->isp_pin;
    }

    function set_authorization($value) {
    $this->authorization = $value;
    }

    function get_authorization() {
    return $this->authorization;
    }

    function set_billing_ip_address($value) {
    $this->billing_ip_address = $value;
    }

    function get_billing_ip_address() {
    return $this->billing_ip_address;
    }

    function set_billing_prefix($value) {
    $this->billing_prefix = urlencode($value);
    }

    function get_billing_prefix() {
    return $this->billing_prefix;
    }

    function set_billing_name($value) {
    $this->billing_name = urlencode($value);
    }

    function get_billing_name() {
    return $this->billing_name;
    }

    function set_billing_first_name($value) {
    $this->billing_first_name = urlencode($value);
    }

    function get_billing_first_name() {
    return $this->billing_first_name;
    }
    function set_billing_last_name($value) {
    $this->billing_last_name = urlencode($value);
    }

    function get_billing_last_name() {
    return $this->billing_last_name;
    }
    function set_billing_company_name($value) {
    $this->billing_company_name = urlencode($value);
    }

    function get_billing_company_name() {
    return $this->billing_company_name;
    }


    function set_billing_address1($value) {
    $this->billing_address1 = urlencode($value);
    }

    function get_billing_address1() {
    return $this->billing_address1;
    }

    function set_billing_address2($value) {
    $this->billing_address2 = urlencode($value);
    }

    function get_billing_address2() {
    return $this->billing_address2;
    }

    function set_billing_city($value) {
    $this->billing_city = urlencode($value);
    }

    function get_billing_city() {
    return $this->billing_city;
    }

    function set_billing_state($value) {
    $this->billing_state = urlencode($value);
    }

    function get_billing_state() {
    return $this->billing_state;
    }

    function set_billing_zip($value) {
    $this->billing_zip = urlencode($value);
    }

    function get_billing_zip() {
    return $this->billing_zip;
    }

    function set_billing_country($value) {
    $this->billing_country = urlencode($value);
    }

    function get_billing_country() {
    return $this->billing_country;
    }

    function set_billing_phone($value) {
    $this->billing_phone = urlencode($value);
    }

    function get_billing_phone() {
    return $this->billing_phone;
    }

    function set_billing_fax($value) {
    $this->billing_fax = urlencode($value);
    }

    function get_billing_fax() {
    return $this->billing_fax;
    }

    function set_billing_email($value) {
    $this->billing_email = urlencode($value);
    }

    function get_billing_email() {
    return $this->billing_email;
    }

    function set_cc_number($value) {
    $this->cc_number = urlencode($value);
    }

    function get_cc_number() {
    return $this->cc_number;
    }

    function set_ccexp_month($value) {
    $this->ccexp_month = $value;
    }

    function get_ccexp_month() {
    return $this->ccexp_month;
    }

    function set_ccexp_year($value) {
    $this->ccexp_year = $value;
    }

    function get_ccexp_year() {
    return $this->ccexp_year;
    }

    function set_counter($value) {
    $this->counter = $value;
    }

    function get_counter() {
    return $this->counter;
    }

    function set_debug($value) {
    $this->debug = $value;
    }

    function get_debug() {
    return $this->debug;
    }

    function set_ec_account($value) {
    $this->ec_account = urlencode($value);
    }

    function get_ec_account() {
    return $this->ec_account;
    }

    function set_ec_account_type($value) {
    $this->ec_account_type = urlencode($value);
    }

    function get_ec_account_type() {
    return $this->ec_account_type;
    }

    function set_ec_payment_type($value) {
    $this->ec_payment_type = urlencode($value);
    }

    function get_ec_payment_type() {
    return $this->ec_payment_type;
    }

    function set_ec_address1($value) {
    $this->ec_address1 = urlencode($value);
    }


    function set_ec_address1($value) {
    $this->ec_address1 = urlencode($value);
    }

    function set_ec_address1($value) {
    $this->ec_address1 = urlencode($value);
    }


    function get_ec_address1() {
    return $this->ec_address1;
    }

    function set_ec_address2($value) {
    $this->ec_address2 = urlencode($value);
    }

    function get_ec_address2() {
    return $this->ec_address2;
    }

    function set_ec_bank_name($value) {
    $this->ec_bank_name = urlencode($value);
    }

    function get_ec_bank_name() {
    return $this->ec_bank_name;
    }

    function set_ec_business_acct($value) {
    $this->ec_business_acct = urlencode($value);
    }

    function get_ec_business_acct() {
    return $this->ec_business_acct;
    }

    function set_ec_city($value) {
    $this->ec_city = $value;
    }

    function get_ec_city() {
    return $this->ec_city;
    }

    function set_ec_email($value) {
    $this->ec_email = urlencode($value);
    }

    function get_ec_email() {
    return $this->ec_email;
    }

    function set_ec_first_name($value) {
    $this->ec_first_name = urlencode($value);
    }

    function get_ec_first_name() {
    return $this->ec_first_name;
    }

    function set_ec_id_country($value) {
    $this->ec_id_country = urlencode($value);
    }

    function get_ec_id_country() {
    return $this->ec_id_country;
    }

    function set_ec_id_exp_mm($value) {
    $this->ec_id_exp_mm = $value;
    }

    function get_ec_id_exp_mm() {
    return $this->ec_id_exp_mm;
    }

    function set_ec_id_exp_dd($value) {
    $this->ec_id_exp_dd = $value;
    }

    function get_ec_id_exp_dd() {
    return $this->ec_id_exp_dd;
    }

    function set_ec_id_exp_yy($value) {
    $this->ec_id_exp_yy = $value;
    }

    function get_ec_id_exp_yy() {
    return $this->ec_id_exp_yy;
    }

    function set_ec_id_number($value) {
    $this->ec_id_number = urlencode($value);
    }

    function get_ec_id_number() {
    return $this->ec_id_number;
    }

    function set_ec_id_state($value) {
    $this->ec_id_state = urlencode($value);
    }

    function get_ec_id_state() {
    return $this->ec_id_state;
    }

    function set_ec_id_type($value) {
    $this->ec_id_type = $value;
    }

    function get_ec_id_type() {
    return $this->ec_id_type;
    }

    function set_ec_last_name($value) {
    $this->ec_last_name = urlencode($value);
    }

    function get_ec_last_name() {
    return $this->ec_last_name;
    }

    function set_ec_merchant_ref($value) {
    $this->ec_merchant_ref = $value;
    }

    function get_ec_merchant_ref() {
    return $this->ec_merchant_ref;
    }

    function set_ec_nbds_code($value) {
    $this->ec_nbds_code = $value;
    }

    function get_ec_nbds_code() {
    return $this->ec_nbds_code;
    }

    function set_ec_other_name($value) {
    $this->ec_other_name = urlencode($value);
    }

    function get_ec_other_name() {
    return $this->ec_other_name;
    }

    function set_ec_payee($value) {
    $this->ec_payee = urlencode($value);
    }

    function get_ec_payee() {
    return $this->ec_payee;
    }

    function set_ec_rt($value) {
    $this->ec_rt = urlencode($value);
    }

    function get_ec_rt() {
    return $this->ec_rt;
    }

    function set_ec_serial_number($value) {
    $this->ec_serial_number = urlencode($value);
    }

    function get_ec_serial_number() {
    return $this->ec_serial_number;
    }

    function set_ec_state($value) {
    $this->ec_state = urlencode($value);
    }

    function get_ec_state() {
    return $this->ec_state;
    }


    function set_ec_transaction_dt($value) {
    $this->ec_transaction_dt = urlencode($value);
    }

    function get_ec_transaction_dt() {
    return $this->ec_transaction_dt;
    }


    function set_ec_zip($value) {
    $this->ec_zip = urlencode($value);
    }

    function get_ec_zip() {
    return $this->ec_zip;
    }

    function set_grand_total($value) {
    $this->grand_total = sprintf("%01.2f", $value);
    }

    function get_grand_total() {
    return $this->grand_total;
    }

    function set_merchant_email($value) {
    $this->merchant_email = urlencode($value);
    }

    function get_merchant_email() {
    return $this->merchant_email;
    }

    function set_merchant_trace_nbr($value) {
    $this->merchant_trace_nbr = $value;
    }

    function get_merchant_trace_nbr() {
    return $this->merchant_trace_nbr;
    }

    function set_original_amount($value) {
    $this->original_amount = sprintf("%01.2f", $value);
    }

    function get_original_amount() {
    return $this->original_amount;
    }

    function set_original_trandate_mm($value) {
    $this->original_trandate_mm = $value;
    }

    function get_original_trandate_mm() {
    return $this->original_trandate_mm;
    }

    function set_original_trandate_dd($value) {
    $this->original_trandate_dd = $value;
    }

    function get_original_trandate_dd() {
    return $this->original_trandate_dd;
    }

    function set_original_trandate_yyyy($value) {
    $this->original_trandate_yyyy = $value;
    }

    function get_original_trandate_yyyy() {
    return $this->original_trandate_yyyy;
    }

    function set_original_reference($value) {
    $this->original_reference = $value;
    }

    function get_original_reference() {
    return $this->original_reference;
    }

    function set_order_number($value) {
    $this->order_number = $value;
    }

    function get_order_number() {
    return $this->order_number;
    }

    function set_shipping_flag($value) {
    $this->shipping_flag = $value;
    }

    function get_shipping_flag() {
    return $this->shipping_flag;
    }

    function set_shipping_prefix($value) {
    $this->shipping_prefix = urlencode($value);
    }

    function get_shipping_prefix() {
    return $this->shipping_prefix;
    }

    function set_shipping_name($value) {
    $this->shipping_name = urlencode($value);
    }

    function get_shipping_name() {
    return $this->shipping_name;
    }

    function set_shipping_address1($value) {
    $this->shipping_address1 = urlencode($value);
    }

    function get_shipping_address1() {
    return $this->shipping_address1;
    }

    function set_shipping_address2($value) {
    $this->shipping_address2 = urlencode($value);
    }

    function get_shipping_address2() {
    return $this->shipping_address2;
    }

    function set_shipping_city($value) {
    $this->shipping_city = urlencode($value);
    }

    function get_shipping_city() {
    return $this->shipping_city;
    }

    function set_shipping_state($value) {
    $this->shipping_state = urlencode($value);
    }

    function get_shipping_state() {
    return $this->shipping_state;
    }

    function set_shipping_zip($value) {
    $this->shipping_zip = urlencode($value);
    }

    function get_shipping_zip() {
    return $this->shipping_zip;
    }

    function set_shipping_comments($value) {
    $this->shipping_comments = urlencode($value);
    }

    function get_shipping_comments() {
    return $this->shipping_comments;
    }

    function set_shipping_country($value) {
    $this->shipping_country = urlencode($value);
    }

    function get_shipping_country() {
    return $this->shipping_country;
    }

    function set_shipping_phone($value) {
    $this->shipping_phone = urlencode($value);
    }

    function get_shipping_phone() {
    return $this->shipping_phone;
    }

    function set_shipping_fax($value) {
    $this->shipping_fax = urlencode($value);
    }

    function get_shipping_fax() {
    return $this->shipping_fax;
    }

    function set_shipper($value) {
    $this->shipper = urlencode($value);
    }

    function get_shipper() {
    return $this->shipper;
    }

    function set_shipper_tracking_nbr($value) {
    $this->shipper_tracking_nbr = $value;
    }

    function get_shipper_tracking_nbr() {
    return $this->shipper_tracking_nbr;
    }

    function set_track1($value) {
    $this->track1 = urlencode($value);
    }

    function get_track1() {
    return $this->track1;
    }

    function set_track2($value) {
    $this->track2 = urlencode($value);
    }

    function get_track2() {
    return $this->track2;
    }

    function set_cnp_recurring($value) {
    $this->cnp_recurring = $value;
    }

    function set_cnp_security($value) {
    $this->cnp_security = $value;
    }


    /************************************************
    Helper functions
    ************************************************/

    function get_version() {
    return "ECHOPHP 1.5.3 03/12/2002";
    }

    function getRandomCounter() {
    mt_srand ((double) microtime() * 1000000);
    return mt_rand();
    }

    function get_EchoResponse() {
    return $this->EchoResponse;
    }

    function get_echotype1() {
    return $this->echotype1;
    }

    function get_echotype2() {
    return $this->echotype2;
    }

    function get_echotype3() {
    return $this->echotype3;
    }

    function get_openecho() {
    return $this->openecho;
    }

    function set_EchoServer($value) {
    $this->EchoServer = $value;
    }

    function get_authorization() {
    return $this->authorization;
    }


    function get_avs_result() {
    return $this->avs_result;
    }

    function get_reference() {
    return $this->reference;
    }

    function get_order_number() {
    return $this->order_number;
    }

    function get_EchoSuccess() {
    return $this->EchoSuccess;
    }

    function get_status() {
    return $this->status;
    }


    function get_security_result() {
    return $this->GetEchoProp($this->echotype3, "security_result");
    }

    function get_mac() {
    return $this->GetEchoProp($this->echotype3, "mac");
    }

    function GetEchoProp($haystack, $prop) {
    // prepend garbage in case the property
    // starts at position 0 .. I know, there's a better way
    // to do this, right?
    $haystack = "garbage" . $haystack;

    if ($start_pos = strpos(strtolower($haystack), "<$prop>")) {
    $start_pos = strpos(strtolower($haystack), "<$prop>") + strlen("<$prop>");
    $end_pos = strpos(strtolower($haystack), "</$prop");
    return substr($haystack, $start_pos, $end_pos - $start_pos);
    } else {
    return "";
    }
    }

    } // end of class
    ?>



    DISCLAIMER: The content provided in this article is not warranted or guaranteed by Developer Shed, Inc. The content provided is intended for entertainment and/or educational purposes in order to introduce to the reader key ideas, concepts, and/or product reviews. As such it is incumbent upon the reader to employ real-world tactics for security and implementation of best practices. We are not liable for any negative consequences that may result from implementing any information covered in our articles or tutorials. If this is a hardware review, it is not recommended to open and/or modify your hardware.

    More Miscellaneous Code Articles
    More By Codewalkers

     

    IBM® developerWorks developerWorks - FREE Tools!


    NEW! Trial download: IBM Informix Dynamic Server Express Edition V11.0

    Informix Dynamic Server (IDS) Express Edition offers outstanding online transaction processing (OLTP) database performance, while helping to simplify and automate many of the tasks associated with deploying databases for small business applications. IDS 11 further extends the ease of management and applications integration with the Admin API and Scheduler, high availability with Continuous Log Restore for backup server recovery in case of a primary server failure, and column level encryption to protect personal and company private data.
    FREE! Go There Now!


    NEW! Maintaining QoS and Process Integrity in an SOA Environment

    This webcast outlines the best practices that must be instituted to gain the maximum benefit from SOA while maintaining high quality of service. Whether you are deploying new applications or managing and monitoring your existing infrastructure, learn how you can ensure high quality of services with SOA based solutions from IBM. All registrants who attend this live Web Seminar will receive complimentary access to a white paper titled “Maintaining QoS in an SOA Environment”.
    FREE! Go There Now!


    NEW! IBM Enterprise Modernization Sandbox for System z: Architecture

    Analysts, architects, and developers who have existing COBOL or PL/I skills and want to extend those skills to deploy new workloads on the mainframe can use the IBM Enterprise Modernization Sandbox for System z to find hands-on walkthroughs of common real world scenarios. The scenarios provide examples of how to rapidly design, create, assemble, test, and deploy high-quality Web, Web services, portal, and SOA applications for IBM CICS, IBM IMS, and IBM WebSphere Application Server.
    FREE! Go There Now!


    NEW! Webcast: Eclipse: Empowering the universal platform

    The Eclipse community is constantly working to extend Eclipse's functionality. In this webcast, learn about some of the most important and feature-rich projects under development. From multi-language support to plug-in development, tune in to see what Eclipse is capable of now.
    FREE! Go There Now!


    NEW! Addressing software-as-a-service challenges using Tivoli security and WebSphere solutions

    Building a software-as-a-service solution requires addressing a few key technical challenges. In this webcast, we'll focus on the role of IBM Tivoli Directory Server and WebSphere Portlet Factory in creating a Software as a Service solution. We will demonstrate how to use Tivoli Directory Server to prevent the user population of one tenant from accessing the virtual portal and portlet components of another tenant. We will also use the dynamic profile capability of WebSphere Portlet Factory to create multiple highly customized applications from one code base.
    FREE! Go There Now!


    NEW! Evaluate Rational Host Access Transformation Services (HATS) Toolkit V7.1

    Visit IBM developerWorks to download a free trial of the Rational Host Access Transformation Services (HATS) Toolkit. The HATS toolkit provides a set of plug-ins for the IBM Rational Software Delivery Platform to help you easily extend your legacy applications. HATS makes your 3270 and 5250 applications available as HTML through the most popular Web browsers, while converting your host screens to a Web look and feel and it also enables you to develop new Web, portal, and rich-client applications.
    FREE! Go There Now!


    Role of Integrated Requirements Management in Software Delivery

    As organizations integrate software into every aspect of business, they are constantly pressured to deliver faster, better, and cheaper results. Unfortunately, a “dis-integrated” software delivery approach reduces returns while increasing costs. This IBM Rational White Paper shows how Integrated Requirements Management aligns organizations around maximizing value and keeping pace with change.
    FREE! Go There Now!


    NEW! Trial download: IBM Lotus Forms V3.0

    Get a free trial download of IBM Lotus Forms V3.0 (formerly Workplace Forms), which provides a zero-footprint eForms solution to help you automate and move forms-based business processes off the desktop and onto the Web. With Lotus Forms, you can extend applications beyond the firewall by creating a single electronic form document ready for use in both thick and Web 2.0 thin client format.
    FREE! Go There Now!


    NEW! Discovering the value of WebSphere Process Server

    WebSphere Process Server delivers a unique integration framework that simplifies existing IT resources. Often, as IT assets grow to support business demand, so too does their complexity and manageability. In this webcast, we’ll discuss how WebSphere Process Server helps deliver an SOA infrastructure that provides a common model to orchestrate, mediate, connect, map, and execute the underlying IT functions. Discover how WebSphere Process Server simplifies integration of business processes by leveraging existing IT assets as reusable services without the complexities of traditional integration methodologies.
    FREE! Go There Now!


    NEW! Download the free Web Application Security eKit

    Discover how IBM Rational AppScan Standard Edition can help you detext vulnerabilities in your web applications in the Web Application Security eKit. IBM Rational AppScan is a leading suite of automated web application security solutions that scan and test for common Web application vulnerabilities. The new Web Application Security eKit provides you with valuable resources, including white papers, demos, and additional information on the benefits of testing your Web applications.
    FREE! Go There Now!



    All FREE IBM® developerWorks Tools!

    MISCELLANEOUS CODE ARTICLES

    - A Web App Based on a Model for the CodeIgnit...
    - Completing a Model for the CodeIgniter PHP F...
    - Validating Input Data with the CodeIgniter P...
    - Deleting Database Records with the CodeIgnit...
    - Inserting Database Records with a CodeIgnite...
    - Fetching Database Rows with a Model for the ...
    - Model Data and Validation Rules for a Generi...
    - Building a Generic Model for the CodeIgniter...
    - upload image to database sql
    - Random Password Generator
    - BCroot, get the root of a number with BC fun...
    - Find pi in a high precision
    - [PHP5] FORMCHECKER : data validation
    - SPL and ITERATOR : examples
    - Xml with Rss Feeds





    © 2003-2009 by Developer Shed. All rights reserved. DS Cluster 2 Hosted by Hostway
    For more Enterprise Application Development news, visit eWeek