logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Authors

       •   Scott Wiersdorf <scott@perlcode.org>

       •   Danny Hembree <danny@dynamical.org>

       •   Bradley M. Kuhn <bkuhn@ebb.org>

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";
             }
         }

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

   EXPORT
       None by default.

Name

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

See Also

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

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              => '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',
                               );

Version

       version 0.77

See Also