VERSION
version 0.74SYNOPSIS
use Business::PayPal::API::GetTransactionDetails;
my $pp = Business::PayPal::API::GetTransactionDetails->new( ... );
or
# see Business::PayPal::API documentation for parameters use Business::PayPal::API qw(GetTransactionDetails); my $pp = Business::PayPal::API->new( ... ); my %response = $pp->GetTransactionDetails( TransactionID => $transid, );
DESCRIPTION
Business::PayPal::API::GetTransactionDetails implements PayPal's GetTransactionDetails 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.GetTransactionDetails
Implements PayPal's GetTransactionDetails API call. Supported parameters include:
TransactionID
as described in the PayPal ``Web Services API Reference'' document.
Returns a hash containing the transaction details, including these fields:
Business Receiver ReceiverID Payer PayerID PayerStatus Salutation FirstName MiddleName LastName PayerCountry PayerBusiness AddressOwner AddressStatus ADD_Name Street1 Street2 CityName StateOrProvince Country CountryName Phone PostalCode TransactionID ParentTransactionID ReceiptID TransactionType PaymentType PaymentDate GrossAmount FeeAmount SettleAmount TaxAmount ExchangeRate PaymentStatus PendingReason ReasonCode InvoiceID Custom Memo SalesTax PII_SaleTax PII_Name PII_Number PII_Quantity PII_Amount PII_Options PII_SubscriptionID PII_SubscriptionDate PII_EffectiveDate PII_RetryTime PII_Username PII_Password PII_Recurrences PII_reattempt PII_recurring PII_Amount PII_period PII_BuyerID PII_ClosingDate PII_multiItem
As described in the API document. Note: some fields have prefixes to remove ambiguity for like-named fields (e.g., ``PII_'').
If there are multiple PaymentItems, then an additional field 'PaymentItems' will be available with an arrayref of PaymentItem records:
PaymentItems => [ { SalesTax => ..., Name => '...', Number => '...', Quantity => '...', Amount => '...', Options => { 'key0' => 'value0', 'key1' => 'value1' }, }, { SalesTax => ..., etc. } ]
Example:
my %resp = $pp->GetTransactionDetails( TransactionID => $trans_id ); print "Payer: $resp{Payer}\n"; for my $item ( @{ $resp{PaymentItems} } ) { print "Name: " . $item->{Name} . "\n"; print "Amt: " . $item->{Amount} . "\n"; for my $optionname (keys %$item->{Options}) { print "Option: $optionname is " . $item->{Options}{$optionname} . "\n"; } }
PaymentItem Options Limitations
Note, BTW, that PayPal has a limitation such that each PaymentItem can contain only two Options. See:<https://www.paypal.com/cgi-bin/webscr?cmd=p/xcl/rec/options-help-outside>
<https://developer.paypal.com/webapps/developer/docs/classic/paypal-payments-standard/integration-guide/Appx_websitestandard_htmlvariables/>
This hack may be of interest if you want to sneak in four options:
<https://ppmts.custhelp.com/app/answers/detail/a_id/298/kw/soap%20gettransactiondetails%20option>
ERROR HANDLING
See the ERROR HANDLING section of Business::PayPal::API for information on handling errors.EXPORT
None by default.AUTHORS
- Scott Wiersdorf <[email protected]>
- Danny Hembree <[email protected]>
- Bradley M. Kuhn <[email protected]>
COPYRIGHT AND LICENSE
This software is copyright (c) 2006-2015 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.