Business::PayPal::API::DirectPayments.3pm

Langue: en

Version: 2009-12-07 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Business::PayPal::API::DirectPayments - PayPal DirectPayments API

SYNOPSIS

     use Business::PayPal::API qw(DirectPayments);
     
     ## see Business::PayPal::API documentation for parameters
     
     my $pp = new Business::PayPal::API(
                         Username => 'name_api1.example.org',
                         Password => 'somepass',
                         CertFile => '/path/to/tester1.cert_key_pem.txt',
                         KeyFile  => '/path/to/tester1.cert_key_pem.txt',
                         sandbox  => 1,
                         );
     
     my %response = $pp->DoDirectPaymentRequest (
                         PaymentAction      => 'Sale',
                         OrderTotal         => 13.59,
                         TaxTotal           => 0.0,
                         ShippingTotal      => 0.0,
                         ItemTotal          => 0.0,
                         HandlingTotal      => 0.0,
                         InvoiceID          => 'your-tracking-number',
                         CreditCardType     => 'Visa',
                         CreditCardNumber   => '4561435600988217',
                         ExpMonth           => '01',
                         ExpYear            => '2007',
                         CVV2               => '123',
                         FirstName          => 'James',
                         LastName           => 'PuffDaddy',
                         Street1            => '1st Street LaCausa',
                         Street2            => '',
                         CityName           => 'La',
                         StateOrProvince    => 'Ca',
                         PostalCode         => '90210',
                         Country            => 'US',
                         Payer              => 'Joe@Example.org',
                         ShipToName         => 'Jane Doe',
                         ShipToStreet1      => '1234 S. Pleasant St.',
                         ShipToStreet2      => 'Suite #992',
                         ShipToCityName     => 'Vacation Town',
                         ShipToStateOrProvince => 'FL',
                         ShipToCountry      => 'US',
                         ShipToPostalCode   => '12345',
                         CurrencyID         => 'USD',
                         IPAddress          => '10.0.0.1',
                         MerchantSessionID  => '10113301',
                         );
 
 

DESCRIPTION

Business::PayPal::API::DirectPayments implements PayPal's DirectPayments API using SOAP::Lite to make direct API calls to PayPal's SOAP API server. It also implements support for testing via PayPal's sandbox. Please see Business::PayPal::API for details on using the PayPal sandbox.

DoDirectPaymentRequest

Implements PayPal's DoDirectPaymentRequest API call. Supported parameters include:
         PaymentAction           ( Sale|Authorize, Sale is default )
         OrderTotal
         TaxTotal
         ShippingTotal
         ItemTotal
         HandlingTotal
         InvoiceID
         CreditCardType
         CreditCardNumber
         ExpMonth                ( two digits, leading zero )
         ExpYear                 ( four digits, 20XX )
         CVV2
         FirstName
         LastName
         Street1
         Street2
         CityName
         StateOrProvince
         PostalCode
         Country
         Payer
         ShipToName
         ShipToStreet1
         ShipToStreet2
         ShipToCityName
         ShipToStateOrProvince
         ShipToCountry
         ShipToPostalCode
         CurrencyID              (USD is default)
         IPAddress
         MerchantSessionID
 
 

as described in the PayPal ``Web Services API Reference'' document.

Returns a hash containing the results of the transaction. The Ack element and TransactionID are the most useful return values.

Example:

   my %resp = $pp->DoDirectPaymentRequest(
                     PaymentAction => 'Sale',
                     OrderTotal    => '10.99',
                     ...
              );
 
   unless( $resp{Ack} !~ /Success/ ) {
       for my $error ( @{$response{Errors}} ) {
           warn "Error: " . $error->{LongMessage} . "\n";
       }
   }
 
 

ERROR HANDLING

See the ERROR HANDLING section of Business::PayPal::API for information on handling errors.

EXPORT

None by default.

SEE ALSO

<https://developer.paypal.com/en_US/pdf/PP_APIReference.pdf>

AUTHOR

Daniel Hembree <danny@dynamical.org> Copyright (C) 2006 by Daniel P. Hembree

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.5 or, at your option, any later version of Perl 5 you may have available.