Create order
POST https://pos.paysera.com/eapi/v1/orders
Create a new order with specified products, customer information, and payment details.
Order Positionsβ
Each order must contain at least one order position (product/service).
Customer Informationβ
Optional customer details can be included for invoicing and tracking.
Paymentsβ
Payment information can be included or added separately.
Authorizationβ
This endpoint requires a Personal Access Token, sent as a Bearer token.
To obtain one, your account needs API permission. Once granted, go to /user/settings in your POS account and create a personal access token.
Authorization Header Format:
Authorization: Bearer YOUR_ACCESS_TOKEN
Example:
Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...
For more details, see the Authentication section.
Request Bodyβ
| Field | Type | Required | Description |
|---|---|---|---|
number | string | Order reference number. If null or not provided, the order will be assigned the next highest number. | |
currency | string | ||
languageCode | string | Two-letter language code (ISO 639-1) | |
discountPrice | number | ||
expiresAt | string | ||
reservationName | string | ||
reservationComment | string | ||
createdAt | string | The date and time the resource was created (UTC format) | |
advancePayment | boolean | Order-level advance-payment DEFAULT (persisted as orders.advance_payment_default). When true, the POS terminal pre-ticks the advance-payment checkbox at⦠| |
customer | object | ||
orderPositions | array | β | List of items/products in the order with their quantities and prices |
payments | array | List of payment transactions associated with this order. This field should only be used if payment was already made from an external system. If payment should⦠|
advancePaymentβ
Order-level advance-payment DEFAULT (persisted as orders.advance_payment_default). When true, the POS terminal pre-ticks the advance-payment checkbox at checkout (the cashier can still un-tick it); it is suppressed for margin-scheme positions and when the operator lacks the advance-payment permission. NOTE: this is a distinct concept from the per-payment payments[].advancePayment flag below, which marks one individual payment as an advance β setting one does not affect the other.
paymentsβ
List of payment transactions associated with this order. This field should only be used if payment was already made from an external system. If payment should happen via POS, leave this field empty.
Errorsβ
This endpoint may return the following errors:
400 - Bad Requestβ
The request was invalid or cannot be served.
401 - Unauthorizedβ
Unauthorized
This error was produced by providing incorrect credentials.
403 - Forbiddenβ
Forbidden
This error indicates you don't have permission to access this resource.
409 - Conflictβ
Order number already exists
422 - Unprocessable Entityβ
Unprocessable entity
429 - Too Many Requestsβ
You have exceeded the rate limit. Please try again in a minute.
500 - Internal Server Errorβ
Internal server error
Exampleβ
Requestβ
POST https://pos.paysera.com/eapi/v1/orders
Content-Type: application/json
Authorization: Bearer YOUR_ACCESS_TOKEN
{
"number": null,
"currency": "EUR",
"languageCode": "en",
"discountPrice": 0,
"expiresAt": "2024-11-04T10:15:30Z",
"reservationName": "John",
"reservationComment": "Some comment",
"createdAt": "2024-11-04T10:15:30Z",
"advancePayment": true,
"customer": {
"firstName": "John",
"lastName": "Doe",
"companyName": "Acme Inc.",
"companyCode": "123456789",
"companyVat": "LT123456789",
"email": "john.doe@example.com",
"languageCode": "en",
"billingAddress": {
"phone": "+1-555-123-4567",
"address1": "123 Main St",
"address2": "Apt 4B",
"zip": "LT12345",
"city": "Anytown",
"country": "US"
}
},
"orderPositions": [
{
"title": "Product title",
"productSKU": "123abc",
"quantity": 1,
"unitPrice": {
"regular": "89.99",
"special": "79.99",
"discount": "5.00",
"cost": "60.00"
},
"tax": {
"taxRate": 21,
"taxClassifier": "PVM1"
},
"measureUnit": "unit"
}
],
"payments": [
{
"cashRegisterNumber": "CR-000000001",
"paymentMethod": "bankTransfer",
"amount": "100.00",
"payoutAmount": "25.01",
"advancePayment": 0,
"createdAt": "2024-11-04T10:15:30Z"
}
]
}
Responseβ
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"number": "123456",
"status": "waitingPayment",
"currency": "EUR",
"languageCode": "en",
"expiresAt": "2024-11-04T10:15:30Z",
"createdAt": "2024-11-04T10:15:30Z",
"updatedAt": "2024-11-04T10:15:30Z",
"advancePayment": false,
"customer": {
"firstName": "John",
"lastName": "Doe",
"companyName": "Acme Inc.",
"companyCode": "123456789",
"companyVat": "LT123456789",
"email": "john.doe@example.com",
"languageCode": "en",
"billingAddress": {
"phone": "+1-555-123-4567",
"address1": "123 Main St",
"address2": "Apt 4B",
"zip": "LT12345",
"city": "Anytown",
"country": "US"
}
},
"orderPositions": [
{
"title": "string",
"productSKU": "123abc",
"quantity": 0,
"refundQuantity": "string",
"price": {
"total": "74.99",
"refundTotal": "0.00",
"totalAfterRefund": "74.99",
"unit": {
"regular": "89.99",
"special": "79.99",
"discount": "5.00",
"cost": "60.00"
}
},
"tax": {
"taxRate": 21,
"taxClassifier": "PVM1"
}
}
],
"payments": [
{
"cashRegisterNumber": "CR-000000001",
"paymentMethod": "cash",
"transactionId": "string",
"amount": "100.00",
"payoutAmount": "25.01",
"advancePayment": 0,
"createdAt": "2024-11-04T10:15:30Z",
"updatedAt": "2024-11-04T10:15:30Z"
}
],
"totals": {
"subtotal": "74.99",
"shippingPrice": "string",
"paymentPrice": "string",
"discount": "5.00",
"total": "74.99",
"totalRefunded": "0.00",
"totalAfterRefund": "74.99"
}
}
AUTHORIZATION: HTTP
REQUEST
{
"number": null,
"currency": "EUR",
"languageCode": "en",
"discountPrice": 0,
"expiresAt": "2024-11-04T10:15:30Z",
"reservationName": "John",
"reservationComment": "Some comment",
"createdAt": "2024-11-04T10:15:30Z",
"advancePayment": true,
"customer": {
"firstName": "John",
"lastName": "Doe",
"companyName": "Acme Inc.",
"companyCode": "123456789",
"companyVat": "LT123456789",
"email": "john.doe@example.com",
"languageCode": "en",
"billingAddress": {
"phone": "+1-555-123-4567",
"address1": "123 Main St",
"address2": "Apt 4B",
"zip": "LT12345",
"city": "Anytown",
"country": "US"
}
},
"orderPositions": [
{
"title": "Product title",
"productSKU": "123abc",
"quantity": 1,
"unitPrice": {
"regular": "89.99",
"special": "79.99",
"discount": "5.00",
"cost": "60.00"
},
"tax": {
"taxRate": 21,
"taxClassifier": "PVM1"
},
"measureUnit": "unit"
}
],
"payments": [
{
"cashRegisterNumber": "CR-000000001",
"paymentMethod": "bankTransfer",
"amount": "100.00",
"payoutAmount": "25.01",
"advancePayment": 0,
"createdAt": "2024-11-04T10:15:30Z"
}
]
}
RESPONSE
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"number": "123456",
"status": "waitingPayment",
"currency": "EUR",
"languageCode": "en",
"expiresAt": "2024-11-04T10:15:30Z",
"createdAt": "2024-11-04T10:15:30Z",
"updatedAt": "2024-11-04T10:15:30Z",
"advancePayment": false,
"customer": {
"firstName": "John",
"lastName": "Doe",
"companyName": "Acme Inc.",
"companyCode": "123456789",
"companyVat": "LT123456789",
"email": "john.doe@example.com",
"languageCode": "en",
"billingAddress": {
"phone": "+1-555-123-4567",
"address1": "123 Main St",
"address2": "Apt 4B",
"zip": "LT12345",
"city": "Anytown",
"country": "US"
}
},
"orderPositions": [
{
"title": "string",
"productSKU": "123abc",
"quantity": 0,
"refundQuantity": "string",
"price": {
"total": "74.99",
"refundTotal": "0.00",
"totalAfterRefund": "74.99",
"unit": {
"regular": "89.99",
"special": "79.99",
"discount": "5.00",
"cost": "60.00"
}
},
"tax": {
"taxRate": 21,
"taxClassifier": "PVM1"
}
}
],
"payments": [
{
"cashRegisterNumber": "CR-000000001",
"paymentMethod": "cash",
"transactionId": "string",
"amount": "100.00",
"payoutAmount": "25.01",
"advancePayment": 0,
"createdAt": "2024-11-04T10:15:30Z",
"updatedAt": "2024-11-04T10:15:30Z"
}
],
"totals": {
"subtotal": "74.99",
"shippingPrice": "string",
"paymentPrice": "string",
"discount": "5.00",
"total": "74.99",
"totalRefunded": "0.00",
"totalAfterRefund": "74.99"
}
}