Business-OnlinePayment-OpenECHO

 view release on metacpan or  search on metacpan

OpenECHO.pm  view on Meta::CPAN

  "62" => [ "Restricted card", "The card has been restricted." ],
  "63" => [ "Security violation.", "The card has been restricted." ],
  "64" => [ "Original amount incorrect", "Original amount incorrect." ],
  "65" => [ "Exceeds withdrawal frequency", "The allowable number of daily transactions has been exceeded." ],
  "66" => [ "Call acquirer security, call ECHO", "Call acquirer security, call ECHO." ],
  "68" => [ "Response received too late", "Response received too late." ],
  "75" => [ "PIN tries exceeded", "The allowed number of PIN retries has been exceeded." ],
  "76" => [ "Invalid \"to\" account", "The debit account does not exist." ],
  "77" => [ "Invalid \"from\" account", "The credit account does not exist." ],
  "78" => [ "Invalid account specified (general)", "The associated card number account is invalid or does not exist." ],
  "79" => [ "Already reversed", "Already reversed." ],
  "84" => [ "Invalid authorization life cycle", "The authorization life cycle is invalid." ],
  "86" => [ "Cannot verify PIN", "Cannot verify PIN." ],
  "87" => [ "Network Unavailable", "Network Unavailable." ],
  "89" => [ "Ineligible to receive financial position information", "Ineligible to receive financial position information." ],
  "90" => [ "Cut-off in progress", "Cut-off in progress." ],
  "91" => [ "Issuer or switch inoperative", "The bank is not available to authorize this transaction." ],
  "92" => [ "Routing error", "The transaction cannot be routed to the authorizing agency." ],
  "93" => [ "Violation of law", "Violation of law." ],
  "94" => [ "Duplicate transaction", "Duplicate transaction." ],
  "95" => [ "Reconcile error", "Reconcile error." ],
  "96" => [ "System malfunction", "A system error has occurred." ],
  "98" => [ "Exceeds cash limit", "Exceeds cash limit." ],
  "1000" => [ "Unrecoverable error.", "An unrecoverable error has occurred in the ECHONLINE processing." ],
  "1001" => [ "Account closed", "The merchant account has been closed." ],
  "1002" => [ "System closed", "Services for this system are not available. (Not used by ECHONLINE)" ],
  "1003" => [ "E-Mail Down", "The e-mail function is not available. (Not used by ECHONLINE)" ],
  "1012" => [ "Invalid trans code", "The host computer received an invalid transaction code." ],
  "1013" => [ "Invalid term id", "The ECHO-ID is invalid." ],
  "1015" => [ "Invalid card number", "The credit card number that was sent to the host computer was invalid" ],
  "1016" => [ "Invalid expiry date", "The card has expired or the expiration date was invalid." ],
  "1017" => [ "Invalid amount", "The dollar amount was less than 1.00 or greater than the maximum allowed for this card." ],
  "1019" => [ "Invalid state", "The state code was invalid. (Not used by ECHONLINE)" ],
  "1021" => [ "Invalid service", "The merchant or card holder is not allowed to perform that kind of transaction" ],
  "1024" => [ "Invalid auth code", "The authorization number presented with this transaction is incorrect. (deposit transactions only)" ],
  "1025" => [ "Invalid reference number", "The reference number presented with this transaction is incorrect or is not numeric." ],
  "1029" => [ "Invalid contract number", "The contract number presented with this transaction is incorrect or is not numeric. (Not used by ECHONLINE)" ],
  "1030" => [ "Invalid inventory data", "The inventory data presented with this transaction is not ASCII \"printable\". (Not used by ECHONLINE)" ],
  "1508" => [ " ", "Invalid or missing order_type." ],
  "1509" => [ " ", "The merchant is not approved to submit this order_type." ],
  "1510" => [ " ", "The merchant is not approved to submit this transaction_type." ],
  #"1511" => [ " ", "Duplicate transaction attempt (see counterin Part I of this Specification</EM>)." ],
  "1511" => [ " ", "Duplicate transaction attempt (set counter field?)." ],
  "1599" => [ " ", "An system error occurred while validating the transaction input." ],
  "1801" => [ "Return Code \"A\"", "Address matches; ZIP does not match." ],
  "1802" => [ "Return Code \"W\"", "9-digit ZIP matches; Address does not match." ],
  "1803" => [ "Return Code \"Z\"", "5-digit ZIP matches; Address does not match." ],
  "1804" => [ "Return Codes \"U\"", "Issuer unavailable; cannot verify." ],
  "1805" => [ "Return Code \"R\"", "Retry; system is currently unable to process." ],
  "1806" => [ "Return Code \"S\" or \"G\"", "Issuer does not support AVS." ],
  "1807" => [ "Return Code \"N\"", "Nothing matches." ],
  "1808" => [ "Return Code \"E\"", "Invalid AVS only response." ],
  "1809" => [ "Return Code \"B\"", "Street address match. Postal code not verified because of incompatible formats." ],
  "1810" => [ "Return Code \"C\"", "Street address and Postal code not verified because of incompatible formats." ],
  "1811" => [ "Return Code \"D\"", "Street address match and Postal code match." ],
  "1812" => [ "Return Code \"I\"", "Address information not verified for international transaction." ],
  "1813" => [ "Return Code \"M\"", "Street address match and Postal code match." ],
  "1814" => [ "Return Code \"P\"", "Postal code match. Street address not verified because of incompatible formats." ],
  "1897" => [ "invalid response", "The host returned an invalid response." ],
  "1898" => [ "disconnect", "The host unexpectedly disconnected." ],
  "1899" => [ "timeout", "Timeout waiting for host response." ],
  "2071" => [ "Call VISA", "An authorization number from the VISA Voice Center is required to approve this transaction." ],
  "2072" => [ "Call Master Card", "An authorization number from the Master Card Voice Center is required to approve this transaction." ],
  "2073" => [ "Call Carte Blanche", "An authorization number from the Carte Blanche Voice Center is required to approve this transaction." ],
  "2074" => [ "Call Diners Club", "An authorization number from the Diners' Club Voice Center is required to approve this transaction." ],
  "2075" => [ "Call AMEX", "An authorization number from the American Express Voice Center is required to approve this transaction." ],
  "2076" => [ "Call Discover", "An authorization number from the Discover Voice Center is required to approve this transaction." ],
  "2078" => [ "Call ECHO", "The merchant must call ECHOCustomer Support for approval.or because there is a problem with the merchant's account." ],
  "2079" => [ "Call XpresscheX", "The merchant must call ECHOCustomer Support for approval.or because there is a problem with the merchant's account." ],
  "3001" => [ "No ACK on Resp", "The host did not receive an ACK from the terminal after sending the transaction response." ],
  "3002" => [ "POS NAK'd 3 Times", "The host disconnected after the terminal replied 3 times to the host response with a NAK." ],
  "3003" => [ "Drop on Wait", "The line dropped before the host could send a response to the terminal." ],
  "3005" => [ "Drop on Resp", "The line dropped while the host was sending the response to the terminal." ],
  "3007" => [ "Drop Before EOT", "The host received an ACK from the terminal but the line dropped before the host could send the EOT." ],
  "3011" => [ "No Resp to ENQ", "The line was up and carrier detected, but the terminal did not respond to the ENQ." ],
  "3012" => [ "Drop on Input", "The line disconnected while the host was receiving data from the terminal." ],
  "3013" => [ "FEP NAK'd 3 Times", "The host disconnected after receiving 3 transmissions with incorrect LRC from the terminal." ],
  "3014" => [ "No Resp to ENQ", "The line disconnected during input data wait in Multi-Trans Mode." ],
  "3015" => [ "Drop on Input", "The host encountered a full queue and discarded the input data." ],
);
for ( 9000..9999 ) {
  $error{$_} = [ "Host Error", "The host encountered an internal error and was not able to process the transaction." ]; 
}
sub error {
  my( $self, $num ) = @_;
  $num =~ s/^00(\d\d)$/$1/;
  return $num. ': '. $error{$num}[0]. ': '. $error{$num}[1];
}

1;

__END__

=head1 NAME

Business::OnlinePayment::OpenECHO - ECHO backend module for Business::OnlinePayment

=head1 SYNOPSIS

  use Business::OnlinePayment;

  ####
  # One step transaction, the simple case.
  ####

  my $tx = new Business::OnlinePayment("OpenECHO");
  $tx->content(
      type           => 'VISA',
      login          => '1234684752',
      password       => '43400210',
      action         => 'Normal Authorization',
      description    => 'Business::OnlinePayment test',
      amount         => '49.95',
      invoice_number => '100100',
      customer_id    => 'jsk',
      first_name     => 'Tofu',
      last_name      => 'Beast',
      address        => '123 Anystreet',
      city           => 'Anywhere',
      state          => 'UT',
      zip            => '84058',



( run in 1.829 second using v1.01-cache-2.11-cpan-8f98c5d2c55 )