Business-OnlinePayment-Jettis

 view release on metacpan or  search on metacpan

Jettis.pm  view on Meta::CPAN

   26 => "Database Error",
   27 => "Username Exists",
   28 => "Invalid Store Params",
   29 => "Unknown",
   30 => "Procedure",
   31 => "CC Number",
   32 => "Invalid Version",
   33 => "Invalid Country Code",
   34 => "Country Bin",
   35 => "High Fraud Country",
   36 => "Different Country IP",
   37 => "No Account",
   38 => "IP Fraud",
   39 => "Password Maintenance",
   40 => "Password Invalid Chars",
   41 => "Duplicate Membership",
   42 => "Velocity",
   43 => "Too many consecutive errors",
   44 => "Missing Password",
   45 => "Zip Code Quotes",
   46 => "State Quotes",
   47 => "Street Quotes",
   48 => "Missing Country",
   49 => "Country Invalid Chars",
   50 => "Missing Quantity",
   51 => "Quantity Invalid Chars", 
   52 => "Missing IP Address",
   53 => "Invalid IP Address",  
   54 => "Merchant Text Area Quotes",
   55 => "First Name Length",
   56 => "Last Name Length",
   57 => "Zip Length",
   58 => "City Length",
   59 => "State Length",
   60 => "Email Length",
   61 => "Address Length",
   62 => "Merch Area Length",
   63 => "Quantity Limit Per Day Exceeded",
   64 => "Amount Limit Per Day Exceeded",
   65 => "Quantity Limit Per Month Exceeded",
   66 => "Amount Limit Per Month Exceeded",
   67 => "Credit CC Num Mismatch",
   68 => "Credit Price Mismatch",
   69 => "Merch ID Mismatch",
   70 => "Credit Prod ID Mismatch",
   71 => "Invalid Bill Item ID",
   72 => "Invalid Prod ID",
   73 => "Invalid Merch ID",
   74 => "Fraud Scrubbing", 
   75 => "Already Credited",
   76 => "Credit Card BIN Exclusion",
   77 => "Email Exclusion",
   78 => "IP not reversible",
   79 => "Invalid Bill ID",
   80 => "Auth already settled",
   81 => "Invalid Account Num",
   82 => "Mail Zip Code Exclusion",
   83 => "Missing IP Code",
   84 => "Username Mismatch",
   85 => "Password Mismatch",
  101 => "Bank Timeout",
  102 => "Invalid Request",
  103 => "Incomplete",
  104 => "Memory Allocation",
  105 => "Bugcheck",
  106 => "Inhibited",
  108 => "Reject",
  110 => "CC Number",
  111 => "Expiration Date",
  112 => "Prefix",
  113 => "Amount",
  114 => "Linkdown",
  115 => "SENO",
  116 => "Merchant Number",
  117 => "Request",
  118 => "Merchant Bank Down",
  119 => "Invalid Transaction Type",
  120 => "Call Center",
  121 => "Pickup",
  122 => "Declined",
  123 => "Account Declined",
  124 => "Fraud Alert",
  125 => "Overlimit",
  126 => "Too Small",
  127 => "Pin Error",
  128 => "Card Expired",
  129 => "Bank Invalid Email",
  130 => "Batch Unbalanced",
  131 => "Batch Unopened",
  140 => "Control Invalid",
  141 => "Control Readonly",
  142 => "Control Bad",
  150 => "Duplicate Address",
  151 => "Unknown Address",
  160 => "Duplicate Merchant Number",
  161 => "Merchant Busy",
  162 => "Merchant Inhibit",
  170 => "AVS",
  171 => "AVS Unmatched Void",
  172 => "AVS Void Failure",
  180 => "Invalid IP code",
  181 => "Invalid CVV2",
  182 => "Invalid Original Transaction Date",
  198 => "Server Timeout",
  199 => "Unrecognized",
  300 => "Re-Presented Check",
  301 => "Invalid ID",
  400 => "Failed Routing Mod 10",
  401 => "Missing Bank Name",
  402 => "Bank Name Quotes",
  403 => "Missing Bank Account Number",
  404 => "Invalid Bank Account Number", 
  405 => "Missing Bank Routing Number",
  406 => "Invalid Bank Routing Number",  
  407 => "Missing Check Number",
  408 => "Unsupported Transaction Type",
  409 => "Invalid Bank Name",
  999 => "Unknown Error",
);

sub set_defaults {
    my $self = shift;
    $self->server('join.billingservices.com');
    $self->port('443');
    $self->path('/psys/txnUrl');
    $self->build_subs(qw( product_id merchant_id ));
}

sub revmap_fields {
    my($self, %map) = @_;
    my %content = $self->content();
    foreach(keys %map) {
        $content{$_} = ref($map{$_})
                         ? ${ $map{$_} }
                         : $content{$map{$_}};
    }
    $self->content(%content);
}

sub submit {
    my $self = shift;
    my %content = $self->content();

    my $action = lc($content{'action'});
    if ( $action eq 'normal authorization' ) {
    } else {
      croak "$action not (yet) supported";
    }
    
    my $type = lc($content{'type'});
    if ( $type eq 'check' ) {
    } else {
      croak "$type not (yet) supported";
    }

    $self->revmap_fields(
        SUCCESS_URL     => \'https://secure.suicidegirls.com/',
	PRODUCT_ID      => \($self->product_id()),
	MERCHANT_ID     => 'login',
	VERSION         => \'1.0',
	SOR             => \'N',
	REMOTE_ADDR     => \'10.0.0.1',
	TERMS_AGREE     => \'Y',
	CHECK_AGE       => \'Y',



( run in 1.841 second using v1.01-cache-2.11-cpan-8dfa8b56332 )