Author image Jason Terry
and 4 contributors

NAME

Business::OnlinePayment::Mock - A backend for mocking fake results for test cards

VERSION

version 0.008

SYNOPSIS

   # During initilaziation of your scripts, setup the responses you want from each aciton/card number

   $mock->set_mock_response({
     action        => 'Credit',
     card_number   => '4111111111111111',
     error_message => 'Approved',
     is_success    => 1,
     error_code    => 0,
     order_number  => 1,
   });

   # Then later once you are ready to use the mock module

   my $transaction = new Business::OnlinePayment('Mock');
   $transaction->content(
     type        => 'Visa',
     amount      => '49.95',
     card_number => '1234123412341238',
     expiration  => '06/15',
     name        => 'John Q Doe',
   );
   eval { $transaction->submit(); };

   if ( $@ ) {
     print "$processor error: $@\n";
   } else {
     if ( $transaction->is_success() ) {
       print "Card processed successfully: ". $transaction->authorization()."\n";
     } else {
       print "Card was rejected: ". $transaction->error_message(). "\n";
     }
   }

DESCRIPTION

Ability to get any Business::OnlinePayment result you want using this mock driver.

METHODS

set_default_mock

Sets the default mock for the Business::OnlinePayment object

   $mock->set_default_mock({
     error_message => 'Declined',
     is_success    => 0,
     error_code    => 100,
     order_number  => 1,
   });

set_mock_response

Sets the mock response the Business::OnlinePayment object

   $mock->set_mock_response({
     action        => 'Credit',
     card_number   => '4111111111111111',
     error_message => 'Approved',
     is_success    => 1,
     error_code    => 0,
     order_number  => 1,
   });

test_transaction

Get/set the server used for processing transactions. Because we are mocked, this method effectively does nothing. Default: Live

  #Live
  $self->test_transaction(0);

  #Certification
  $self->test_transaction(1);

submit

Submit the content to the mocked API

  $self->content(action => 'Credit' ...)

  $self->submit;

NAME

Business::OnlinePayment::Mock - A backend for mocking fake results in the Business::OnlinePayment environment

AUTHOR

Jason Terry <oaxlin@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2020 by Jason Terry.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.