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 )