table of contents
Business::PayPal::API::ExpressCheckout(3pm) | User Contributed Perl Documentation | Business::PayPal::API::ExpressCheckout(3pm) |
NAME¶
Business::PayPal::API::ExpressCheckout - PayPal Express Checkout API
VERSION¶
version 0.77
SYNOPSIS¶
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' );
DESCRIPTION¶
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.
SetExpressCheckout¶
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, );
GetExpressCheckoutDetails¶
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
Required fields:
Token
DoExpressCheckoutPayment¶
Implements PayPal's WPP SetExpressCheckout API call. Supported parameters include:
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.
Returns a hash with the following keys:
Token TransactionID TransactionType PaymentType PaymentDate GrossAmount FeeAmount SettleAmount TaxAmount ExchangeRate PaymentStatus PendingReason BillingAgreementID (if BillingType 'MerchantInitiatedBilling' was specified during SetExpressCheckout)
Required fields:
Token, PayerID, OrderTotal
ERROR HANDLING¶
See the ERROR HANDLING section of Business::PayPal::API for information on handling errors.
EXAMPLES¶
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.
EXPORT¶
None by default.
SEE ALSO¶
SOAP::Lite, Business::PayPal::API, <https://www.paypal.com/IntegrationCenter/ic_expresscheckout.html>, <https://developer.paypal.com/en_US/pdf/PP_APIReference.pdf>
AUTHORS¶
- Scott Wiersdorf <scott@perlcode.org>
- Danny Hembree <danny@dynamical.org>
- Bradley M. Kuhn <bkuhn@ebb.org>
COPYRIGHT AND LICENSE¶
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.
2022-08-28 | perl v5.34.0 |