Package Tracking
Overview
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.
Availability
-
Check with your Braintree Account Manager if your integration qualifies for package tracking.
-
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
- Client SDK:
Eligibility
-
Merchants selling physical goods online
-
Merchants who accept branded PayPal payments
-
Only PayPal-branded transactions are eligible for automatic dispute resolution and package tracking updates on the PayPal App
-
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 resolution
Package Tracking updates on the PayPal App
Item level disputes
API Specification
- 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* | String | The 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* | String | The 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 | String | Item 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 | String | The URL to product information. |
- Add tracking details after the transaction settles.
Request
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, Boolean | Default value will be false. Keep the buyer/payer notified of the package tracking updates from PayPal. | |
line_items | Optional, Array of LineItems | See 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 | String | The 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 | String | The 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 | String | Item 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 | String | The URL to product information. |
Response
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 requirements
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 →