Business::PayPal::API::ExpressCheckout.3pm

Langue: en

Version: 2009-12-07 (ubuntu - 24/10/10)

Section: 3 (Bibliothèques de fonctions)

NAME

Business::PayPal::API::ExpressCheckout - PayPal Express Checkout API

SYNOPSIS

   use Business::PayPal::API::ExpressCheckout;
 
   ## see Business::PayPal::API documentation for parameters
   my $pp = new Business::PayPal::API::ExpressCheckout ( ... );
 
   my %resp = $pp->SetExpressCheckout
                ( OrderTotal => '55.43',   ## defaults to USD
                  ReturnURL  => 'http://site.tld/return.html',
                  CancelURL  => 'http://site.tld/canceltation.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>

AUTHOR

Scott Wiersdorf, <scott@perlcode.org> Copyright (C) 2006 by Scott Wiersdorf

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.6 or, at your option, any later version of Perl 5 you may have available.