For the complete documentation index, see llms.txt. This page is also available as Markdown.

Products

Products represent the goods or services that a merchant sells. In the PayPal subscription model, a product is the top-level entity that billing plans are built on top of. You must create a product before you can create a billing plan.

Products are scoped to a paymentProviderContract (PayPal Payment Provider Contract UUID). Include this value in query parameters when listing or retrieving products.

List Products

Returns a paginated list of products associated with a PayPal payment provider contract.

List products

get
/products
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
paymentProviderContractstringRequired

PayPal Payment Provider Contract UUID

pageSizeinteger · min: 1 · max: 20Optional

The number of items to return in the response.

pageinteger · min: 1 · max: 100000Optional

A non-zero integer which is the start index of the entire list of items that are returned in the response. So, the combination of page=1 and page_size=20 returns the first 20 items. The combination of page=2 and page_size=20 returns the next 20 items.

totalRequiredbooleanOptional

Indicates whether to show the total items and total pages in the response.

Responses
200

Successful

application/json
totalItemsintegerOptional
totalPagesintegerOptional
get
/products

Create Product

Creates a new product under the specified PayPal payment provider contract. The product can then be used as the basis for one or more billing plans.

Create product

post
/products
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Header parameters
x-vfi-api-idempotencyKeystringOptional

A value you specify that uniquely identifies the transaction. If you're unsure whether a particular transaction succeeded, you can reattempt it with the same idempotency key without worrying about duplicating the transaction.

Body
paymentProviderContractstringRequired

PayPal Payment Provider Contract UUID

idstring · min: 6 · max: 50Optional

The ID of the product. You can specify the SKU for the product. If you omit the ID, the system generates it. System-generated IDs have the PROD- prefix

namestring · min: 1 · max: 127Required

The product name

descriptionstring · min: 1 · max: 256Optional

The product description

typestring · enumRequired

The product type. Indicates whether the product is physical or tangible goods, or a service

Example: PHYSICALPossible values:
categorystring · enumOptional

The product category

Example: AUTO_RENTALSPossible values:
imageUrlstring · min: 1 · max: 2000Optional

The home page URL for the product

homeUrlstring · min: 1 · max: 2000Optional

The image URL for the product

Responses
post
/products

Get Product Details

Retrieves the full details of a specific product by its ID.

Get product details

get
/products/{id}
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

The product ID.

Query parameters
paymentProviderContractstringRequired

PayPal Payment Provider Contract UUID

Responses
200

Successful

application/json
idstring · min: 6 · max: 50Optional

The ID of the product. You can specify the SKU for the product. If you omit the ID, the system generates it. System-generated IDs have the PROD- prefix

namestring · min: 1 · max: 127Required

The product name

descriptionstring · min: 1 · max: 256Optional

The product description

typestring · enumRequired

The product type. Indicates whether the product is physical or tangible goods, or a service

Example: PHYSICALPossible values:
categorystring · enumOptional

The product category

Example: AUTO_RENTALSPossible values:
imageUrlstring · min: 1 · max: 2000Optional

The home page URL for the product

homeUrlstring · min: 1 · max: 2000Optional

The image URL for the product

createdAtstring · dateRequired

Product creation date (ISO-8601)

updatedAtstring · dateRequired

Product last update date (ISO-8601)

get
/products/{id}

Update Product

Updates mutable fields on an existing product. Returns 204 No Content on success.

Update product

patch
/products/{id}
Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

The product ID.

Body
paymentProviderContractstringRequired

PayPal Payment Provider Contract UUID

Responses
patch
/products/{id}

No content

Pagination

The GET /products endpoint supports standard PayPal pagination:

Request parameters

  • pageSize — Items per page (1–20)

  • page — Page index, starting at 1 (max 100,000)

  • totalRequired — Set to true to include total item and page counts in the response

Example

Page 2 of results, 10 per page with totals:

Was this helpful?