Get product by ID
Retrieves product information including all associated prices. Response shape is identical to the `product.*` webhook payload. For per-price usage counts, call `GET /products/:id/stats`.
Retrieves product information including all associated prices. Response shape is identical to the product.* webhook payload. For per-price usage counts, call GET /products/:id/stats.
Authorization
api-key API key for merchant integrations. Send as Authorization: Bearer <your key>.
In: header
Path Parameters
Product ID
Response Body
application/json
curl -X GET "https://example.com/products/string"{
"id": "prod_abc123",
"object": "product",
"name": "Premium Plan",
"description": "string",
"image": "string",
"unitLabel": "string",
"active": true,
"isSystemCreated": false,
"metadata": {},
"defaultPriceId": "string",
"merchantId": "merch_xyz789",
"prices": [
{
"id": "price_abc123",
"object": "price",
"name": "string",
"description": "string",
"currency": "EGP",
"unitAmount": 0,
"type": "ONE_TIME",
"recurring": {},
"customUnitAmount": {},
"stock": 0,
"startDate": "string",
"expirationDate": "string",
"active": true,
"createdAt": "string",
"updatedAt": "string",
"productId": "string"
}
],
"createdAt": "string",
"updatedAt": "string"
}Update a payment link PATCH
Partially updates an existing payment link. Only provided fields will be updated. Features: - Partial updates: Only send fields you want to update - Updates line items with adjustable quantities (if provided, replaces all existing line items) - Updates custom fields (if provided, replaces all existing custom fields) - Updates after completion settings (if provided, replaces existing settings) - Recalculates amount from line items when line items are updated - Validates currency consistency across line items when line items are updated Note: - If lineItems is provided, all existing line items are replaced - If customFields is provided, all existing custom fields are replaced - If customFields is an empty array, all custom fields are removed - expiresAt can be set to null to remove expiration
Update product PATCH
Updates product information. Can update product data fields, default price, and image. - The defaultPrice field should be the ID of the Price object that is the default price for this product - The image field should be a URL string (use the /upload-url endpoint to get a one-time upload URL first)