Business::PayPal::API::ExpressCheckout - PayPal Express Checkout API
version 0.76
use Business::PayPal::API::ExpressCheckout; ## see Business::PayPal::API documentation for parameters my $pp = Business::PayPal::API::ExpressCheckout->new( ... ); my %resp = $pp->SetExpressCheckout ( OrderTotal => '55.43', ## defaults to USD ReturnURL => 'http://site.tld/return.html', CancelURL => 'http://site.tld/cancellation.html', ); ... time passes, buyer validates the token with PayPal ... my %details = $pp->GetExpressCheckoutDetails($resp{Token}); ## now ask PayPal to xfer the money my %payinfo = $pp->DoExpressCheckoutPayment( Token => $details{Token}, PaymentAction => 'Sale', PayerID => $details{PayerID}, OrderTotal => '55.43' );
Business::PayPal::API::ExpressCheckout implements PayPal's Express Checkout 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.
Implements PayPal's "Website Payment Pro" SetExpressCheckout API call. Supported parameters include:
Token OrderTotal currencyID MaxAmount OrderDescription Custom InvoiceID ReturnURL CancelURL Address ReqConfirmShipping NoShipping AddressOverride LocaleCode PageStyle 'cpp-header-image' 'cpp-header-border-color' 'cpp-header-back-color' 'cpp-payflow-color' PaymentAction BuyerEmail BillingType BillingAgreementDescription PaymentType BillingAgreementCustom
as described in the PayPal "Web Services API Reference" document. The default currency setting is 'USD' if not otherwise specified.
Returns a hash containing a 'Token' key, whose value represents the PayPal transaction token.
Required fields:
OrderTotal, ReturnURL, CancelURL. my %resp = $pp->SetExpressCheckout(); my $token = $resp{Token};
Example (courtesy Ollie Ready):
my $address = { Name => 'Some Customer', Street1 => '888 Test St.', Street2 => 'Suite 9', CityName => 'San Diego', StateOrProvince => 'CA', PostalCode => '92111', Country => 'US', Phone => '123-123-1234', }; my %response = $pp->SetExpressCheckout( OrderTotal => '11.01', ReturnURL => '<![CDATA[http://example.com/p?cmd=checkout]]>', CancelURL => 'http://example.com', PaymentAction => 'Authorization', AddressOverride => 1, Address => $address, );
Implements PayPal's WPP SetExpressCheckout API call. Supported parameters include:
Token
as described in the PayPal "Web Services API Reference" document. This is the same token you received from SetExpressCheckout.
Returns a hash with the following keys:
Token Custom InvoiceID ContactPhone Payer PayerID PayerStatus FirstName LastName PayerBusiness AddressStatus Name Street1 Street2 CityName StateOrProvince PostalCode Country
Token PaymentAction (defaults to 'Sale' if not supplied) PayerID currencyID (defaults to 'USD' if not supplied) OrderTotal OrderDescription ItemTotal ShippingTotal HandlingTotal TaxTotal Custom InvoiceID ButtonSource NotifyURL ST_Name ST_Street1 ST_Street2 ST_CityName ST_StateOrProvince ST_Country ST_PostalCode PDI_Name PDI_Amount PDI_Number PDI_Quantity PDI_Tax
as described in the PayPal "Web Services API Reference" document.
Token TransactionID TransactionType PaymentType PaymentDate GrossAmount FeeAmount SettleAmount TaxAmount ExchangeRate PaymentStatus PendingReason BillingAgreementID (if BillingType 'MerchantInitiatedBilling' was specified during SetExpressCheckout)
Token, PayerID, OrderTotal
See the ERROR HANDLING section of Business::PayPal::API for information on handling errors.
Andy Spiegl <paypalcheckout.Spiegl@kascada.com> has kindly donated some example code (in German) which may be found in the eg directory of this archive. Additional code examples may be found in the t test directory.
None by default.
SOAP::Lite, Business::PayPal::API, https://www.paypal.com/IntegrationCenter/ic_expresscheckout.html, https://developer.paypal.com/en_US/pdf/PP_APIReference.pdf
Scott Wiersdorf <scott@perlcode.org>
Danny Hembree <danny@dynamical.org>
Bradley M. Kuhn <bkuhn@ebb.org>
This software is copyright (c) 2006-2017 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.
To install Business::PayPal::API, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Business::PayPal::API
CPAN shell
perl -MCPAN -e shell install Business::PayPal::API
For more information on module installation, please visit the detailed CPAN module installation guide.