Business-eWAY-RapidAPI
view release on metacpan or search on metacpan
lib/Business/eWAY/RapidAPI.pm view on Meta::CPAN
if ( $self->debug ) {
print "Response String for Transaction: \n";
print STDERR Dumper( \$response ) . "\n";
}
# Convert Response Back TO An Object
my $result;
if ( $Request_Method ne 'SOAP' ) {
if ( $Request_Format eq "XML" ) {
if ( $Request_Method ne 'RPC' ) {
$result = $self->XML2Obj($response);
}
else {
$result = $self->RPCXML2Obj($response);
}
}
else {
if ( $Request_Method ne 'RPC' ) {
$result = $self->JSON2Obj($response);
}
else {
$result = $self->JSONRPC2Obj($response);
}
}
}
else {
$result = $request;
}
# Is Debug Mode
if ( $self->debug ) {
print "Response Object for Transaction: \n";
print STDERR Dumper( \$result ) . "\n";
}
return $result;
}
sub TransactionREST {
my ( $self, $request ) = @_;
return $self->PostToRapidAPI(
$self->urls->{'PaymentService.REST'} . "Transaction", $request );
}
sub PostToRapidAPI {
my ( $self, $url, $request, $is_post ) = @_;
$is_post = 1 unless defined $is_post;
my $Request_Format = $self->Request_Format;
my $content_type;
if ( $Request_Format eq "XML" ) {
$content_type = "text/xml";
}
else {
$content_type = "application/json";
}
my $ua = $self->ua;
$ua->credentials( $self->username, $self->password );
my $resp;
if ($is_post) {
$resp = $ua->post(
$url,
Content => $request,
'Content-Type' => $content_type
);
}
else {
$resp = $ua->get(
$url,
Content => $request,
'Content-Type' => $content_type
);
}
unless ( $resp->is_success ) {
my $r =
{ TransactionStatus => 0, ResponseMessage => $resp->status_line };
if ( $Request_Format eq 'XML' ) {
return $self->Obj2XML( $r, 'Error' );
}
else {
return $self->Obj2JSON($r);
}
# print '<h2>POST Error: ' . $resp->status_line . ' URL: ' . $url. ' </h2> <pre>';
# die Dumper(\$resp);
}
return $resp->decoded_content;
}
no Moo;
1;
__END__
=pod
=encoding UTF-8
=head1 NAME
Business::eWAY::RapidAPI - eWAY RapidAPI V3
=head1 VERSION
version 0.11
=head1 SYNOPSIS
use Business::eWAY::RapidAPI;
my $rapidapi = Business::eWAY::RapidAPI->new(
username => "44DD7C70Jre1dVgIsULcEyi+A+/cX9V5SAHkIiyVdWrHRG2tZm0rdintfZz85Pa/kGwq/1",
password => "Abcd1234",
);
( run in 1.871 second using v1.01-cache-2.11-cpan-cdf2f3d4e48 )