Skip to main content

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​

FieldTypeRequiredDescription
numberstringOrder reference number. If null or not provided, the order will be assigned the next highest number.
currencystring
languageCodestringTwo-letter language code (ISO 639-1)
discountPricenumber
expiresAtstring
reservationNamestring
reservationCommentstring
createdAtstringThe date and time the resource was created (UTC format)
advancePaymentbooleanOrder-level advance-payment DEFAULT (persisted as orders.advance_payment_default). When true, the POS terminal pre-ticks the advance-payment checkbox at…
customerobject
orderPositionsarrayβœ“List of items/products in the order with their quantities and prices
paymentsarrayList 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

Base URL
https://pos.paysera.com
Body REQUIRED
{
"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

Order created successfully
{
"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"
}
}