}
# XXX?
-# -CVV
# -Identity number
# -Configurable currency
# -Configurable deal code
-# -Refunds or whatever this thing calls them
sub submit {
my($self) = @_;
+ warn Dumper($self) if $DEBUG > 1;
+
$self->remap_fields(
card_number => 'cardnumber',
amount => 'Sum',
login => 'Username',
+ password => 'userpassword',
+ cvv2 => 'cvv',
);
- die "invalid action" unless
- $self->{_content}{'action'} =~ /^\s*normal\s*authorization\s*$/i;
+ my $action = $self->{_content}{'action'};
+ if ( $action =~ /^\s*credit\s*$/i ) {
+ $self->{_content}{dealtype} = 51;
+ $self->{_content}{credittype} = 1;
+ } elsif ( $action !~ /^\s*normal\s*authorization\s*$/i ) {
+ die "invalid action";
+ }
$self->{_content}{'expiration'} =~ /^(\d+)\D+\d*(\d{2})$/
or croak "unparsable expiration ". $self->{_content}{expiration};
$self->terminalnumber =~ /^\d+$/ or die "invalid TerminalNumber";
$self->{_content}{TerminalNumber} = $self->terminalnumber;
+ $self->required_fields(
+ qw( login password TerminalNumber card_number amount )
+ );
+
+ if($self->test_transaction) {
+ $self->{_content}{'Username'} = 'gali';
+ $self->{_content}{'userpassword'} = '7654321';
+ $self->{_content}{'TerminalNumber'} = '1000';
+ }
+
tie my %fields, 'Tie::IxHash', $self->get_fields( $self->fields );
my $post_data = join('&', map "$_=$fields{$_}", keys %fields );
warn "POSTING: ".$post_data if $DEBUG > 1;
my $authorization = $2;
my $message = $3;
- $self->authorization($authorization);
+ $self->result_code($result);
if ( $result == 0 ) {
$self->is_success(1);
+ $self->authorization($authorization);
} else {
$self->is_success(0);
$self->error_message($message);
cardvalidityyear
cardvaliditymonth
Username
+ userpassword
languages
+ dealtype
+ credittype
+ cvv
);
}
+sub _info {
+ {
+ 'info_compat' => '0.01',
+ 'gateway_name' => 'Cardcom',
+ 'gateway_url' => 'http://www.cardcom.co.il',
+ 'module_version' => $VERSION,
+ 'support_types' => [ 'CC' ],
+ 'token_support' => 0, # well technically the gateway supports it, but we haven't implemented it
+ 'test_transaction' => 1,
+ 'supported_actions' => [
+ 'Normal Authorization',
+ 'Credit',
+ ],
+ };
+}
+
1;
__END__
amount => '49.95',
card_number => '4005550000000019',
expiration => '08/06',
+ cvv2 => '123',
);
$tx->submit();
=head1 PREREQUISITES
- URI::Escape
Tie::IxHash
- Net::SSLeay _or_ ( Crypt::SSLeay and LWP )
-
=head1 DESCRIPTION
For detailed information see L<Business::OnlinePayment>.