Business::PayPal::API::GetTransactionDetails(3) PayPal GetTransactionDetails API

VERSION

version 0.74

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.

AUTHORS

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.