The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

WebService::PayPal::PaymentsAdvanced::Error::IPVerification - A Payments Advanced IP verification error

VERSION

version 0.000028

SYNOPSIS

    use Try::Tiny;
    use WebService::PayPal::PaymentsAdvanced;

    my $payments = WebService::PayPal::PaymentsAdvanced->new(...);

    my $redirect_response;

    my $uri;
    try {
        $redirect_response = $payments->get_response_from_redirect(
            ip_address => $ip,
            params     => $params,
        );
    }
    catch {
        die $_ unless blessed $_;
        if (
            $_->isa(
                'WebService::PayPal::PaymentsAdvanced::Error::IPVerification')
            ) {
            log_fraud(
                message              => $_->message,
                fraudster_ip_address => $_->ip_address,
            );
        }

        # handle other exceptions
    };

DESCRIPTION

This class represents an error in validating the ip_address which has posted back a PayPal return or silent POST url. It will only occur if you provide an IP address to the "get_response_from_redirect" in WebService::PayPal::PaymentsAdvanced or "get_response_from_silent_post" in WebService::PayPal::PaymentsAdvanced

It extends Throwable::Error and adds two attributes of its own. The message attribute (inherited from Throwable::Error) will contain the error message which was parsed out of the content of the HTML.

METHODS

The $error->message(), and $error->stack_trace() methods are inherited from Throwable::Error.

ip_address

Returns the IP address of the request which was made to your application.

params

Returns a HashRef of params which was received from to PayPal.

SUPPORT

Bugs may be submitted through https://github.com/maxmind/webservice-paypal-paymentsadvanced/issues.

AUTHOR

Olaf Alders <olaf@wundercounter.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2022 by MaxMind, Inc.

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