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.