Business-OnlinePayment-TransFirsteLink
view release on metacpan or search on metacpan
TransFirsteLink.pm view on Meta::CPAN
'0XA' => 'Forward to issue1',
'0XD' => 'Forward to issue2',
'0VD' => 'General Decline',
'0T0' => 'First Time Check',
'0T1' => 'Check is OK, but cannot be converted',
'0T2' => 'Invalid routing transit number or check belongs to a category that is not eligible for conversion',
'0T3' => 'Amount greater than established service limit',
'0T4' => 'Unpaid items, failed negative check',
'0T5' => 'Duplicate check number',
'0T6' => 'MICR Error',
'0T7' => 'Too many checks (over merchant or bank limit)',
'203' => 'Invalid merchant number',
'212' => 'Invalid transaction type',
'213' => 'Invalid amount field',
'214' => 'Invalid card number',
'254' => 'Expired card',
'257' => 'Txn not allowed',
'276' => 'Unable to locate prvious msg (ref # not found)',
'278' => 'No account',
'284' => 'General Decline',
'296' => 'System malfunction',
'2Q1' => 'Card authorization failed',
'300' => 'Invalid request format',
'301' => 'Missing file header',
'303' => 'Invalid sender ID',
'306' => 'Duplicate file number',
'307' => 'General Decline',
'309' => 'Comm link down',
'310' => 'Missing batch header',
'317' => 'Invalid MOTO ID',
'338' => 'General Decline',
'380' => 'Missing batch trailer',
'382' => 'Record count does not match number records in batch',
'383' => 'Net amount does not match file amount',
'384' => 'Duplicate transaction',
'385' => 'Invalid request format',
'394' => 'Record count does not match records in file',
'395' => 'Net amount does not match file amount',
'396' => 'Declined post - reauthorization attempt',
'318' => 'Invalid account data source',
'319' => 'Invalid POS entry mode',
'320' => 'Auth date invalid (transaction date)',
'321' => 'Invalid auth source code',
'322' => 'Invalid ACI code',
'REJ' => 'Rejected transaction that has been re-keyed',
'3AC' => 'Invalid authorization code (must be uppercase, no special chars)',
'3TI' => 'Invalid tax indicator',
'3VD' => 'Voided transaction',
'3AD' => 'AVS response code declined',
'3AR' => 'AVS required/address information not provided',
'3BD' => 'AVS and CVV2 response Code Declined',
'3BR' => 'AVS and CVV2 required/information not provided',
'3CD' => 'CVV2 response code declined',
'3CR' => 'CVV2 required/inrormation not provided',
'3L5' => 'No data sent',
'3L6' => 'Order number missing',
'3M1' => 'Auth date blank',
'3M2' => 'Auth amount blank',
'3MT' => 'Managed transaction',
'3RV' => 'Reversed transaction',
'3TO' => 'Timeout',
'600' => 'General Decline',
'990' => 'Voided',
'991' => 'Voided',
'992' => 'Voided',
'993' => 'Voided',
'994' => 'Voided',
'995' => 'Voided',
'996' => 'Voided',
'997' => 'Voided',
'998' => 'Voided',
'999' => 'Voided',
'XXX' => 'General Decline',
);
sub debug {
my $self = shift;
if (@_) {
my $level = shift || 0;
if ( ref($self) ) {
$self->{"__DEBUG"} = $level;
}
else {
$DEBUG = $level;
}
$Business::OnlinePayment::HTTPS::DEBUG = $level;
}
return ref($self) ? ( $self->{"__DEBUG"} || $DEBUG ) : $DEBUG;
}
sub set_defaults {
my $self = shift;
my %opts = @_;
# standard B::OP methods/data
$self->server("epaysecure1.transfirst.com");
$self->port("443");
$self->path("/");
$self->build_subs(qw(
merchantcustservnum
order_number avs_code cvv2_response
response_page response_code response_headers
junk
));
# module specific data
if ( $opts{debug} ) {
$self->debug( $opts{debug} );
delete $opts{debug};
}
if ( $opts{merchantcustservnum} ) {
$self->merchantcustservnum( $opts{merchantcustservnum} );
delete $opts{merchantcustservnum};
}
}
sub _map_fields {
( run in 0.604 second using v1.01-cache-2.11-cpan-39bf76dae61 )