Package Tracking

Overviewanchor

If you sell tangible goods, send tracking information for PayPal transactions as soon as you ship items to your customers. Providing tracking information and item-level details on PayPal transactions can significantly enhance the customer experience and reduce your operational costs. Here are some key benefits:

  • Automatic resolution of “Item Not Received” PayPal disputes: You can automatically resolve PayPal disputes related to items not received by providing tracking information.
  • Quicker access to money in payment and dispute holds: Adding tracking information to an order can qualify payment and dispute holds for early release.
  • Live package tracking updates: Customers can receive real-time package updates through the PayPal app, which helps reduce the number of disputes and customer inquiries.
  • Item-level disputes instead of dispute on entire order: Customers can dispute individual items rather than the entire order, reducing the average cost of disputes.
  • Improved merchant risk profiles: Accurate shipping and order status information improves merchant risk profiles, potentially lowering reserve requirements.

Availabilityanchor

  1. Check with your Braintree Account Manager if your integration qualifies for package tracking.

  2. Integrated with client SDKs and server SDKs, upgrade to the latest version:

    • Client SDK:
      • iOS - 6.12.0
      • Android - 4.41.0
    • Server SDK:
      • Ruby - 4.18.0
      • PHP - 6.16.0
      • .NET - 5.23.0
      • Java - 3.32.0
      • Python - 4.26.0
      • Node - 3.21.0

Eligibilityanchor

  1. Merchants selling physical goods online

  2. Merchants who accept branded PayPal payments

  3. Only PayPal-branded transactions are eligible for automatic dispute resolution and package tracking updates on the PayPal App

  4. Merchants accepting payments from consumers in US, UK, DE, FR, ES, IT, AU, and CA

    Package Tracking doesn’t apply to:

    • Merchants who sell in-store
    • Merchants selling digital goods or services
Automatic dispute resolutionanchor

Package Tracking updates on the PayPal Appanchor

Item level disputesanchor

API Specificationanchor

  1. Add line items when creating an order and add the following item details to the existing integration.
Attribute Type Sample Value Note
upc_code* String 012345678912 UPC (Universal Product Code) for the item. Maximum 17 characters. Optional. Must be provided if upc_type is provided.
upc_type* StringThe Universal Product Code type. Could be UPC-A, UPC-B, UPC-C, UPC-D, UPC-E, UPC-2, or UPC-5. Optional. Must be provided if upc_code is provided.
image_url* StringThe URL to product image. Optional. Should follow the pattern (https:)([/|.|\w|\s|-])*.(?:jpg|gif|png|jpeg|JPG|GIF|PNG|JPEG)
quantity Number 1 Number of units of the item purchased. This value must be a whole number and can't be negative or zero.
name StringItem name. Maximum 127 characters.
description String “description“ Item description. Maximum 127 characters.
productCode String “ABC-01” Product or UPC code for the item. Maximum 127 characters.
url StringThe URL to product information.
  1. Add tracking details after the transaction settles.

Requestanchor

a. Add tracking details

Attribute Type Sample Value Note
transaction_id Required, String “transaction_id” If the transaction has been submitted for partial settlements, this id should be the child transaction id.
tracking_number Required, String, limit 64 characters “tracking_number” Tracking number of the package given by the carrier.
carrier Required, String, limit 64 characters “FEDEX”

Find the carrier you are using in this list here. Pass the value in the middle column. If the carrier does not exist in this list, just pass the name of the carrier.

notify_payer Optional, BooleanDefault value will be false. Keep the buyer/payer notified of the package tracking updates from PayPal.
line_items Optional, Array of LineItemsSee table below.

b. In above line_item fields each element can include these fields:

Attribute Type Sample Value Note
upc_code String 012345678912 UPC (Universal Product Code) for the item. Maximum 17 characters. Must be provided if upc_type is provided.
upc_type StringThe Universal Product Code type. Could be UPC-A, UPC-B, UPC-C, UPC-D, UPC-E, UPC-2, or UPC-5. Must be provided if upc_code is provided.
image_url StringThe URL to product image.
quantity Number 1 Number of units of the item purchased. This value must be a whole number and can't be negative or zero.
name StringItem name. Maximum 127 characters.
description String “description“ Item description. Maximum 127 characters.
productCode String “ABC-01” Product or UPC code for the item. Maximum 127 characters.
url StringThe URL to product information.

Responseanchor

note

The response of package tracking API request is a transaction object, with field “packages” returned in it. “packages” contains a list of trackers that have been created for this transaction.

Attribute Type Description
id String Identifier of the tracker
tracking_number String Tracking number
carrier String Carrier name of this tracker
paypal_tracker_id String A string represents the PayPal system identifier of the tracker. It might not be immediately available when the request has been made but should be available in find transaction request momentarily.

SDK Version requirementsanchor

Client SDKs:

  • iOS Client 6.12.0
  • Android Client 4.41.0

Server SDKs:

  • Node 3.21.0
  • PHP 6.16.0
  • .NET 5.23.0
  • Java 3.32.0
  • Python 4.26.0
  • Ruby 4.18.0

Next Page: Client-side configuration