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, 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', 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
CreditCardType
CreditCardNumber
ExpMonth ( two digits, leading zero )
ExpYear ( four digits, 20XX )
CVV2
FirstName
LastName
Street1
Street2
CityName
StateOrProvince
PostalCode
Country
Payer
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} ne '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 AND LICENSE
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.