Business-eWAY-RapidAPI
view release on metacpan or search on metacpan
lib/Business/eWAY/RapidAPI.pm view on Meta::CPAN
package Business::eWAY::RapidAPI;
$Business::eWAY::RapidAPI::VERSION = '0.11';
# ABSTRACT: eWAY RapidAPI V3
use Moo;
use Business::eWAY::RapidAPI::CreateAccessCodeRequest;
use Business::eWAY::RapidAPI::GetAccessCodeResultRequest;
use Business::eWAY::RapidAPI::TransactionRequest;
use Data::Dumper;
use WWW::Mechanize;
use IO::Socket::SSL qw( SSL_VERIFY_NONE );
with 'Business::eWAY::RapidAPI::Role::Parser';
with 'Business::eWAY::RapidAPI::Role::ErrorCodeMap';
has 'mode' => ( is => 'rw', default => sub { 'live' } );
has 'urls' => ( is => 'lazy' );
sub _build_urls {
my $self = shift;
if ( $self->mode eq 'live' ) {
return {
'PaymentService.Soap' =>
'https://api.ewaypayments.com/soap.asmx?WSDL',
'PaymentService.POST.CreateAccessCode' =>
'https://api.ewaypayments.com/CreateAccessCode.xml',
'PaymentService.POST.GetAccessCodeResult' =>
'https://api.ewaypayments.com/GetAccessCodeResult.xml',
'PaymentService.REST' => 'https://api.ewaypayments.com/',
'PaymentService.RPC' => 'https://api.ewaypayments.com/json-rpc',
'PaymentService.JSONPScript' =>
'https://api.ewaypayments.com/JSONP/v1/js',
};
}
else {
return {
'PaymentService.Soap' =>
'https://api.sandbox.ewaypayments.com/Soap.asmx?WSDL',
'PaymentService.POST.CreateAccessCode' =>
'https://api.sandbox.ewaypayments.com/CreateAccessCode.xml',
'PaymentService.POST.GetAccessCodeResult' =>
'https://api.sandbox.ewaypayments.com/GetAccessCodeResult.xml',
'PaymentService.REST' => 'https://api.sandbox.ewaypayments.com/',
'PaymentService.RPC' =>
'https://api.sandbox.ewaypayments.com/json-rpc',
'PaymentService.JSONPScript' =>
'https://api.sandbox.ewaypayments.com/JSONP/v1/js',
};
}
}
has 'username' => ( is => 'rw', required => 1 );
has 'password' => ( is => 'rw', required => 1 );
has 'debug' => ( is => 'rw', default => sub { 0 } );
has 'ShowDebugInfo' => ( is => 'lazy' );
sub _build_ShowDebugInfo { (shift)->debug }
has 'Request_Method' =>
( is => 'rw', required => 1, default => sub { 'REST' } );
has 'Request_Format' =>
( is => 'rw', required => 1, default => sub { 'JSON' } );
has 'ua' => ( is => 'lazy' );
sub _build_ua {
my $self = shift;
return WWW::Mechanize->new(
timeout => 60,
autocheck => 0,
stack_depth => 1,
ssl_opts => {
( run in 1.859 second using v1.01-cache-2.11-cpan-39bf76dae61 )