Paypal directpayments api
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 => '[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',
);
Business::PayPal::API::DirectPayments implements PayPal's DirectPayments \s-1API\s0 using SOAP::Lite to make direct \s-1API\s0 calls to PayPal's \s-1SOAP\s0 \s-1API\s0 server. It also implements support for testing via PayPal's sandbox. Please see Business::PayPal::API for details on using the PayPal sandbox.
Implements PayPal's DoDirectPaymentRequest \s-1API\s0 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 \*(L"Web Services \s-1API\s0 Reference\*(R" 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"; } }
See the \s-1ERROR\s0 \s-1HANDLING\s0 section of Business::PayPal::API for information on handling errors.
None by default.
<https://developer.paypal.com/en_US/pdf/PP_APIReference.pdf>
Daniel Hembree <[email protected]>
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.