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.