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 parametersmy $pp = Business::PayPal::API::ExpressCheckout->new( ... );my %resp = $pp->SetExpressCheckout( OrderTotal => '55.43', ## defaults to USDReturnURL => '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 moneymy %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:
TokenOrderTotalcurrencyIDMaxAmountOrderDescriptionCustomInvoiceIDReturnURLCancelURLAddressReqConfirmShippingNoShippingAddressOverrideLocaleCodePageStyle'cpp-header-image''cpp-header-border-color''cpp-header-back-color''cpp-payflow-color'PaymentActionBuyerEmailBillingTypeBillingAgreementDescriptionPaymentTypeBillingAgreementCustom
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:
TokenCustomInvoiceIDContactPhonePayerPayerIDPayerStatusFirstNameLastNamePayerBusinessAddressStatusNameStreet1Street2CityNameStateOrProvincePostalCodeCountry
Required fields:
Token
DoExpressCheckoutPayment
Implements PayPal's WPP SetExpressCheckout API call. Supported parameters include:
TokenPaymentAction (defaults to 'Sale' if not supplied)PayerIDcurrencyID (defaults to 'USD' if not supplied)OrderTotalOrderDescriptionItemTotalShippingTotalHandlingTotalTaxTotalCustomInvoiceIDButtonSourceNotifyURLST_NameST_Street1ST_Street2ST_CityNameST_StateOrProvinceST_CountryST_PostalCodePDI_NamePDI_AmountPDI_NumberPDI_QuantityPDI_Tax
as described in the PayPal "Web Services API Reference" document.
Returns a hash with the following keys:
TokenTransactionIDTransactionTypePaymentTypePaymentDateGrossAmountFeeAmountSettleAmountTaxAmountExchangeRatePaymentStatusPendingReasonBillingAgreementID (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 <[email protected]> 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 <[email protected]>
- •
-
Danny Hembree <[email protected]>
- •
-
Bradley M. Kuhn <[email protected]>
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.