Base URL
https://checkout-api.payintelli.com
Endpoints
4 documented routes
The Checkout API provides endpoints to create and manage hosted checkout sessions for e-commerce payment processing.
Base URL: https://checkout-api.payintelli.com
Sandbox / Dev URL: https://checkout-api-dev.payintelli.com
Base Path: /{culture}/api/v1/checkout
All requests must include the following headers unless noted otherwise (headers are case-insensitive, e.g. pi-api-key or PI_API_KEY):
| Header | Required | Description |
|---|---|---|
pi-api-key | Yes (most endpoints) | Your merchant API key for authenticating requests |
pi-client-id | Yes (create & status) | Your unique client identifier |
pi-correlation-id | No | Optional identifier for correlating requests on your side |
Endpoints
Description
Initiates a new checkout session and returns a URL to redirect the customer to the hosted payment page. Asynchronous lifecycle events will be delivered to the provided notification.webhookUrl.
Status: 201 Created
Redirect the customer to data.checkoutUrl to complete their payment on the hosted page, or embed data.sdkCheckoutUrl within SDK checkout components.
Common validation failures:
transaction.amount is less than 1notification.webhookUrl is not HTTPS, is malformed, or points to a local addressuserDetails.email is not a valid email addressuserDetails.phone does not match the expected international formatpi-client-id is missing or invalidEndpoint Path
/{culture}/api/v1/checkout/createHeaders
| Header | Required | Description |
|---|---|---|
| `pi-api-key` | Required | API authentication key |
| `pi-client-id` | Required | Merchant client identifier |
| `pi-correlation-id` | Optional | Unique correlation identifier |
Request Body
{
"transaction": {
"amount": 10000,
"currency": "USD"
},
"clientOrderDetails": {
"clientOrderId": "ORDER-123",
"description": "Purchase of widgets"
},
"userDetails": {
"firstName": "Jane",
"lastName": "Doe",
"email": "jane.doe@example.com",
"clientUserId": "user-789",
"phone": "+441234567890",
"address": "12 Example Street",
"city": "London",
"state": "Greater London",
"country": "GB",
"postalCode": "SW1A 1AA"
},
"notification": {
"successUrl": "https://merchant.example.com/success",
"cancelUrl": "https://merchant.example.com/cancel",
"webhookUrl": "https://merchant.example.com/webhook"
}
}Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| `culture` | string | Required | Language and region code (e.g. `en`, `fr`, `de`) |
| `transaction.amount` | number | Required | Amount in minor currency units / cents (e.g. `10000` = $100.00). Must be greater than or equal to 1. |
| `transaction.currency` | string | Required | ISO 4217 currency code (e.g. `USD`). Normalized to uppercase. |
| `clientOrderDetails.clientOrderId` | string | Required | Your unique identifier for this order (max 50 chars) |
| `clientOrderDetails.description` | string | Required | Human-readable description of the purchase |
| `userDetails.firstName` | string | Required | Customer first name |
| `userDetails.lastName` | string | Required | Customer last name |
| `userDetails.email` | string | Required | Customer email address used for payment receipts |
| `userDetails.clientUserId` | string | Required | Your internal user ID for this customer |
| `userDetails.phone` | string | Required | Customer phone number in E.164 international format (e.g. `+441234567890`) |
| `userDetails.address` | string | Required | Street address line |
| `userDetails.city` | string | Required | Billing city |
| `userDetails.state` | string | Required | Billing state or province |
| `userDetails.country` | string | Required | ISO 3166-1 alpha-2 country code (e.g. `GB`, `US`) |
| `userDetails.postalCode` | string | Required | Billing postal or ZIP code |
| `notification.successUrl` | string | Required | Customer is redirected here after successful payment |
| `notification.cancelUrl` | string | Required | Customer is redirected here if they cancel |
| `notification.webhookUrl` | string | Required | Receives async POST events when checkout status changes. Must be publicly reachable HTTPS. |
Response Body
{
"success": true,
"message": "Checkout session created successfully",
"data": {
"checkoutId": "1528874549724192768",
"checkoutUrl": "https://checkout-dev.payintelli.com/en/checkoutpage?checkoutId=1528874549724192768&token=sample_checkout_token_12345",
"sdkCheckoutUrl": "https://checkout-dev.payintelli.com/en/checkout-sdk-page?checkoutId=1528874549724192768&token=sample_checkout_token_12345"
}
}Response Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| `success` | boolean | Required | Indicates whether the checkout session was created successfully (`true` or `false`) |
| `message` | string | Required | Human-readable status or result description |
| `data` | object | Required | Container payload containing the created session details and payment URLs |
| `data.checkoutId` | string | Required | Unique identifier generated for this checkout session |
| `data.checkoutUrl` | string | Required | Hosted checkout page URL to redirect the customer to complete payment |
| `data.sdkCheckoutUrl` | string | Required | Embedded SDK checkout URL for direct SDK integration |
Endpoints
Description
Retrieves the current status of an ongoing or completed checkout session.
Status: 200 OK
Endpoint Path
/{culture}/api/v1/checkout/status/{checkoutId}Headers
| Header | Required | Description |
|---|---|---|
| `pi-api-key` | Required | API authentication key |
| `pi-client-id` | Required | Merchant client identifier |
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| `culture` | string | Required | Language and region code (e.g. `en`) |
| `checkoutId` | string | Required | The unique ID returned when checkout was created |
Response Body
{
"checkoutId": "1234567890123456789",
"status": "PENDING",
"transaction": {
"amount": 100.00,
"currency": "USD"
}
}Response Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| `checkoutId` | string | Required | The unique identifier of the checkout session |
| `status` | string | Required | Current state of the checkout session (`PENDING`, `SUCCESS`, `CANCELLED`, `FAILED`) |
| `transaction` | object | Required | Payment transaction summary |
| `transaction.amount` | number | Required | Total transaction amount |
| `transaction.currency` | string | Required | ISO 4217 currency code |
Endpoints
Description
Retrieves the full details of a checkout session, including customer profile, order items, and delivery status.
Status: 200 OK
Endpoint Path
/{culture}/api/v1/checkout/details/{checkoutId}Headers
| Header | Required | Description |
|---|---|---|
| `pi-api-key` | Required | API authentication key |
| `pi-client-id` | Optional | Merchant client identifier |
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| `culture` | string | Required | Language and region code (e.g. `en`) |
| `checkoutId` | string | Required | The ID returned when the checkout was created |
Response Body
{
"checkoutId": "1234567890123456789",
"status": "PENDING",
"transaction": {
"amount": 100.00,
"currency": "USD"
},
"clientOrderDetails": {
"clientOrderId": "ORDER-123",
"description": "Purchase of widgets"
},
"userDetails": {
"firstName": "Jane",
"lastName": "Doe",
"email": "jane.doe@example.com",
"clientUserId": "user-789",
"phone": "+441234567890",
"address": "12 Example Street",
"city": "London",
"state": "Greater London",
"country": "GB",
"postalCode": "SW1A 1AA"
},
"additionalData": {
"correlationId": "corr-abc-123"
}
}Response Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| `checkoutId` | string | Required | The unique ID returned when the checkout was created |
| `status` | string | Required | Checkout session status (`PENDING`, `SUCCESS`, `CANCELLED`, `FAILED`) |
| `transaction` | object | Required | Payment transaction details |
| `transaction.amount` | number | Required | Total transaction amount |
| `transaction.currency` | string | Required | ISO 4217 currency code |
| `clientOrderDetails` | object | Required | Merchant order information |
| `clientOrderDetails.clientOrderId` | string | Required | Unique order identifier supplied by the merchant |
| `clientOrderDetails.description` | string | Required | Human-readable order description |
| `userDetails` | object | Required | Customer contact and billing information |
| `userDetails.firstName` | string | Required | Customer first name |
| `userDetails.lastName` | string | Required | Customer last name |
| `userDetails.email` | string | Required | Customer email address |
| `userDetails.clientUserId` | string | Required | Merchant internal customer identifier |
| `userDetails.phone` | string | Required | Customer phone number in E.164 format |
| `userDetails.address` | string | Required | Customer billing address line |
| `userDetails.city` | string | Required | Customer billing city |
| `userDetails.state` | string | Required | Customer billing state or province |
| `userDetails.country` | string | Required | ISO 3166-1 alpha-2 country code |
| `userDetails.postalCode` | string | Required | Customer billing postal code |
| `additionalData` | object | Optional | Optional metadata or correlation identifiers |
| `additionalData.correlationId` | string | Optional | Correlation identifier passed in request headers |
Endpoints
Description
Asynchronous notifications delivered to your configured notification.webhookUrl whenever a checkout session status changes.
Your server must acknowledge receipt with a 2xx HTTP status code (e.g. 200 OK):
Endpoint Path
/your-webhook-endpointRequest Body
{
"eventType": "checkout_success",
"checkoutId": 1234567890123456789,
"clientOrderId": "ORDER-123",
"transactionId": 9876543210,
"status": "success",
"timestamp": "2026-06-12T12:34:56Z"
}Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| `eventType` | string | Optional | Event type identifier (e.g. `checkout_success`, `checkout_cancelled`, `checkout_failed`) |
| `checkoutId` | number | Optional | Unique checkout session identifier |
| `clientOrderId` | string | Optional | Merchant order ID specified during checkout creation |
| `transactionId` | number | Optional | Unique payment transaction identifier |
| `status` | string | Optional | Payment status (`success`, `cancelled`, `failed`) |
| `timestamp` | string | Optional | ISO 8601 UTC timestamp of the event |
Response Body
{
"status": "received"
}