Business-PayPal-NVP

 view release on metacpan or  search on metacpan

lib/Business/PayPal/NVP.pm  view on Meta::CPAN


use 5.008001;
use strict;
use warnings;

our $VERSION = '1.10';
our $AUTOLOAD;

our $Debug  = 0;
our $Branch = 'test';
our $Timeout= 0;
our $UserAgent;

use LWP::UserAgent ();
use URI::Escape ();
use Carp 'croak';

sub API_VERSION { 98 }

## NOTE: This is an inside-out object; remove members in
## NOTE: the DESTROY() sub if you add additional members.

lib/Business/PayPal/NVP.pm  view on Meta::CPAN

my %test   = ();
my %live   = ();

sub new {
    my $class = shift;
    my %args  = @_;

    my $self = bless \(my $ref), $class;

    $Branch = $args{branch} || 'test';
    $Timeout = $args{timeout};
    $UserAgent = $args{ua} || LWP::UserAgent->new;

    if (ref $UserAgent ne 'LWP::UserAgent') {
        die "ua must be a LWP::UserAgent object\n";
    }

    $errors {$self} = [ ];
    $test   {$self} = $args{test} || { };
    $live   {$self} = $args{live} || { };

lib/Business/PayPal/NVP.pm  view on Meta::CPAN

             livesubj => $live{$self}->{subject},
	     livever  => $live{$self}->{version},
	 }->{$branch . $cred};
}

sub _do_request {
    my $self = shift;
    my %args = @_;

    my $lwp = $UserAgent;
    $lwp->timeout($Timeout) if $Timeout;
    $lwp->agent("perl-Business-PayPal-NVP/$VERSION");
    my $req = HTTP::Request->new( POST => $self->AUTH_CRED('url') );
    $req->content_type( 'application/x-www-form-urlencoded' );

    my $content = _build_content( USER      => $self->AUTH_CRED('user'),
				  PWD       => $self->AUTH_CRED('pwd'),
				  SIGNATURE => $self->AUTH_CRED('sig'),
				  VERSION   => delete $args{VERSION} || $self->AUTH_CRED('ver') || API_VERSION,
                                  SUBJECT   => $self->AUTH_CRED('subj'),
				  %args );



( run in 0.297 second using v1.01-cache-2.11-cpan-0d8aa00de5b )