Business-eWAY-RapidAPI

 view release on metacpan or  search on metacpan

lib/Business/eWAY/RapidAPI.pm  view on Meta::CPAN

        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",
    );

=head1 DESCRIPTION

eWAY RapidAPI L<http://www.eway.com.au/developers/api/rapid-3-0>

check L<https://github.com/fayland/p5-Business-eWAY-RapidAPI/tree/master/examples/web> for usage demo.

=head2 METHODS

=head3 CONSTRUCTION

    my $rapidapi = Business::eWAY::RapidAPI->new(
        mode => 'test',
        username => "44DD7C70Jre1dVgIsULcEyi+A+/cX9V5SAHkIiyVdWrHRG2tZm0rdintfZz85Pa/kGwq/1",
        password => "Abcd1234",
    );

=over 4

=item * mode

default 'live'

=item * username

required

=item * password

required

=item * debug



( run in 0.974 second using v1.01-cache-2.11-cpan-2398b32b56e )