Business::PayPal::API::DirectPayments(3) PayPal DirectPayments API

VERSION

version 0.74

SYNOPSIS


use Business::PayPal::API qw(DirectPayments);
## see Business::PayPal::API documentation for parameters
my $pp = Business::PayPal::API->new(
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 => '[email protected]',
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.

AUTHORS

COPYRIGHT AND LICENSE

This software is copyright (c) 2006-2015 by Scott Wiersdorf, Danny Hembree, Bradley M. Kuhn.

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