NAME
Business::PayPal::API::GetTransactionDetails - PayPal GetTransactionDetails API
VERSION
version 0.77
SYNOPSIS
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.
SEE ALSO
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.