Download OpenAPI specification:Download
The MerchantAPI allows merchants to interact with and retrieve information from the PayPlaza payment system. It allows merchants to retrieve information about how their account has been setup with Stores and Terminals. It allows merchants to retrieve the list and the details of Transactions and it allows merchants to initiate a new Payment.
Error responses, HTTP status 400 and higher, will contain a JSON response body with details about the error. We follow the error response format proposed in RFC 7807 also known as Problem Details for HTTP APIs. As with our normal API responses, your client must be prepared to gracefully handle additional members of the response.
Note: Problem type and instance identifiers in our APIs are not meant to be resolved.
RFC 7807 encourages that problem types are URI references that point to human-readable documentation, but we deliberately decided against that, as all important parts of the API are documented.
[- {
- "id": "stringstringstr",
- "label": "string",
- "lastUsage": "2019-08-24T14:15:22Z",
- "validity": {
- "from": "2022-03-10T12:15:50-04:00",
- "until": "2022-03-10T12:15:50-04:00"
}
}
]| label required | string |
object or null |
{- "label": "string",
- "validity": {
- "from": "2022-03-10T12:15:50-04:00",
- "until": "2022-03-10T12:15:50-04:00"
}
}{- "id": "stringstringstr",
- "label": "string",
- "apikey": "stringstringstringstringstringstringstringstringst"
}{- "title": "Not Found",
- "status": 404,
- "detail": "Record not found",
}| page | integer <int32> >= 1 Default: 1 The page number of your query result |
| size | integer <int32> [ 1 .. 100 ] Default: 10 The amount of results (defaults to 10) |
[- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "address": {
- "address": "string",
- "zipCode": "string",
- "city": "string",
- "stateCode": "string",
- "countryCode": "st"
}
}
]| page | integer <int32> >= 1 Default: 1 The page number of your query result |
| size | integer <int32> [ 1 .. 100 ] Default: 10 The amount of results (defaults to 10) |
[- {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string",
- "address": {
- "address": "string",
- "zipCode": "string",
- "city": "string",
- "stateCode": "string",
- "countryCode": "st"
}, - "devices": [
- {
- "manufacturer": "string",
- "model": "string",
- "serial": "string",
- "ecrId": "string"
}
]
}
]| page | integer <int32> >= 1 Default: 1 The page number of your query result, starting at 1 |
| size | integer <int32> [ 1 .. 100 ] Default: 10 The amount of results per page, maximum 100 (defaults to 10) |
| category | string or null Filter on terminal category. Possible values: ALL (default, all terminals), CLOUD (only terminals with Cloud Integration)) |
[- {
- "device": {
- "manufacturer": "string",
- "model": "string",
- "serial": "string"
}
}
]| manufacturer required | string [ 1 .. 255 ] characters Manufacturer name of the terminal |
| model required | string [ 1 .. 255 ] characters Model name of the terminal |
| serial required | string [ 1 .. 255 ] characters Serial(number) of the terminal |
{- "device": {
- "manufacturer": "string",
- "model": "string",
- "serial": "string"
}
}| manufacturer required | string [ 1 .. 255 ] characters Manufacturer name of the terminal |
| model required | string [ 1 .. 255 ] characters Model name of the terminal |
| serial required | string [ 1 .. 255 ] characters Serial(number) of the terminal |
{- "receipt": "string"
}| manufacturer required | string [ 1 .. 255 ] characters Manufacturer name of the terminal |
| model required | string [ 1 .. 255 ] characters Model name of the terminal |
| serial required | string [ 1 .. 255 ] characters Serial(number) of the terminal |
| page | integer <int32> >= 1 Default: 1 The page number of your query result, starting at 1 |
| size | integer <int32> [ 1 .. 100 ] Default: 10 The amount of results per page, maximum 100 (defaults to 10) |
[- {
- "id": "string",
- "creation_datetime": "2022-01-19T12:58:00Z",
- "merchant_order_reference": "Q99PM-2QHFW-FQ",
- "brand": "string",
- "system_trace_audit_number": "string",
- "receipt": "string",
- "original_id": "string",
- "authorization_code": "string",
- "merchant_id": "string",
- "processor_terminal_id": "string",
- "type": "PURCHASE",
- "amount": {
- "value": 10298.75,
- "currency": "EUR"
}, - "store": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string"
}, - "merchant_receipt": "string",
- "result": "APPROVED",
- "status": "CREATED"
}
]The Merchant-API will make sure only one newly created transaction is available for a specific terminal. This means that when creating a new transaction, previous transaction(s) with status CREATED will be aborted. So given transactions A and B, when transaction A has not been retrieved by the terminal when creating transaction B the Merchant API will abort transaction A, and the terminal will receive transaction B.
| manufacturer required | string [ 1 .. 255 ] characters Manufacturer name of the terminal |
| model required | string [ 1 .. 255 ] characters Model name of the terminal |
| serial required | string [ 1 .. 255 ] characters Serial(number) of the terminal |
| merchant_order_reference required | string [ 1 .. 14 ] characters ([0-9a-zA-Z]|-|_){1,14} Reference provided by the Merchant for future identification of this Transaction |
| type required | string (TransactionType) Enum: "PURCHASE" "PRE_AUTH" "REFUND" "CNP_REFUND" "PURCHASE_MAT"
|
required | object (Amount) Describes how much money the transaction should be. |
object or null Reference object that represents a unique identifier for a transaction |
{- "type": "PURCHASE",
- "merchant_order_reference": "1234",
- "amount": {
- "value": 0.01,
- "currency": "EUR"
}
}{- "id": "string",
- "creation_datetime": "2022-01-19T12:58:00Z",
- "merchant_order_reference": "Q99PM-2QHFW-FQ",
- "brand": "string",
- "system_trace_audit_number": "string",
- "receipt": "string",
- "original_id": "string",
- "authorization_code": "string",
- "merchant_id": "string",
- "processor_terminal_id": "string",
- "type": "PURCHASE",
- "amount": {
- "value": 10298.75,
- "currency": "EUR"
}, - "store": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string"
}, - "merchant_receipt": "string",
- "result": "APPROVED",
- "status": "CREATED"
}| manufacturer required | string [ 1 .. 255 ] characters Manufacturer name of the terminal |
| model required | string [ 1 .. 255 ] characters Model name of the terminal |
| serial required | string [ 1 .. 255 ] characters Serial(number) of the terminal |
| id required | string = 31 characters [0-9]{31} Identifier of a transaction |
{- "id": "string",
- "creation_datetime": "2022-01-19T12:58:00Z",
- "merchant_order_reference": "Q99PM-2QHFW-FQ",
- "brand": "string",
- "system_trace_audit_number": "string",
- "receipt": "string",
- "original_id": "string",
- "authorization_code": "string",
- "merchant_id": "string",
- "processor_terminal_id": "string",
- "type": "PURCHASE",
- "amount": {
- "value": 10298.75,
- "currency": "EUR"
}, - "store": {
- "uuid": "095be615-a8ad-4c33-8e9c-c7612fbf6c9f",
- "name": "string"
}, - "merchant_receipt": "string",
- "result": "APPROVED",
- "status": "CREATED"
}| manufacturer required | string [ 1 .. 255 ] characters Manufacturer name of the terminal |
| model required | string [ 1 .. 255 ] characters Model name of the terminal |
| serial required | string [ 1 .. 255 ] characters Serial(number) of the terminal |
| id required | string = 31 characters [0-9]{31} Identifier of a transaction |
{- "title": "Not Found",
- "status": 404,
- "detail": "Record not found",
}{- "title": "Not Found",
- "status": 404,
- "detail": "Record not found",
} Retrieve a paginated list of CNP transactions for the authenticated organization.
Returns CNP transactions from the last 90 days based on data retention policy.
| page required | integer >= 1 Default: 1 Page number (1-based) |
| size required | integer [ 1 .. 100 ] Default: 10 Page size |
{- "currentPage": null,
- "currentPageIndex": 0,
- "pageCount": 0,
- "totalCount": 0,
- "pageSize": 0
} Retrieves the day totals receipt for CNP transactions for the authenticated organization.
Returns totals from midnight (00:00) of the current day by default.
Optionally, you can specify a start time to filter transactions from a specific hour.
| hourFrom required | integer or null [ 0 .. 23 ] Starting hour (0-23). Defaults to 0 (midnight) |
| minuteFrom required | integer or null [ 0 .. 59 ] Starting minute (0-59). Defaults to 0 |
{- "title": "Not Found",
- "status": 404,
- "detail": "Record not found",
} Retrieve the status and details of a specific CNP (Card Not Present) transaction.
Only transactions of type CNP_REFUND are supported.
| cnpTransactionId required | string [ 1 .. 255 ] characters CNP transaction identifier |
{- "merchant_order_reference": "656",
- "amount": {
- "value": 25,
- "currency": "EUR"
}, - "store": {
- "uuid": "c0803ecb-177a-4b03-9a39-6030b86beca5",
- "name": "Certification Store eMerchantpay"
}, - "id": "0001012025091810182125600000004",
- "system_trace_audit_number": "100123",
- "brand": "VISA",
- "receipt": " Certification Store \n eMerchantpay example",
- "result": "APPROVED",
- "status": "CLEARED",
- "creation_datetime": "2025-09-18T08:18:16Z",
- "merchant_id": "180ad3fe-f192-49ba-a5e7-8f09718f651c",
- "type": "CNP_REFUND",
- "authorization_code": "148490"
} The Merchant-API ensures that only one CNP refund is created and processed per transaction (purchase).
The terminal is not part of this refund flow.
| transactionId required | string [ 1 .. 255 ] characters Original transaction identifier |
| transactionId required | string[0-9]{31}
|
| status required | string([0-9a-zA-Z]|-|_){1,14} Result of the operation |
| merchantOrderReference required | string |
required | object (Amount) Describes how much money the transaction should be. |
{- "merchant_order_reference": "1234",
- "amount": {
- "value": 0.01,
- "currency": "EUR"
}
}{- "transactionId": "string",
- "status": "FAILED - SUCCESS",
- "merchantOrderReference": "string",
- "amount": {
- "value": 10298.75,
- "currency": "EUR"
}
}