Nexi POS REST API
Download OpenAPI specification (YAML)
Download OpenAPI specification (JSON)
Transactions
Operations where the main object to be managed is a transaction.
The transaction object contains all the information about the current state of a single transaction. A transaction is updated multiple times during its lifecycle, which means the transaction object is a snapshot of the transaction at a specific point in time.
Identifiers explains the primary transaction identifiers.
Transaction
schema
- authorized_amount integer - optional
Amount that was authorized by the acquirer, see Authorized amount.
- Range: 0-999999999999
- captured_amount integer - optional
Amount that was captured from customer account, see Captured amount.
- Range: 0-999999999999
- cashback_amount integer - optional
Amount of cashback given to the customer, see Cashback amount.
- Range: 0-999999999999
- confirmed_at string - optional
Time when the transaction was confirmed. Missing if the transaction hasn’t been confirmed yet.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- created_at string - optional
Time when the transaction was created.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- currency string - optional
Currency of the transaction, see Currency.
- Length: 3 characters
- Pattern:
^[A-Z]{3}$
- customer_identity object - optional
Customer identity information. If the customer was identified somehow by their payment instrument, this information is available in the transaction details. There can be multiple ways utilized at the same time for a single transaction, so this object will contain data for the methods that were used for this transaction.
- computop object - optional
Computop specific customer identity information.
- card_token string - optional
Computop specific card token. This is a unique identifier for the card that can be used to identify the card in future transactions.
- Length: 16 characters
- Pattern:
^[0-9]{16}$
- par object - optional
Payment account reference (PAR) as provided by the payment instrument. This is a unique identifier for the card that can be used to identify the card in future transactions.
- par_value string - optional
Payment account reference (PAR) as read from the payment instrument.
- Length: 29 characters
- Pattern:
^[0-9A-Z]{29}$
- customer_not_present boolean - optional
Indicator that the transaction was done without the customer being present at the terminal.
- Default:
false
- Default:
- dcc object - optional
Details of a currency conversion, see DCC. This element only present if the transaction was processed in a different currency for the customer than the one in
currencyfield.- customer_amount integer - optional
Amount that the customer paid in their own currency. This amount is in the currency listed in
customer_currency.- Range: 0-999999999999
- customer_currency string - optional
Currency that customer paid in, see Currency.
- Length: 3 characters
- Pattern:
^[A-Z]{3}$
- exchange_rate integer - optional
Exchange rate that was used for the DCC transaction. The value is expressed as an integer with exactly four decimal places. That means that a value of
10000is equal to 1:1 exchange rate.- Minimum: 0
- exchange_rate_date string - optional
Date when the exchange rate was obtained from the provider.
- Format: date
- Length: 1-10 characters
- Pattern:
^\d{4}-\d{2}-\d{2}$
- exchange_rate_provider string - optional
Exchange rate provider that was used for the transaction.
- Length: 1-63 characters
- Pattern:
^[\x20-\x7E]{1,63}$
- markup_fee integer - optional
Mark-up fee that was charged for the DCC transaction. The value is expressed as an integer in one hundredth of percents, so
100means a mark-up of 1 %.- Range: 0-10000
- provider string - optional
DCC provider that was used for the transaction.
- Length: 1-63 characters
- Pattern:
^[\x20-\x7E]{1,63}$
- external_id string - optional
Client provided identifier for the transaction, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- id string - optional
Internal identifier for the transaction, see Id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- metadata object - optional
Client provided transaction metadata, see Metadata.
- original_purchase_external_id string - optional
Original purchase transaction’s
external_id, see External id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- original_purchase_id string - optional
Original purchase transaction’s
id, see Id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- original_purchase_terminal_id string - optional
Original purchase transaction’s
terminal_id, see Terminal id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- payment_method_details - optional
Payment method specific information
Any of the objects below can be in the payload
When
payment_methodisCARD- payment_method string - required
CARD - acquirer_reference string - optional
Transaction reference number in format
YYMMDDNNNNNN. It is set by the terminal at the time the transaction is created and guaranteed to be unique within the terminal. It is transmitted to the acquirer during transaction processing.- Length: 12 characters
- Pattern:
^[0-9]{12}$
- acquirer_terminal_id string - optional
Terminal identifier that is used towards the acquirer. It often matches the transaction terminal id, but some acquirers have special rules and limitations that require it to be different.
- Length: 8 characters
- Pattern:
^[0-9A-Z]{8}$
- acquirer_timestamp string - optional
Local transaction time in format
YYMMDDHHMMSS. It is set by the terminal at the time the transaction is created. It is transmitted to the acquirer during transaction processing.- Length: 12 characters
- Pattern:
^[0-9]{12}$
- application_identifier string - optional
Application identifier (AID) of the selected card application.
- Length: 10-32 characters
- Pattern:
^[0-9A-F]{10,32}$
- application_name string - optional
Name of the selected card application.
- Length: 1-16 characters
- Pattern:
^[\x20-\x7E]{1,16}$
- authorization_code string - optional
Authorization code for the transaction, if received from the acquirer.
- Length: 6 characters
- Pattern:
^[0-9A-Z]{6}$
- authorization_response_code string - optional
Response code from the acquirer. This is not the same as the
result_codeof the transaction. This is a code that is used by the acquirer to indicate the result of the authorization. Generally00means success.- Length: 2 characters
- Pattern:
^[0-9A-Z]{2}$
- card_entry_mode string - optional
Card entry mode is the way the card was read by the terminal. This does not directly tell the form factor of the card, as contactless entry mode is used for anything that is read wirelessly, including mobile phones and smartwatches.
Value Description CONTACT_EMVCard was inserted into the terminal and the chip was read CONTACTLESS_EMVCard or phone was tapped on the terminal and the chip was read wirelessly MAGNETIC_STRIPECard was swiped on the terminal and the magnetic stripe was read MANUALCard number was typed in manually on the terminal - card_number_customer string - optional
Card primary account number that can be shown to the customer. Generally only the last 4 digits are shown, rest are masked.
- Length: 13-19 characters
- Pattern:
^[0-9*]{13,19}$
- card_number_merchant string - optional
Card primary account number that can be shown to the merchant. Generally first 6 and last 4 digits are shown, rest are masked.
- Length: 13-19 characters
- Pattern:
^[0-9*]{13,19}$
- card_scheme string - optional
Card scheme is the payment network the card is provided by. This is not necessarily the card brand which is printed on top of the card. Scheme will never be
UNKNOWNfor a successful transaction.AMEXBANKAXEPTDANKORTDINERS_CLUBGIROCARDJCBMASTERCARDUNIONPAYVISAUNKNOWN - card_sequence_number string - optional
Sequence number for multiple cards with the same card number. Required to be printed on receipts.
- Length: 2 characters
- Pattern:
^[0-9]{2}$
- cardholder_verification string - optional
Cardholder verification method (CVM) is the way the cardholder was verified to be the owner of the card.
Value Description NONECardholder has not been verified SIGNATURECardholder has given their signature PINCardholder typed in a PIN code PIN_AND_SIGNATUREBoth `SIGNATURE` and `PIN` were used CONSUMER_DEVICECardholder used a consumer device, such as a phone, for verification
- receipt_details_customer string - optional
Customer receipt details, see Receipt. This is the information that must be printed on the customer receipt.
- Length: 1-1023 characters
- Pattern:
^([\x20-\x7E]{0,32}\n){1,31}$
- receipt_details_merchant string - optional
Merchant receipt details, see Receipt. This is the information that must be printed on the merchant receipt.
- Length: 1-1023 characters
- Pattern:
^([\x20-\x7E]{0,32}\n){1,31}$
- reference string - optional
Unique reference number for the transaction. This is a number that should be printed on the receipt. It can be typed into the terminal to reference the purchase for a refund. All “-” characters are just for visual separation and will not be required on input.
- Length: 1-63 characters
- Pattern:
^[0-9-]{1,63}$
- requested_amount integer - optional
Amount that was requested for the transaction, see Requested amount.
- Range: 0-999999999999
- result_code string - optional
Result of the transaction, see Results and errors.
- Length: 1-255 characters
- Pattern:
^[0-9A-Z_]{1,255}$
- result_description string - optional
English language transaction result description for logs and administrative interfaces. It should not be shown to customer and might be too technical to be useful for a cashier.
- Length: 1-255 characters
- Pattern:
^[\x20-\x7E]{1,255}$
- state string - optional
State of the transaction, see Transaction flow.
Value Description AWAITING_CONFIRMNeeds client to send 'confirm' message to continue processing AWAITING_CONTINUENeeds client to send 'continue' message to continue processing PROCESSINGTransaction is being processed CONFIRMEDTransaction has been confirmed as successful or failed COMMITTEDTransaction result has been committed and cannot be changed - surcharge_amount integer - optional
Amount of surcharge that was added to the transaction, see Surcharge amount.
- Range: 0-999999999999
- terminal_id string - optional
Identifier of the terminal that processed the transaction, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- tip_amount integer - optional
Amount of tip that was added to the transaction, see Tip amount.
- Range: 0-999999999999
- total_amount integer - optional
Current total amount for transaction, see Total amount
- Range: 0-999999999999
- type string - optional
Transaction type.
Value Description ACCOUNT_CHECKAccount check transaction to check if card is valid PURCHASEPurchase transaction to charge customer for goods REFUNDRefund transaction to return money to customer UNKNOWNTransaction type not known, or not representable in this enumeration - updated_at string - optional
Time when the transaction was last updated.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
{
"authorized_amount": 1000,
"captured_amount": 1000,
"cashback_amount": 1000,
"confirmed_at": "2024-11-07T05:25:55.123Z",
"created_at": "2024-11-07T05:25:55.123Z",
"currency": "EUR",
"customer_identity": {
"computop": {
"card_token": "1234567890123456"
},
"par": {
"par_value": "5001ABCDEFGHIJKLMNOPQRSTUVWXY"
}
},
"customer_not_present": true,
"dcc": {
"customer_amount": 1000,
"customer_currency": "EUR",
"exchange_rate": 42,
"exchange_rate_date": "2024-11-07",
"exchange_rate_provider": "ECB",
"markup_fee": 500,
"provider": "Nets"
},
"external_id": "123",
"id": "txn-12345678-01JPHYGPRMH9QRFS3M69SJW9SH",
"metadata": {
"key1": "value1",
"key2": "value2"
},
"original_purchase_external_id": "123",
"original_purchase_id": "txn-12345678-01JPHYGPRMH9QRFS3M69SJW9SH",
"original_purchase_terminal_id": "t-12345678",
"payment_method_details": {
"acquirer_reference": "241128113112",
"acquirer_terminal_id": "A1234567",
"acquirer_timestamp": "241128113123",
"application_identifier": "string",
"application_name": "string",
"authorization_code": "123ABC",
"authorization_response_code": "00",
"card_entry_mode": "string",
"card_number_customer": "************2454",
"card_number_merchant": "400770******2454",
"card_scheme": "string",
"card_sequence_number": "01",
"cardholder_verification": "string",
"payment_method": "string"
},
"receipt_details_customer": "CARD:************0010\nAPP: CREDITO DE VISA\nAID: A0000000031010\nMODE:ICC/PIN SEQ: 01\nAUTH:A1B2C3 RC: 00\nTIME:250629115005\nR:250629197805-87251720\n",
"receipt_details_merchant": "CARD:************0010\nAPP: CREDITO DE VISA\nAID: A0000000031010\nMODE:ICC/PIN SEQ: 01\nAUTH:A1B2C3 RC: 00\nTIME:250629115005\nR:250629197805-87251720\n",
"reference": "250404123456-01234567",
"requested_amount": 1000,
"result_code": "SUCCESS",
"result_description": "The amount given was negative.",
"state": "CONFIRMED",
"surcharge_amount": 1000,
"terminal_id": "t-12345678",
"tip_amount": 1000,
"total_amount": 1000,
"type": "string",
"updated_at": "2024-11-07T05:25:55.123Z"
}Create purchase transaction
POST /transaction/purchase
Starts the processing of a new purchase transaction.
Request body
- currency string - required
Currency of the transaction, see Currency.
- Length: 3 characters
- Pattern:
^[A-Z]{3}$
- external_id string - required
Client provided identifier for the purchase transaction, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- requested_amount integer - required
Amount to request from the customer, see Requested amount.
- Range: 0-999999999999
- terminal_id string - required
Identifier of the terminal that should perform the purchase, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- cashback_amount integer - optional
Amount of cashback that should be given to the customer, see Cashback amount.
- Range: 0-999999999999
- metadata object - optional
Client provided transaction metadata, see Metadata.
- options object - optional
Modify the behaviour of the server side request and transaction handling.
- on_customer_identified - optional
Action to be performed when the customer has been identified by their payment instrument but before the actual payment is done, see Pausing a transaction. The field
customer_identityis present in the transaction when this action runs, if the customer was identified.One of the objects below will be in the payload
Pause
- pause boolean - optional
Whether to pause the transaction. If true, the transaction will be paused at this point and the client will need to call
/transactions/continueto resume the transaction processing.
- wait_seconds number - optional
How many seconds the server should wait for transaction
stateto change before responding, see Long polling. Will respond immediately if set to0or if transactionstateis notPROCESSING.- Default:
25 - Range: 0-180
- Default:
{
"cashback_amount": 1000,
"currency": "EUR",
"external_id": "123",
"metadata": {
"key1": "value1",
"key2": "value2"
},
"options": {
"on_customer_identified": {
"pause": true
},
"wait_seconds": 60
},
"requested_amount": 1000,
"terminal_id": "t-12345678"
}Responses
- 200 Request processing succeeded
- transaction object - required
Current state of the transaction after creation.
- authorized_amount integer - optional
Amount that was authorized by the acquirer, see Authorized amount.
- Range: 0-999999999999
- captured_amount integer - optional
Amount that was captured from customer account, see Captured amount.
- Range: 0-999999999999
- cashback_amount integer - optional
Amount of cashback given to the customer, see Cashback amount.
- Range: 0-999999999999
- confirmed_at string - optional
Time when the transaction was confirmed. Missing if the transaction hasn’t been confirmed yet.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- created_at string - optional
Time when the transaction was created.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- currency string - optional
Currency of the transaction, see Currency.
- Length: 3 characters
- Pattern:
^[A-Z]{3}$
- customer_identity object - optional
Customer identity information. If the customer was identified somehow by their payment instrument, this information is available in the transaction details. There can be multiple ways utilized at the same time for a single transaction, so this object will contain data for the methods that were used for this transaction.
- computop object - optional
Computop specific customer identity information.
- card_token string - optional
Computop specific card token. This is a unique identifier for the card that can be used to identify the card in future transactions.
- Length: 16 characters
- Pattern:
^[0-9]{16}$
- par object - optional
Payment account reference (PAR) as provided by the payment instrument. This is a unique identifier for the card that can be used to identify the card in future transactions.
- par_value string - optional
Payment account reference (PAR) as read from the payment instrument.
- Length: 29 characters
- Pattern:
^[0-9A-Z]{29}$
- customer_not_present boolean - optional
Indicator that the transaction was done without the customer being present at the terminal.
- Default:
false
- Default:
- dcc object - optional
Details of a currency conversion, see DCC. This element only present if the transaction was processed in a different currency for the customer than the one in
currencyfield.- customer_amount integer - optional
Amount that the customer paid in their own currency. This amount is in the currency listed in
customer_currency.- Range: 0-999999999999
- customer_currency string - optional
Currency that customer paid in, see Currency.
- Length: 3 characters
- Pattern:
^[A-Z]{3}$
- exchange_rate integer - optional
Exchange rate that was used for the DCC transaction. The value is expressed as an integer with exactly four decimal places. That means that a value of
10000is equal to 1:1 exchange rate.- Minimum: 0
- exchange_rate_date string - optional
Date when the exchange rate was obtained from the provider.
- Format: date
- Length: 1-10 characters
- Pattern:
^\d{4}-\d{2}-\d{2}$
- exchange_rate_provider string - optional
Exchange rate provider that was used for the transaction.
- Length: 1-63 characters
- Pattern:
^[\x20-\x7E]{1,63}$
- markup_fee integer - optional
Mark-up fee that was charged for the DCC transaction. The value is expressed as an integer in one hundredth of percents, so
100means a mark-up of 1 %.- Range: 0-10000
- provider string - optional
DCC provider that was used for the transaction.
- Length: 1-63 characters
- Pattern:
^[\x20-\x7E]{1,63}$
- external_id string - optional
Client provided identifier for the transaction, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- id string - optional
Internal identifier for the transaction, see Id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- metadata object - optional
Client provided transaction metadata, see Metadata.
- original_purchase_external_id string - optional
Original purchase transaction’s
external_id, see External id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- original_purchase_id string - optional
Original purchase transaction’s
id, see Id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- original_purchase_terminal_id string - optional
Original purchase transaction’s
terminal_id, see Terminal id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- payment_method_details - optional
Payment method specific information
Any of the objects below can be in the payload
When
payment_methodisCARD- payment_method string - required
CARD - acquirer_reference string - optional
Transaction reference number in format
YYMMDDNNNNNN. It is set by the terminal at the time the transaction is created and guaranteed to be unique within the terminal. It is transmitted to the acquirer during transaction processing.- Length: 12 characters
- Pattern:
^[0-9]{12}$
- acquirer_terminal_id string - optional
Terminal identifier that is used towards the acquirer. It often matches the transaction terminal id, but some acquirers have special rules and limitations that require it to be different.
- Length: 8 characters
- Pattern:
^[0-9A-Z]{8}$
- acquirer_timestamp string - optional
Local transaction time in format
YYMMDDHHMMSS. It is set by the terminal at the time the transaction is created. It is transmitted to the acquirer during transaction processing.- Length: 12 characters
- Pattern:
^[0-9]{12}$
- application_identifier string - optional
Application identifier (AID) of the selected card application.
- Length: 10-32 characters
- Pattern:
^[0-9A-F]{10,32}$
- application_name string - optional
Name of the selected card application.
- Length: 1-16 characters
- Pattern:
^[\x20-\x7E]{1,16}$
- authorization_code string - optional
Authorization code for the transaction, if received from the acquirer.
- Length: 6 characters
- Pattern:
^[0-9A-Z]{6}$
- authorization_response_code string - optional
Response code from the acquirer. This is not the same as the
result_codeof the transaction. This is a code that is used by the acquirer to indicate the result of the authorization. Generally00means success.- Length: 2 characters
- Pattern:
^[0-9A-Z]{2}$
- card_entry_mode string - optional
Card entry mode is the way the card was read by the terminal. This does not directly tell the form factor of the card, as contactless entry mode is used for anything that is read wirelessly, including mobile phones and smartwatches.
Value Description CONTACT_EMVCard was inserted into the terminal and the chip was read CONTACTLESS_EMVCard or phone was tapped on the terminal and the chip was read wirelessly MAGNETIC_STRIPECard was swiped on the terminal and the magnetic stripe was read MANUALCard number was typed in manually on the terminal - card_number_customer string - optional
Card primary account number that can be shown to the customer. Generally only the last 4 digits are shown, rest are masked.
- Length: 13-19 characters
- Pattern:
^[0-9*]{13,19}$
- card_number_merchant string - optional
Card primary account number that can be shown to the merchant. Generally first 6 and last 4 digits are shown, rest are masked.
- Length: 13-19 characters
- Pattern:
^[0-9*]{13,19}$
- card_scheme string - optional
Card scheme is the payment network the card is provided by. This is not necessarily the card brand which is printed on top of the card. Scheme will never be
UNKNOWNfor a successful transaction.AMEXBANKAXEPTDANKORTDINERS_CLUBGIROCARDJCBMASTERCARDUNIONPAYVISAUNKNOWN - card_sequence_number string - optional
Sequence number for multiple cards with the same card number. Required to be printed on receipts.
- Length: 2 characters
- Pattern:
^[0-9]{2}$
- cardholder_verification string - optional
Cardholder verification method (CVM) is the way the cardholder was verified to be the owner of the card.
Value Description NONECardholder has not been verified SIGNATURECardholder has given their signature PINCardholder typed in a PIN code PIN_AND_SIGNATUREBoth `SIGNATURE` and `PIN` were used CONSUMER_DEVICECardholder used a consumer device, such as a phone, for verification
- receipt_details_customer string - optional
Customer receipt details, see Receipt. This is the information that must be printed on the customer receipt.
- Length: 1-1023 characters
- Pattern:
^([\x20-\x7E]{0,32}\n){1,31}$
- receipt_details_merchant string - optional
Merchant receipt details, see Receipt. This is the information that must be printed on the merchant receipt.
- Length: 1-1023 characters
- Pattern:
^([\x20-\x7E]{0,32}\n){1,31}$
- reference string - optional
Unique reference number for the transaction. This is a number that should be printed on the receipt. It can be typed into the terminal to reference the purchase for a refund. All “-” characters are just for visual separation and will not be required on input.
- Length: 1-63 characters
- Pattern:
^[0-9-]{1,63}$
- requested_amount integer - optional
Amount that was requested for the transaction, see Requested amount.
- Range: 0-999999999999
- result_code string - optional
Result of the transaction, see Results and errors.
- Length: 1-255 characters
- Pattern:
^[0-9A-Z_]{1,255}$
- result_description string - optional
English language transaction result description for logs and administrative interfaces. It should not be shown to customer and might be too technical to be useful for a cashier.
- Length: 1-255 characters
- Pattern:
^[\x20-\x7E]{1,255}$
- state string - optional
State of the transaction, see Transaction flow.
Value Description AWAITING_CONFIRMNeeds client to send 'confirm' message to continue processing AWAITING_CONTINUENeeds client to send 'continue' message to continue processing PROCESSINGTransaction is being processed CONFIRMEDTransaction has been confirmed as successful or failed COMMITTEDTransaction result has been committed and cannot be changed - surcharge_amount integer - optional
Amount of surcharge that was added to the transaction, see Surcharge amount.
- Range: 0-999999999999
- terminal_id string - optional
Identifier of the terminal that processed the transaction, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- tip_amount integer - optional
Amount of tip that was added to the transaction, see Tip amount.
- Range: 0-999999999999
- total_amount integer - optional
Current total amount for transaction, see Total amount
- Range: 0-999999999999
- type string - optional
Transaction type.
Value Description ACCOUNT_CHECKAccount check transaction to check if card is valid PURCHASEPurchase transaction to charge customer for goods REFUNDRefund transaction to return money to customer UNKNOWNTransaction type not known, or not representable in this enumeration - updated_at string - optional
Time when the transaction was last updated.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- 400 Bad Request
- error object - required
- code string - optional
Error code, see Results and errors.
- Length: 1-63 characters
- description string - optional
Human readable description of error, see Results and errors.
- Length: 1-255 characters
- 500 Internal Server Error
- error object - required
- code string - optional
Error code, see Results and errors.
- Length: 1-63 characters
- description string - optional
Human readable description of error, see Results and errors.
- Length: 1-255 characters
{
"transaction": {
"authorized_amount": 1000,
"captured_amount": 1000,
"cashback_amount": 1000,
"confirmed_at": "2024-11-07T05:25:55.123Z",
"created_at": "2024-11-07T05:25:55.123Z",
"currency": "EUR",
"customer_identity": {
"computop": {
"card_token": "1234567890123456"
},
"par": {
"par_value": "5001ABCDEFGHIJKLMNOPQRSTUVWXY"
}
},
"customer_not_present": true,
"dcc": {
"customer_amount": 1000,
"customer_currency": "EUR",
"exchange_rate": 42,
"exchange_rate_date": "2024-11-07",
"exchange_rate_provider": "ECB",
"markup_fee": 500,
"provider": "Nets"
},
"external_id": "123",
"id": "txn-12345678-01JPHYGPRMH9QRFS3M69SJW9SH",
"metadata": {
"key1": "value1",
"key2": "value2"
},
"original_purchase_external_id": "123",
"original_purchase_id": "txn-12345678-01JPHYGPRMH9QRFS3M69SJW9SH",
"original_purchase_terminal_id": "t-12345678",
"payment_method_details": {
"acquirer_reference": "241128113112",
"acquirer_terminal_id": "A1234567",
"acquirer_timestamp": "241128113123",
"application_identifier": "string",
"application_name": "string",
"authorization_code": "123ABC",
"authorization_response_code": "00",
"card_entry_mode": "string",
"card_number_customer": "************2454",
"card_number_merchant": "400770******2454",
"card_scheme": "string",
"card_sequence_number": "01",
"cardholder_verification": "string",
"payment_method": "string"
},
"receipt_details_customer": "CARD:************0010\nAPP: CREDITO DE VISA\nAID: A0000000031010\nMODE:ICC/PIN SEQ: 01\nAUTH:A1B2C3 RC: 00\nTIME:250629115005\nR:250629197805-87251720\n",
"receipt_details_merchant": "CARD:************0010\nAPP: CREDITO DE VISA\nAID: A0000000031010\nMODE:ICC/PIN SEQ: 01\nAUTH:A1B2C3 RC: 00\nTIME:250629115005\nR:250629197805-87251720\n",
"reference": "250404123456-01234567",
"requested_amount": 1000,
"result_code": "SUCCESS",
"result_description": "The amount given was negative.",
"state": "CONFIRMED",
"surcharge_amount": 1000,
"terminal_id": "t-12345678",
"tip_amount": 1000,
"total_amount": 1000,
"type": "string",
"updated_at": "2024-11-07T05:25:55.123Z"
}
}Create refund transaction
POST /transaction/refund
Starts the processing of a new refund transaction.
Request body
- currency string - required
Currency of the transaction, see Currency.
- Length: 3 characters
- Pattern:
^[A-Z]{3}$
- external_id string - required
Client provided identifier for the refund transaction, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- requested_amount integer - required
Amount that should be refunded from the customer, see Requested amount.
- Range: 0-999999999999
- terminal_id string - required
Identifier of the terminal that should perform the refund, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- customer_not_present boolean - optional
Whether the customer is present at the terminal during the refund transaction. If the customer is present and the refund refers to an original purchase, they will be asked to present the same payment instrument that was used for the original purchase, and the refund will be authorized.
- Default:
false
- Default:
- metadata object - optional
Client provided transaction metadata, see Metadata.
- options object - optional
Modify the behaviour of the server side request and transaction handling.
- on_customer_identified - optional
Action to be performed when the customer has been identified by their payment instrument but before the actual payment is done, see Pausing a transaction. The field
customer_identityis present in the transaction when this action runs, if the customer was identified.One of the objects below will be in the payload
Pause
- pause boolean - optional
Whether to pause the transaction. If true, the transaction will be paused at this point and the client will need to call
/transactions/continueto resume the transaction processing.
- wait_seconds number - optional
How many seconds the server should wait for transaction
stateto change before responding, see Long polling. Will respond immediately if set to0or if transactionstateis notPROCESSING.- Default:
25 - Range: 0-180
- Default:
- original_purchase_external_id string - optional
Original purchase transaction’s
external_id, see External id.- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- original_purchase_terminal_id string - optional
Original purchase transaction’s
terminal_id, see Terminal id.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
{
"currency": "EUR",
"customer_not_present": true,
"external_id": "123",
"metadata": {
"key1": "value1",
"key2": "value2"
},
"options": {
"on_customer_identified": {
"pause": true
},
"wait_seconds": 60
},
"original_purchase_external_id": "123",
"original_purchase_terminal_id": "t-12345678",
"requested_amount": 1000,
"terminal_id": "t-12345678"
}Responses
- 200 Request processing succeeded
- transaction object - required
Current state of the transaction after creation.
- authorized_amount integer - optional
Amount that was authorized by the acquirer, see Authorized amount.
- Range: 0-999999999999
- captured_amount integer - optional
Amount that was captured from customer account, see Captured amount.
- Range: 0-999999999999
- cashback_amount integer - optional
Amount of cashback given to the customer, see Cashback amount.
- Range: 0-999999999999
- confirmed_at string - optional
Time when the transaction was confirmed. Missing if the transaction hasn’t been confirmed yet.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- created_at string - optional
Time when the transaction was created.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- currency string - optional
Currency of the transaction, see Currency.
- Length: 3 characters
- Pattern:
^[A-Z]{3}$
- customer_identity object - optional
Customer identity information. If the customer was identified somehow by their payment instrument, this information is available in the transaction details. There can be multiple ways utilized at the same time for a single transaction, so this object will contain data for the methods that were used for this transaction.
- computop object - optional
Computop specific customer identity information.
- card_token string - optional
Computop specific card token. This is a unique identifier for the card that can be used to identify the card in future transactions.
- Length: 16 characters
- Pattern:
^[0-9]{16}$
- par object - optional
Payment account reference (PAR) as provided by the payment instrument. This is a unique identifier for the card that can be used to identify the card in future transactions.
- par_value string - optional
Payment account reference (PAR) as read from the payment instrument.
- Length: 29 characters
- Pattern:
^[0-9A-Z]{29}$
- customer_not_present boolean - optional
Indicator that the transaction was done without the customer being present at the terminal.
- Default:
false
- Default:
- dcc object - optional
Details of a currency conversion, see DCC. This element only present if the transaction was processed in a different currency for the customer than the one in
currencyfield.- customer_amount integer - optional
Amount that the customer paid in their own currency. This amount is in the currency listed in
customer_currency.- Range: 0-999999999999
- customer_currency string - optional
Currency that customer paid in, see Currency.
- Length: 3 characters
- Pattern:
^[A-Z]{3}$
- exchange_rate integer - optional
Exchange rate that was used for the DCC transaction. The value is expressed as an integer with exactly four decimal places. That means that a value of
10000is equal to 1:1 exchange rate.- Minimum: 0
- exchange_rate_date string - optional
Date when the exchange rate was obtained from the provider.
- Format: date
- Length: 1-10 characters
- Pattern:
^\d{4}-\d{2}-\d{2}$
- exchange_rate_provider string - optional
Exchange rate provider that was used for the transaction.
- Length: 1-63 characters
- Pattern:
^[\x20-\x7E]{1,63}$
- markup_fee integer - optional
Mark-up fee that was charged for the DCC transaction. The value is expressed as an integer in one hundredth of percents, so
100means a mark-up of 1 %.- Range: 0-10000
- provider string - optional
DCC provider that was used for the transaction.
- Length: 1-63 characters
- Pattern:
^[\x20-\x7E]{1,63}$
- external_id string - optional
Client provided identifier for the transaction, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- id string - optional
Internal identifier for the transaction, see Id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- metadata object - optional
Client provided transaction metadata, see Metadata.
- original_purchase_external_id string - optional
Original purchase transaction’s
external_id, see External id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- original_purchase_id string - optional
Original purchase transaction’s
id, see Id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- original_purchase_terminal_id string - optional
Original purchase transaction’s
terminal_id, see Terminal id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- payment_method_details - optional
Payment method specific information
Any of the objects below can be in the payload
When
payment_methodisCARD- payment_method string - required
CARD - acquirer_reference string - optional
Transaction reference number in format
YYMMDDNNNNNN. It is set by the terminal at the time the transaction is created and guaranteed to be unique within the terminal. It is transmitted to the acquirer during transaction processing.- Length: 12 characters
- Pattern:
^[0-9]{12}$
- acquirer_terminal_id string - optional
Terminal identifier that is used towards the acquirer. It often matches the transaction terminal id, but some acquirers have special rules and limitations that require it to be different.
- Length: 8 characters
- Pattern:
^[0-9A-Z]{8}$
- acquirer_timestamp string - optional
Local transaction time in format
YYMMDDHHMMSS. It is set by the terminal at the time the transaction is created. It is transmitted to the acquirer during transaction processing.- Length: 12 characters
- Pattern:
^[0-9]{12}$
- application_identifier string - optional
Application identifier (AID) of the selected card application.
- Length: 10-32 characters
- Pattern:
^[0-9A-F]{10,32}$
- application_name string - optional
Name of the selected card application.
- Length: 1-16 characters
- Pattern:
^[\x20-\x7E]{1,16}$
- authorization_code string - optional
Authorization code for the transaction, if received from the acquirer.
- Length: 6 characters
- Pattern:
^[0-9A-Z]{6}$
- authorization_response_code string - optional
Response code from the acquirer. This is not the same as the
result_codeof the transaction. This is a code that is used by the acquirer to indicate the result of the authorization. Generally00means success.- Length: 2 characters
- Pattern:
^[0-9A-Z]{2}$
- card_entry_mode string - optional
Card entry mode is the way the card was read by the terminal. This does not directly tell the form factor of the card, as contactless entry mode is used for anything that is read wirelessly, including mobile phones and smartwatches.
Value Description CONTACT_EMVCard was inserted into the terminal and the chip was read CONTACTLESS_EMVCard or phone was tapped on the terminal and the chip was read wirelessly MAGNETIC_STRIPECard was swiped on the terminal and the magnetic stripe was read MANUALCard number was typed in manually on the terminal - card_number_customer string - optional
Card primary account number that can be shown to the customer. Generally only the last 4 digits are shown, rest are masked.
- Length: 13-19 characters
- Pattern:
^[0-9*]{13,19}$
- card_number_merchant string - optional
Card primary account number that can be shown to the merchant. Generally first 6 and last 4 digits are shown, rest are masked.
- Length: 13-19 characters
- Pattern:
^[0-9*]{13,19}$
- card_scheme string - optional
Card scheme is the payment network the card is provided by. This is not necessarily the card brand which is printed on top of the card. Scheme will never be
UNKNOWNfor a successful transaction.AMEXBANKAXEPTDANKORTDINERS_CLUBGIROCARDJCBMASTERCARDUNIONPAYVISAUNKNOWN - card_sequence_number string - optional
Sequence number for multiple cards with the same card number. Required to be printed on receipts.
- Length: 2 characters
- Pattern:
^[0-9]{2}$
- cardholder_verification string - optional
Cardholder verification method (CVM) is the way the cardholder was verified to be the owner of the card.
Value Description NONECardholder has not been verified SIGNATURECardholder has given their signature PINCardholder typed in a PIN code PIN_AND_SIGNATUREBoth `SIGNATURE` and `PIN` were used CONSUMER_DEVICECardholder used a consumer device, such as a phone, for verification
- receipt_details_customer string - optional
Customer receipt details, see Receipt. This is the information that must be printed on the customer receipt.
- Length: 1-1023 characters
- Pattern:
^([\x20-\x7E]{0,32}\n){1,31}$
- receipt_details_merchant string - optional
Merchant receipt details, see Receipt. This is the information that must be printed on the merchant receipt.
- Length: 1-1023 characters
- Pattern:
^([\x20-\x7E]{0,32}\n){1,31}$
- reference string - optional
Unique reference number for the transaction. This is a number that should be printed on the receipt. It can be typed into the terminal to reference the purchase for a refund. All “-” characters are just for visual separation and will not be required on input.
- Length: 1-63 characters
- Pattern:
^[0-9-]{1,63}$
- requested_amount integer - optional
Amount that was requested for the transaction, see Requested amount.
- Range: 0-999999999999
- result_code string - optional
Result of the transaction, see Results and errors.
- Length: 1-255 characters
- Pattern:
^[0-9A-Z_]{1,255}$
- result_description string - optional
English language transaction result description for logs and administrative interfaces. It should not be shown to customer and might be too technical to be useful for a cashier.
- Length: 1-255 characters
- Pattern:
^[\x20-\x7E]{1,255}$
- state string - optional
State of the transaction, see Transaction flow.
Value Description AWAITING_CONFIRMNeeds client to send 'confirm' message to continue processing AWAITING_CONTINUENeeds client to send 'continue' message to continue processing PROCESSINGTransaction is being processed CONFIRMEDTransaction has been confirmed as successful or failed COMMITTEDTransaction result has been committed and cannot be changed - surcharge_amount integer - optional
Amount of surcharge that was added to the transaction, see Surcharge amount.
- Range: 0-999999999999
- terminal_id string - optional
Identifier of the terminal that processed the transaction, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- tip_amount integer - optional
Amount of tip that was added to the transaction, see Tip amount.
- Range: 0-999999999999
- total_amount integer - optional
Current total amount for transaction, see Total amount
- Range: 0-999999999999
- type string - optional
Transaction type.
Value Description ACCOUNT_CHECKAccount check transaction to check if card is valid PURCHASEPurchase transaction to charge customer for goods REFUNDRefund transaction to return money to customer UNKNOWNTransaction type not known, or not representable in this enumeration - updated_at string - optional
Time when the transaction was last updated.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- 400 Bad Request
- error object - required
- code string - optional
Error code, see Results and errors.
- Length: 1-63 characters
- description string - optional
Human readable description of error, see Results and errors.
- Length: 1-255 characters
- 500 Internal Server Error
- error object - required
- code string - optional
Error code, see Results and errors.
- Length: 1-63 characters
- description string - optional
Human readable description of error, see Results and errors.
- Length: 1-255 characters
{
"transaction": {
"authorized_amount": 1000,
"captured_amount": 1000,
"cashback_amount": 1000,
"confirmed_at": "2024-11-07T05:25:55.123Z",
"created_at": "2024-11-07T05:25:55.123Z",
"currency": "EUR",
"customer_identity": {
"computop": {
"card_token": "1234567890123456"
},
"par": {
"par_value": "5001ABCDEFGHIJKLMNOPQRSTUVWXY"
}
},
"customer_not_present": true,
"dcc": {
"customer_amount": 1000,
"customer_currency": "EUR",
"exchange_rate": 42,
"exchange_rate_date": "2024-11-07",
"exchange_rate_provider": "ECB",
"markup_fee": 500,
"provider": "Nets"
},
"external_id": "123",
"id": "txn-12345678-01JPHYGPRMH9QRFS3M69SJW9SH",
"metadata": {
"key1": "value1",
"key2": "value2"
},
"original_purchase_external_id": "123",
"original_purchase_id": "txn-12345678-01JPHYGPRMH9QRFS3M69SJW9SH",
"original_purchase_terminal_id": "t-12345678",
"payment_method_details": {
"acquirer_reference": "241128113112",
"acquirer_terminal_id": "A1234567",
"acquirer_timestamp": "241128113123",
"application_identifier": "string",
"application_name": "string",
"authorization_code": "123ABC",
"authorization_response_code": "00",
"card_entry_mode": "string",
"card_number_customer": "************2454",
"card_number_merchant": "400770******2454",
"card_scheme": "string",
"card_sequence_number": "01",
"cardholder_verification": "string",
"payment_method": "string"
},
"receipt_details_customer": "CARD:************0010\nAPP: CREDITO DE VISA\nAID: A0000000031010\nMODE:ICC/PIN SEQ: 01\nAUTH:A1B2C3 RC: 00\nTIME:250629115005\nR:250629197805-87251720\n",
"receipt_details_merchant": "CARD:************0010\nAPP: CREDITO DE VISA\nAID: A0000000031010\nMODE:ICC/PIN SEQ: 01\nAUTH:A1B2C3 RC: 00\nTIME:250629115005\nR:250629197805-87251720\n",
"reference": "250404123456-01234567",
"requested_amount": 1000,
"result_code": "SUCCESS",
"result_description": "The amount given was negative.",
"state": "CONFIRMED",
"surcharge_amount": 1000,
"terminal_id": "t-12345678",
"tip_amount": 1000,
"total_amount": 1000,
"type": "string",
"updated_at": "2024-11-07T05:25:55.123Z"
}
}Confirm transaction
POST /transaction/confirm
Confirms a transaction that is awaiting confirmation, see transactional reliability. The body of the request specifies if the transaction is to be confirmed as successful or failed.
- Only transactions that are currently awaiting confirmation as success can be confirmed to success.
- All transactions can be confirmed as failed.
If the confirmation as failed arrives for a transaction the server has not seen, a new transaction will be created.
Request body
- external_id string - required
Client provided identifier for the transaction that should be confirmed, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- result_code string - required
Error code, see Results and errors.
- Length: 1-255 characters
- Pattern:
^[0-9A-Z_]{1,255}$
- terminal_id string - required
Identifier of the terminal of the transaction that should be confirmed, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- captured_amount integer - optional
Amount to capture from customer account when doing partial purchase, see Captured amount.
- Range: 0-999999999999
- metadata object - optional
Client provided transaction metadata, see Metadata. Will be merged with any metadata transaction already has.
- result_description string - optional
Human readable description, only relevant if
result_codeis notSUCCESS.- Length: 1-255 characters
- Pattern:
^[\x20-\x7E]{1,255}$
{
"captured_amount": 1000,
"external_id": "123",
"metadata": {
"key1": "value1",
"key2": "value2"
},
"result_code": "SUCCESS",
"result_description": "The amount given was negative.",
"terminal_id": "t-12345678"
}Responses
- 200 Request processing succeeded
- transaction object - required
Current state of the transaction after confirmation.
- authorized_amount integer - optional
Amount that was authorized by the acquirer, see Authorized amount.
- Range: 0-999999999999
- captured_amount integer - optional
Amount that was captured from customer account, see Captured amount.
- Range: 0-999999999999
- cashback_amount integer - optional
Amount of cashback given to the customer, see Cashback amount.
- Range: 0-999999999999
- confirmed_at string - optional
Time when the transaction was confirmed. Missing if the transaction hasn’t been confirmed yet.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- created_at string - optional
Time when the transaction was created.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- currency string - optional
Currency of the transaction, see Currency.
- Length: 3 characters
- Pattern:
^[A-Z]{3}$
- customer_identity object - optional
Customer identity information. If the customer was identified somehow by their payment instrument, this information is available in the transaction details. There can be multiple ways utilized at the same time for a single transaction, so this object will contain data for the methods that were used for this transaction.
- computop object - optional
Computop specific customer identity information.
- card_token string - optional
Computop specific card token. This is a unique identifier for the card that can be used to identify the card in future transactions.
- Length: 16 characters
- Pattern:
^[0-9]{16}$
- par object - optional
Payment account reference (PAR) as provided by the payment instrument. This is a unique identifier for the card that can be used to identify the card in future transactions.
- par_value string - optional
Payment account reference (PAR) as read from the payment instrument.
- Length: 29 characters
- Pattern:
^[0-9A-Z]{29}$
- customer_not_present boolean - optional
Indicator that the transaction was done without the customer being present at the terminal.
- Default:
false
- Default:
- dcc object - optional
Details of a currency conversion, see DCC. This element only present if the transaction was processed in a different currency for the customer than the one in
currencyfield.- customer_amount integer - optional
Amount that the customer paid in their own currency. This amount is in the currency listed in
customer_currency.- Range: 0-999999999999
- customer_currency string - optional
Currency that customer paid in, see Currency.
- Length: 3 characters
- Pattern:
^[A-Z]{3}$
- exchange_rate integer - optional
Exchange rate that was used for the DCC transaction. The value is expressed as an integer with exactly four decimal places. That means that a value of
10000is equal to 1:1 exchange rate.- Minimum: 0
- exchange_rate_date string - optional
Date when the exchange rate was obtained from the provider.
- Format: date
- Length: 1-10 characters
- Pattern:
^\d{4}-\d{2}-\d{2}$
- exchange_rate_provider string - optional
Exchange rate provider that was used for the transaction.
- Length: 1-63 characters
- Pattern:
^[\x20-\x7E]{1,63}$
- markup_fee integer - optional
Mark-up fee that was charged for the DCC transaction. The value is expressed as an integer in one hundredth of percents, so
100means a mark-up of 1 %.- Range: 0-10000
- provider string - optional
DCC provider that was used for the transaction.
- Length: 1-63 characters
- Pattern:
^[\x20-\x7E]{1,63}$
- external_id string - optional
Client provided identifier for the transaction, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- id string - optional
Internal identifier for the transaction, see Id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- metadata object - optional
Client provided transaction metadata, see Metadata.
- original_purchase_external_id string - optional
Original purchase transaction’s
external_id, see External id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- original_purchase_id string - optional
Original purchase transaction’s
id, see Id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- original_purchase_terminal_id string - optional
Original purchase transaction’s
terminal_id, see Terminal id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- payment_method_details - optional
Payment method specific information
Any of the objects below can be in the payload
When
payment_methodisCARD- payment_method string - required
CARD - acquirer_reference string - optional
Transaction reference number in format
YYMMDDNNNNNN. It is set by the terminal at the time the transaction is created and guaranteed to be unique within the terminal. It is transmitted to the acquirer during transaction processing.- Length: 12 characters
- Pattern:
^[0-9]{12}$
- acquirer_terminal_id string - optional
Terminal identifier that is used towards the acquirer. It often matches the transaction terminal id, but some acquirers have special rules and limitations that require it to be different.
- Length: 8 characters
- Pattern:
^[0-9A-Z]{8}$
- acquirer_timestamp string - optional
Local transaction time in format
YYMMDDHHMMSS. It is set by the terminal at the time the transaction is created. It is transmitted to the acquirer during transaction processing.- Length: 12 characters
- Pattern:
^[0-9]{12}$
- application_identifier string - optional
Application identifier (AID) of the selected card application.
- Length: 10-32 characters
- Pattern:
^[0-9A-F]{10,32}$
- application_name string - optional
Name of the selected card application.
- Length: 1-16 characters
- Pattern:
^[\x20-\x7E]{1,16}$
- authorization_code string - optional
Authorization code for the transaction, if received from the acquirer.
- Length: 6 characters
- Pattern:
^[0-9A-Z]{6}$
- authorization_response_code string - optional
Response code from the acquirer. This is not the same as the
result_codeof the transaction. This is a code that is used by the acquirer to indicate the result of the authorization. Generally00means success.- Length: 2 characters
- Pattern:
^[0-9A-Z]{2}$
- card_entry_mode string - optional
Card entry mode is the way the card was read by the terminal. This does not directly tell the form factor of the card, as contactless entry mode is used for anything that is read wirelessly, including mobile phones and smartwatches.
Value Description CONTACT_EMVCard was inserted into the terminal and the chip was read CONTACTLESS_EMVCard or phone was tapped on the terminal and the chip was read wirelessly MAGNETIC_STRIPECard was swiped on the terminal and the magnetic stripe was read MANUALCard number was typed in manually on the terminal - card_number_customer string - optional
Card primary account number that can be shown to the customer. Generally only the last 4 digits are shown, rest are masked.
- Length: 13-19 characters
- Pattern:
^[0-9*]{13,19}$
- card_number_merchant string - optional
Card primary account number that can be shown to the merchant. Generally first 6 and last 4 digits are shown, rest are masked.
- Length: 13-19 characters
- Pattern:
^[0-9*]{13,19}$
- card_scheme string - optional
Card scheme is the payment network the card is provided by. This is not necessarily the card brand which is printed on top of the card. Scheme will never be
UNKNOWNfor a successful transaction.AMEXBANKAXEPTDANKORTDINERS_CLUBGIROCARDJCBMASTERCARDUNIONPAYVISAUNKNOWN - card_sequence_number string - optional
Sequence number for multiple cards with the same card number. Required to be printed on receipts.
- Length: 2 characters
- Pattern:
^[0-9]{2}$
- cardholder_verification string - optional
Cardholder verification method (CVM) is the way the cardholder was verified to be the owner of the card.
Value Description NONECardholder has not been verified SIGNATURECardholder has given their signature PINCardholder typed in a PIN code PIN_AND_SIGNATUREBoth `SIGNATURE` and `PIN` were used CONSUMER_DEVICECardholder used a consumer device, such as a phone, for verification
- receipt_details_customer string - optional
Customer receipt details, see Receipt. This is the information that must be printed on the customer receipt.
- Length: 1-1023 characters
- Pattern:
^([\x20-\x7E]{0,32}\n){1,31}$
- receipt_details_merchant string - optional
Merchant receipt details, see Receipt. This is the information that must be printed on the merchant receipt.
- Length: 1-1023 characters
- Pattern:
^([\x20-\x7E]{0,32}\n){1,31}$
- reference string - optional
Unique reference number for the transaction. This is a number that should be printed on the receipt. It can be typed into the terminal to reference the purchase for a refund. All “-” characters are just for visual separation and will not be required on input.
- Length: 1-63 characters
- Pattern:
^[0-9-]{1,63}$
- requested_amount integer - optional
Amount that was requested for the transaction, see Requested amount.
- Range: 0-999999999999
- result_code string - optional
Result of the transaction, see Results and errors.
- Length: 1-255 characters
- Pattern:
^[0-9A-Z_]{1,255}$
- result_description string - optional
English language transaction result description for logs and administrative interfaces. It should not be shown to customer and might be too technical to be useful for a cashier.
- Length: 1-255 characters
- Pattern:
^[\x20-\x7E]{1,255}$
- state string - optional
State of the transaction, see Transaction flow.
Value Description AWAITING_CONFIRMNeeds client to send 'confirm' message to continue processing AWAITING_CONTINUENeeds client to send 'continue' message to continue processing PROCESSINGTransaction is being processed CONFIRMEDTransaction has been confirmed as successful or failed COMMITTEDTransaction result has been committed and cannot be changed - surcharge_amount integer - optional
Amount of surcharge that was added to the transaction, see Surcharge amount.
- Range: 0-999999999999
- terminal_id string - optional
Identifier of the terminal that processed the transaction, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- tip_amount integer - optional
Amount of tip that was added to the transaction, see Tip amount.
- Range: 0-999999999999
- total_amount integer - optional
Current total amount for transaction, see Total amount
- Range: 0-999999999999
- type string - optional
Transaction type.
Value Description ACCOUNT_CHECKAccount check transaction to check if card is valid PURCHASEPurchase transaction to charge customer for goods REFUNDRefund transaction to return money to customer UNKNOWNTransaction type not known, or not representable in this enumeration - updated_at string - optional
Time when the transaction was last updated.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- 400 Bad Request
- error object - required
- code string - optional
Error code, see Results and errors.
- Length: 1-63 characters
- description string - optional
Human readable description of error, see Results and errors.
- Length: 1-255 characters
- 500 Internal Server Error
- error object - required
- code string - optional
Error code, see Results and errors.
- Length: 1-63 characters
- description string - optional
Human readable description of error, see Results and errors.
- Length: 1-255 characters
{
"transaction": {
"authorized_amount": 1000,
"captured_amount": 1000,
"cashback_amount": 1000,
"confirmed_at": "2024-11-07T05:25:55.123Z",
"created_at": "2024-11-07T05:25:55.123Z",
"currency": "EUR",
"customer_identity": {
"computop": {
"card_token": "1234567890123456"
},
"par": {
"par_value": "5001ABCDEFGHIJKLMNOPQRSTUVWXY"
}
},
"customer_not_present": true,
"dcc": {
"customer_amount": 1000,
"customer_currency": "EUR",
"exchange_rate": 42,
"exchange_rate_date": "2024-11-07",
"exchange_rate_provider": "ECB",
"markup_fee": 500,
"provider": "Nets"
},
"external_id": "123",
"id": "txn-12345678-01JPHYGPRMH9QRFS3M69SJW9SH",
"metadata": {
"key1": "value1",
"key2": "value2"
},
"original_purchase_external_id": "123",
"original_purchase_id": "txn-12345678-01JPHYGPRMH9QRFS3M69SJW9SH",
"original_purchase_terminal_id": "t-12345678",
"payment_method_details": {
"acquirer_reference": "241128113112",
"acquirer_terminal_id": "A1234567",
"acquirer_timestamp": "241128113123",
"application_identifier": "string",
"application_name": "string",
"authorization_code": "123ABC",
"authorization_response_code": "00",
"card_entry_mode": "string",
"card_number_customer": "************2454",
"card_number_merchant": "400770******2454",
"card_scheme": "string",
"card_sequence_number": "01",
"cardholder_verification": "string",
"payment_method": "string"
},
"receipt_details_customer": "CARD:************0010\nAPP: CREDITO DE VISA\nAID: A0000000031010\nMODE:ICC/PIN SEQ: 01\nAUTH:A1B2C3 RC: 00\nTIME:250629115005\nR:250629197805-87251720\n",
"receipt_details_merchant": "CARD:************0010\nAPP: CREDITO DE VISA\nAID: A0000000031010\nMODE:ICC/PIN SEQ: 01\nAUTH:A1B2C3 RC: 00\nTIME:250629115005\nR:250629197805-87251720\n",
"reference": "250404123456-01234567",
"requested_amount": 1000,
"result_code": "SUCCESS",
"result_description": "The amount given was negative.",
"state": "CONFIRMED",
"surcharge_amount": 1000,
"terminal_id": "t-12345678",
"tip_amount": 1000,
"total_amount": 1000,
"type": "string",
"updated_at": "2024-11-07T05:25:55.123Z"
}
}Get transaction
POST /transaction/get
Returns the transaction object for a specific transaction. A transaction is updated multiple times during its lifecycle, which means the transaction object is a snapshot of the transaction at a specific point in time.
Request body
- external_id string - required
External id of the transaction, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- terminal_id string - required
Terminal id of the transaction, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- options object - optional
Modify the behaviour of the server side request handling.
- extra_amounts boolean - optional
Defines whether the response should include the
extra_amountsobject, which contains amounts that are calculated across multiple transactions.- Default:
false
- Default:
- wait_seconds number - optional
How many seconds the server should wait for transaction
stateto change before responding, see Long polling. Will respond immediately if set to0or if transactionstateis notPROCESSING.- Default:
25 - Range: 0-180
- Default:
{
"external_id": "123",
"options": {
"extra_amounts": true,
"wait_seconds": 60
},
"terminal_id": "t-12345678"
}Responses
- 200 Request processing succeeded
- transaction object - required
Current state of the transaction.
- authorized_amount integer - optional
Amount that was authorized by the acquirer, see Authorized amount.
- Range: 0-999999999999
- captured_amount integer - optional
Amount that was captured from customer account, see Captured amount.
- Range: 0-999999999999
- cashback_amount integer - optional
Amount of cashback given to the customer, see Cashback amount.
- Range: 0-999999999999
- confirmed_at string - optional
Time when the transaction was confirmed. Missing if the transaction hasn’t been confirmed yet.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- created_at string - optional
Time when the transaction was created.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- currency string - optional
Currency of the transaction, see Currency.
- Length: 3 characters
- Pattern:
^[A-Z]{3}$
- customer_identity object - optional
Customer identity information. If the customer was identified somehow by their payment instrument, this information is available in the transaction details. There can be multiple ways utilized at the same time for a single transaction, so this object will contain data for the methods that were used for this transaction.
- computop object - optional
Computop specific customer identity information.
- card_token string - optional
Computop specific card token. This is a unique identifier for the card that can be used to identify the card in future transactions.
- Length: 16 characters
- Pattern:
^[0-9]{16}$
- par object - optional
Payment account reference (PAR) as provided by the payment instrument. This is a unique identifier for the card that can be used to identify the card in future transactions.
- par_value string - optional
Payment account reference (PAR) as read from the payment instrument.
- Length: 29 characters
- Pattern:
^[0-9A-Z]{29}$
- customer_not_present boolean - optional
Indicator that the transaction was done without the customer being present at the terminal.
- Default:
false
- Default:
- dcc object - optional
Details of a currency conversion, see DCC. This element only present if the transaction was processed in a different currency for the customer than the one in
currencyfield.- customer_amount integer - optional
Amount that the customer paid in their own currency. This amount is in the currency listed in
customer_currency.- Range: 0-999999999999
- customer_currency string - optional
Currency that customer paid in, see Currency.
- Length: 3 characters
- Pattern:
^[A-Z]{3}$
- exchange_rate integer - optional
Exchange rate that was used for the DCC transaction. The value is expressed as an integer with exactly four decimal places. That means that a value of
10000is equal to 1:1 exchange rate.- Minimum: 0
- exchange_rate_date string - optional
Date when the exchange rate was obtained from the provider.
- Format: date
- Length: 1-10 characters
- Pattern:
^\d{4}-\d{2}-\d{2}$
- exchange_rate_provider string - optional
Exchange rate provider that was used for the transaction.
- Length: 1-63 characters
- Pattern:
^[\x20-\x7E]{1,63}$
- markup_fee integer - optional
Mark-up fee that was charged for the DCC transaction. The value is expressed as an integer in one hundredth of percents, so
100means a mark-up of 1 %.- Range: 0-10000
- provider string - optional
DCC provider that was used for the transaction.
- Length: 1-63 characters
- Pattern:
^[\x20-\x7E]{1,63}$
- external_id string - optional
Client provided identifier for the transaction, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- extra_amounts object - optional
Amounts that are calculated across multiple transactions, such as the available refundable amount.
- refundable_amount integer - optional
The amount that is still refundable for this transaction, see Refundable amount.
- Range: 0-999999999999
- id string - optional
Internal identifier for the transaction, see Id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- metadata object - optional
Client provided transaction metadata, see Metadata.
- original_purchase_external_id string - optional
Original purchase transaction’s
external_id, see External id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- original_purchase_id string - optional
Original purchase transaction’s
id, see Id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- original_purchase_terminal_id string - optional
Original purchase transaction’s
terminal_id, see Terminal id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- payment_method_details - optional
Payment method specific information
Any of the objects below can be in the payload
When
payment_methodisCARD- payment_method string - required
CARD - acquirer_reference string - optional
Transaction reference number in format
YYMMDDNNNNNN. It is set by the terminal at the time the transaction is created and guaranteed to be unique within the terminal. It is transmitted to the acquirer during transaction processing.- Length: 12 characters
- Pattern:
^[0-9]{12}$
- acquirer_terminal_id string - optional
Terminal identifier that is used towards the acquirer. It often matches the transaction terminal id, but some acquirers have special rules and limitations that require it to be different.
- Length: 8 characters
- Pattern:
^[0-9A-Z]{8}$
- acquirer_timestamp string - optional
Local transaction time in format
YYMMDDHHMMSS. It is set by the terminal at the time the transaction is created. It is transmitted to the acquirer during transaction processing.- Length: 12 characters
- Pattern:
^[0-9]{12}$
- application_identifier string - optional
Application identifier (AID) of the selected card application.
- Length: 10-32 characters
- Pattern:
^[0-9A-F]{10,32}$
- application_name string - optional
Name of the selected card application.
- Length: 1-16 characters
- Pattern:
^[\x20-\x7E]{1,16}$
- authorization_code string - optional
Authorization code for the transaction, if received from the acquirer.
- Length: 6 characters
- Pattern:
^[0-9A-Z]{6}$
- authorization_response_code string - optional
Response code from the acquirer. This is not the same as the
result_codeof the transaction. This is a code that is used by the acquirer to indicate the result of the authorization. Generally00means success.- Length: 2 characters
- Pattern:
^[0-9A-Z]{2}$
- card_entry_mode string - optional
Card entry mode is the way the card was read by the terminal. This does not directly tell the form factor of the card, as contactless entry mode is used for anything that is read wirelessly, including mobile phones and smartwatches.
Value Description CONTACT_EMVCard was inserted into the terminal and the chip was read CONTACTLESS_EMVCard or phone was tapped on the terminal and the chip was read wirelessly MAGNETIC_STRIPECard was swiped on the terminal and the magnetic stripe was read MANUALCard number was typed in manually on the terminal - card_number_customer string - optional
Card primary account number that can be shown to the customer. Generally only the last 4 digits are shown, rest are masked.
- Length: 13-19 characters
- Pattern:
^[0-9*]{13,19}$
- card_number_merchant string - optional
Card primary account number that can be shown to the merchant. Generally first 6 and last 4 digits are shown, rest are masked.
- Length: 13-19 characters
- Pattern:
^[0-9*]{13,19}$
- card_scheme string - optional
Card scheme is the payment network the card is provided by. This is not necessarily the card brand which is printed on top of the card. Scheme will never be
UNKNOWNfor a successful transaction.AMEXBANKAXEPTDANKORTDINERS_CLUBGIROCARDJCBMASTERCARDUNIONPAYVISAUNKNOWN - card_sequence_number string - optional
Sequence number for multiple cards with the same card number. Required to be printed on receipts.
- Length: 2 characters
- Pattern:
^[0-9]{2}$
- cardholder_verification string - optional
Cardholder verification method (CVM) is the way the cardholder was verified to be the owner of the card.
Value Description NONECardholder has not been verified SIGNATURECardholder has given their signature PINCardholder typed in a PIN code PIN_AND_SIGNATUREBoth `SIGNATURE` and `PIN` were used CONSUMER_DEVICECardholder used a consumer device, such as a phone, for verification
- receipt_details_customer string - optional
Customer receipt details, see Receipt. This is the information that must be printed on the customer receipt.
- Length: 1-1023 characters
- Pattern:
^([\x20-\x7E]{0,32}\n){1,31}$
- receipt_details_merchant string - optional
Merchant receipt details, see Receipt. This is the information that must be printed on the merchant receipt.
- Length: 1-1023 characters
- Pattern:
^([\x20-\x7E]{0,32}\n){1,31}$
- reference string - optional
Unique reference number for the transaction. This is a number that should be printed on the receipt. It can be typed into the terminal to reference the purchase for a refund. All “-” characters are just for visual separation and will not be required on input.
- Length: 1-63 characters
- Pattern:
^[0-9-]{1,63}$
- requested_amount integer - optional
Amount that was requested for the transaction, see Requested amount.
- Range: 0-999999999999
- result_code string - optional
Result of the transaction, see Results and errors.
- Length: 1-255 characters
- Pattern:
^[0-9A-Z_]{1,255}$
- result_description string - optional
English language transaction result description for logs and administrative interfaces. It should not be shown to customer and might be too technical to be useful for a cashier.
- Length: 1-255 characters
- Pattern:
^[\x20-\x7E]{1,255}$
- state string - optional
State of the transaction, see Transaction flow.
Value Description AWAITING_CONFIRMNeeds client to send 'confirm' message to continue processing AWAITING_CONTINUENeeds client to send 'continue' message to continue processing PROCESSINGTransaction is being processed CONFIRMEDTransaction has been confirmed as successful or failed COMMITTEDTransaction result has been committed and cannot be changed - surcharge_amount integer - optional
Amount of surcharge that was added to the transaction, see Surcharge amount.
- Range: 0-999999999999
- terminal_id string - optional
Identifier of the terminal that processed the transaction, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- tip_amount integer - optional
Amount of tip that was added to the transaction, see Tip amount.
- Range: 0-999999999999
- total_amount integer - optional
Current total amount for transaction, see Total amount
- Range: 0-999999999999
- type string - optional
Transaction type.
Value Description ACCOUNT_CHECKAccount check transaction to check if card is valid PURCHASEPurchase transaction to charge customer for goods REFUNDRefund transaction to return money to customer UNKNOWNTransaction type not known, or not representable in this enumeration - updated_at string - optional
Time when the transaction was last updated.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- 404 Not Found
- error object - required
- code string - optional
Error code, see Results and errors.
- Length: 1-63 characters
- description string - optional
Human readable description of error, see Results and errors.
- Length: 1-255 characters
- 500 Internal Server Error
- error object - required
- code string - optional
Error code, see Results and errors.
- Length: 1-63 characters
- description string - optional
Human readable description of error, see Results and errors.
- Length: 1-255 characters
{
"transaction": {
"authorized_amount": 1000,
"captured_amount": 1000,
"cashback_amount": 1000,
"confirmed_at": "2024-11-07T05:25:55.123Z",
"created_at": "2024-11-07T05:25:55.123Z",
"currency": "EUR",
"customer_identity": {
"computop": {
"card_token": "1234567890123456"
},
"par": {
"par_value": "5001ABCDEFGHIJKLMNOPQRSTUVWXY"
}
},
"customer_not_present": true,
"dcc": {
"customer_amount": 1000,
"customer_currency": "EUR",
"exchange_rate": 42,
"exchange_rate_date": "2024-11-07",
"exchange_rate_provider": "ECB",
"markup_fee": 500,
"provider": "Nets"
},
"external_id": "123",
"extra_amounts": {
"refundable_amount": 1000
},
"id": "txn-12345678-01JPHYGPRMH9QRFS3M69SJW9SH",
"metadata": {
"key1": "value1",
"key2": "value2"
},
"original_purchase_external_id": "123",
"original_purchase_id": "txn-12345678-01JPHYGPRMH9QRFS3M69SJW9SH",
"original_purchase_terminal_id": "t-12345678",
"payment_method_details": {
"acquirer_reference": "241128113112",
"acquirer_terminal_id": "A1234567",
"acquirer_timestamp": "241128113123",
"application_identifier": "string",
"application_name": "string",
"authorization_code": "123ABC",
"authorization_response_code": "00",
"card_entry_mode": "string",
"card_number_customer": "************2454",
"card_number_merchant": "400770******2454",
"card_scheme": "string",
"card_sequence_number": "01",
"cardholder_verification": "string",
"payment_method": "string"
},
"receipt_details_customer": "CARD:************0010\nAPP: CREDITO DE VISA\nAID: A0000000031010\nMODE:ICC/PIN SEQ: 01\nAUTH:A1B2C3 RC: 00\nTIME:250629115005\nR:250629197805-87251720\n",
"receipt_details_merchant": "CARD:************0010\nAPP: CREDITO DE VISA\nAID: A0000000031010\nMODE:ICC/PIN SEQ: 01\nAUTH:A1B2C3 RC: 00\nTIME:250629115005\nR:250629197805-87251720\n",
"reference": "250404123456-01234567",
"requested_amount": 1000,
"result_code": "SUCCESS",
"result_description": "The amount given was negative.",
"state": "CONFIRMED",
"surcharge_amount": 1000,
"terminal_id": "t-12345678",
"tip_amount": 1000,
"total_amount": 1000,
"type": "string",
"updated_at": "2024-11-07T05:25:55.123Z"
}
}Continue transaction
POST /transaction/continue
Continues a transaction that is currently waiting for the client to send
a continue message, see Pausing a transaction.
The body of the request can specify an updated requested_amount for the
transaction. Only transactions that are currently waiting for the client
to send a continue message can be continued.
Request body
- external_id string - required
Client provided identifier for the transaction that should be continued, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- terminal_id string - required
Identifier of the terminal of the transaction that should be continued, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- metadata object - optional
Client provided transaction metadata, see Metadata. Will be merged with any metadata transaction already has.
- options object - optional
Modify the behaviour of the server side request handling.
- wait_seconds number - optional
How many seconds the server should wait for transaction
stateto change before responding, see Long polling. Will respond immediately if set to0or if transactionstateis notPROCESSING.- Default:
25 - Range: 0-180
- Default:
- requested_amount integer - optional
Override the requested amount of the transaction, changing the amount that the transaction is going to be processed with.
- Range: 0-999999999999
{
"external_id": "123",
"metadata": {
"key1": "value1",
"key2": "value2"
},
"options": {
"wait_seconds": 60
},
"requested_amount": 1000,
"terminal_id": "t-12345678"
}Responses
- 200 Request processing succeeded
- transaction object - required
Current state of the transaction after continuing.
- authorized_amount integer - optional
Amount that was authorized by the acquirer, see Authorized amount.
- Range: 0-999999999999
- captured_amount integer - optional
Amount that was captured from customer account, see Captured amount.
- Range: 0-999999999999
- cashback_amount integer - optional
Amount of cashback given to the customer, see Cashback amount.
- Range: 0-999999999999
- confirmed_at string - optional
Time when the transaction was confirmed. Missing if the transaction hasn’t been confirmed yet.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- created_at string - optional
Time when the transaction was created.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- currency string - optional
Currency of the transaction, see Currency.
- Length: 3 characters
- Pattern:
^[A-Z]{3}$
- customer_identity object - optional
Customer identity information. If the customer was identified somehow by their payment instrument, this information is available in the transaction details. There can be multiple ways utilized at the same time for a single transaction, so this object will contain data for the methods that were used for this transaction.
- computop object - optional
Computop specific customer identity information.
- card_token string - optional
Computop specific card token. This is a unique identifier for the card that can be used to identify the card in future transactions.
- Length: 16 characters
- Pattern:
^[0-9]{16}$
- par object - optional
Payment account reference (PAR) as provided by the payment instrument. This is a unique identifier for the card that can be used to identify the card in future transactions.
- par_value string - optional
Payment account reference (PAR) as read from the payment instrument.
- Length: 29 characters
- Pattern:
^[0-9A-Z]{29}$
- customer_not_present boolean - optional
Indicator that the transaction was done without the customer being present at the terminal.
- Default:
false
- Default:
- dcc object - optional
Details of a currency conversion, see DCC. This element only present if the transaction was processed in a different currency for the customer than the one in
currencyfield.- customer_amount integer - optional
Amount that the customer paid in their own currency. This amount is in the currency listed in
customer_currency.- Range: 0-999999999999
- customer_currency string - optional
Currency that customer paid in, see Currency.
- Length: 3 characters
- Pattern:
^[A-Z]{3}$
- exchange_rate integer - optional
Exchange rate that was used for the DCC transaction. The value is expressed as an integer with exactly four decimal places. That means that a value of
10000is equal to 1:1 exchange rate.- Minimum: 0
- exchange_rate_date string - optional
Date when the exchange rate was obtained from the provider.
- Format: date
- Length: 1-10 characters
- Pattern:
^\d{4}-\d{2}-\d{2}$
- exchange_rate_provider string - optional
Exchange rate provider that was used for the transaction.
- Length: 1-63 characters
- Pattern:
^[\x20-\x7E]{1,63}$
- markup_fee integer - optional
Mark-up fee that was charged for the DCC transaction. The value is expressed as an integer in one hundredth of percents, so
100means a mark-up of 1 %.- Range: 0-10000
- provider string - optional
DCC provider that was used for the transaction.
- Length: 1-63 characters
- Pattern:
^[\x20-\x7E]{1,63}$
- external_id string - optional
Client provided identifier for the transaction, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- id string - optional
Internal identifier for the transaction, see Id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- metadata object - optional
Client provided transaction metadata, see Metadata.
- original_purchase_external_id string - optional
Original purchase transaction’s
external_id, see External id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- original_purchase_id string - optional
Original purchase transaction’s
id, see Id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- original_purchase_terminal_id string - optional
Original purchase transaction’s
terminal_id, see Terminal id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- payment_method_details - optional
Payment method specific information
Any of the objects below can be in the payload
When
payment_methodisCARD- payment_method string - required
CARD - acquirer_reference string - optional
Transaction reference number in format
YYMMDDNNNNNN. It is set by the terminal at the time the transaction is created and guaranteed to be unique within the terminal. It is transmitted to the acquirer during transaction processing.- Length: 12 characters
- Pattern:
^[0-9]{12}$
- acquirer_terminal_id string - optional
Terminal identifier that is used towards the acquirer. It often matches the transaction terminal id, but some acquirers have special rules and limitations that require it to be different.
- Length: 8 characters
- Pattern:
^[0-9A-Z]{8}$
- acquirer_timestamp string - optional
Local transaction time in format
YYMMDDHHMMSS. It is set by the terminal at the time the transaction is created. It is transmitted to the acquirer during transaction processing.- Length: 12 characters
- Pattern:
^[0-9]{12}$
- application_identifier string - optional
Application identifier (AID) of the selected card application.
- Length: 10-32 characters
- Pattern:
^[0-9A-F]{10,32}$
- application_name string - optional
Name of the selected card application.
- Length: 1-16 characters
- Pattern:
^[\x20-\x7E]{1,16}$
- authorization_code string - optional
Authorization code for the transaction, if received from the acquirer.
- Length: 6 characters
- Pattern:
^[0-9A-Z]{6}$
- authorization_response_code string - optional
Response code from the acquirer. This is not the same as the
result_codeof the transaction. This is a code that is used by the acquirer to indicate the result of the authorization. Generally00means success.- Length: 2 characters
- Pattern:
^[0-9A-Z]{2}$
- card_entry_mode string - optional
Card entry mode is the way the card was read by the terminal. This does not directly tell the form factor of the card, as contactless entry mode is used for anything that is read wirelessly, including mobile phones and smartwatches.
Value Description CONTACT_EMVCard was inserted into the terminal and the chip was read CONTACTLESS_EMVCard or phone was tapped on the terminal and the chip was read wirelessly MAGNETIC_STRIPECard was swiped on the terminal and the magnetic stripe was read MANUALCard number was typed in manually on the terminal - card_number_customer string - optional
Card primary account number that can be shown to the customer. Generally only the last 4 digits are shown, rest are masked.
- Length: 13-19 characters
- Pattern:
^[0-9*]{13,19}$
- card_number_merchant string - optional
Card primary account number that can be shown to the merchant. Generally first 6 and last 4 digits are shown, rest are masked.
- Length: 13-19 characters
- Pattern:
^[0-9*]{13,19}$
- card_scheme string - optional
Card scheme is the payment network the card is provided by. This is not necessarily the card brand which is printed on top of the card. Scheme will never be
UNKNOWNfor a successful transaction.AMEXBANKAXEPTDANKORTDINERS_CLUBGIROCARDJCBMASTERCARDUNIONPAYVISAUNKNOWN - card_sequence_number string - optional
Sequence number for multiple cards with the same card number. Required to be printed on receipts.
- Length: 2 characters
- Pattern:
^[0-9]{2}$
- cardholder_verification string - optional
Cardholder verification method (CVM) is the way the cardholder was verified to be the owner of the card.
Value Description NONECardholder has not been verified SIGNATURECardholder has given their signature PINCardholder typed in a PIN code PIN_AND_SIGNATUREBoth `SIGNATURE` and `PIN` were used CONSUMER_DEVICECardholder used a consumer device, such as a phone, for verification
- receipt_details_customer string - optional
Customer receipt details, see Receipt. This is the information that must be printed on the customer receipt.
- Length: 1-1023 characters
- Pattern:
^([\x20-\x7E]{0,32}\n){1,31}$
- receipt_details_merchant string - optional
Merchant receipt details, see Receipt. This is the information that must be printed on the merchant receipt.
- Length: 1-1023 characters
- Pattern:
^([\x20-\x7E]{0,32}\n){1,31}$
- reference string - optional
Unique reference number for the transaction. This is a number that should be printed on the receipt. It can be typed into the terminal to reference the purchase for a refund. All “-” characters are just for visual separation and will not be required on input.
- Length: 1-63 characters
- Pattern:
^[0-9-]{1,63}$
- requested_amount integer - optional
Amount that was requested for the transaction, see Requested amount.
- Range: 0-999999999999
- result_code string - optional
Result of the transaction, see Results and errors.
- Length: 1-255 characters
- Pattern:
^[0-9A-Z_]{1,255}$
- result_description string - optional
English language transaction result description for logs and administrative interfaces. It should not be shown to customer and might be too technical to be useful for a cashier.
- Length: 1-255 characters
- Pattern:
^[\x20-\x7E]{1,255}$
- state string - optional
State of the transaction, see Transaction flow.
Value Description AWAITING_CONFIRMNeeds client to send 'confirm' message to continue processing AWAITING_CONTINUENeeds client to send 'continue' message to continue processing PROCESSINGTransaction is being processed CONFIRMEDTransaction has been confirmed as successful or failed COMMITTEDTransaction result has been committed and cannot be changed - surcharge_amount integer - optional
Amount of surcharge that was added to the transaction, see Surcharge amount.
- Range: 0-999999999999
- terminal_id string - optional
Identifier of the terminal that processed the transaction, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- tip_amount integer - optional
Amount of tip that was added to the transaction, see Tip amount.
- Range: 0-999999999999
- total_amount integer - optional
Current total amount for transaction, see Total amount
- Range: 0-999999999999
- type string - optional
Transaction type.
Value Description ACCOUNT_CHECKAccount check transaction to check if card is valid PURCHASEPurchase transaction to charge customer for goods REFUNDRefund transaction to return money to customer UNKNOWNTransaction type not known, or not representable in this enumeration - updated_at string - optional
Time when the transaction was last updated.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- 400 Bad Request
- error object - required
- code string - optional
Error code, see Results and errors.
- Length: 1-63 characters
- description string - optional
Human readable description of error, see Results and errors.
- Length: 1-255 characters
- 500 Internal Server Error
- error object - required
- code string - optional
Error code, see Results and errors.
- Length: 1-63 characters
- description string - optional
Human readable description of error, see Results and errors.
- Length: 1-255 characters
{
"transaction": {
"authorized_amount": 1000,
"captured_amount": 1000,
"cashback_amount": 1000,
"confirmed_at": "2024-11-07T05:25:55.123Z",
"created_at": "2024-11-07T05:25:55.123Z",
"currency": "EUR",
"customer_identity": {
"computop": {
"card_token": "1234567890123456"
},
"par": {
"par_value": "5001ABCDEFGHIJKLMNOPQRSTUVWXY"
}
},
"customer_not_present": true,
"dcc": {
"customer_amount": 1000,
"customer_currency": "EUR",
"exchange_rate": 42,
"exchange_rate_date": "2024-11-07",
"exchange_rate_provider": "ECB",
"markup_fee": 500,
"provider": "Nets"
},
"external_id": "123",
"id": "txn-12345678-01JPHYGPRMH9QRFS3M69SJW9SH",
"metadata": {
"key1": "value1",
"key2": "value2"
},
"original_purchase_external_id": "123",
"original_purchase_id": "txn-12345678-01JPHYGPRMH9QRFS3M69SJW9SH",
"original_purchase_terminal_id": "t-12345678",
"payment_method_details": {
"acquirer_reference": "241128113112",
"acquirer_terminal_id": "A1234567",
"acquirer_timestamp": "241128113123",
"application_identifier": "string",
"application_name": "string",
"authorization_code": "123ABC",
"authorization_response_code": "00",
"card_entry_mode": "string",
"card_number_customer": "************2454",
"card_number_merchant": "400770******2454",
"card_scheme": "string",
"card_sequence_number": "01",
"cardholder_verification": "string",
"payment_method": "string"
},
"receipt_details_customer": "CARD:************0010\nAPP: CREDITO DE VISA\nAID: A0000000031010\nMODE:ICC/PIN SEQ: 01\nAUTH:A1B2C3 RC: 00\nTIME:250629115005\nR:250629197805-87251720\n",
"receipt_details_merchant": "CARD:************0010\nAPP: CREDITO DE VISA\nAID: A0000000031010\nMODE:ICC/PIN SEQ: 01\nAUTH:A1B2C3 RC: 00\nTIME:250629115005\nR:250629197805-87251720\n",
"reference": "250404123456-01234567",
"requested_amount": 1000,
"result_code": "SUCCESS",
"result_description": "The amount given was negative.",
"state": "CONFIRMED",
"surcharge_amount": 1000,
"terminal_id": "t-12345678",
"tip_amount": 1000,
"total_amount": 1000,
"type": "string",
"updated_at": "2024-11-07T05:25:55.123Z"
}
}Get unconfirmed transactions
POST /transaction/unconfirmed
Get a list of unconfirmed transactions for a terminal.
This operation is meant only for development and recovering from lost transaction identifiers. See transactional reliability.
Request body
- terminal_id string - required
Identifier of the terminal for which to list the unconfirmed transactions, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
{
"terminal_id": "t-12345678"
}Responses
- 200 Request processing succeeded
- transactions array - required
Current state of the transactions for the specified terminal.
- authorized_amount integer - optional
Amount that was authorized by the acquirer, see Authorized amount.
- Range: 0-999999999999
- captured_amount integer - optional
Amount that was captured from customer account, see Captured amount.
- Range: 0-999999999999
- cashback_amount integer - optional
Amount of cashback given to the customer, see Cashback amount.
- Range: 0-999999999999
- confirmed_at string - optional
Time when the transaction was confirmed. Missing if the transaction hasn’t been confirmed yet.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- created_at string - optional
Time when the transaction was created.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- currency string - optional
Currency of the transaction, see Currency.
- Length: 3 characters
- Pattern:
^[A-Z]{3}$
- customer_identity object - optional
Customer identity information. If the customer was identified somehow by their payment instrument, this information is available in the transaction details. There can be multiple ways utilized at the same time for a single transaction, so this object will contain data for the methods that were used for this transaction.
- computop object - optional
Computop specific customer identity information.
- card_token string - optional
Computop specific card token. This is a unique identifier for the card that can be used to identify the card in future transactions.
- Length: 16 characters
- Pattern:
^[0-9]{16}$
- par object - optional
Payment account reference (PAR) as provided by the payment instrument. This is a unique identifier for the card that can be used to identify the card in future transactions.
- par_value string - optional
Payment account reference (PAR) as read from the payment instrument.
- Length: 29 characters
- Pattern:
^[0-9A-Z]{29}$
- customer_not_present boolean - optional
Indicator that the transaction was done without the customer being present at the terminal.
- Default:
false
- Default:
- dcc object - optional
Details of a currency conversion, see DCC. This element only present if the transaction was processed in a different currency for the customer than the one in
currencyfield.- customer_amount integer - optional
Amount that the customer paid in their own currency. This amount is in the currency listed in
customer_currency.- Range: 0-999999999999
- customer_currency string - optional
Currency that customer paid in, see Currency.
- Length: 3 characters
- Pattern:
^[A-Z]{3}$
- exchange_rate integer - optional
Exchange rate that was used for the DCC transaction. The value is expressed as an integer with exactly four decimal places. That means that a value of
10000is equal to 1:1 exchange rate.- Minimum: 0
- exchange_rate_date string - optional
Date when the exchange rate was obtained from the provider.
- Format: date
- Length: 1-10 characters
- Pattern:
^\d{4}-\d{2}-\d{2}$
- exchange_rate_provider string - optional
Exchange rate provider that was used for the transaction.
- Length: 1-63 characters
- Pattern:
^[\x20-\x7E]{1,63}$
- markup_fee integer - optional
Mark-up fee that was charged for the DCC transaction. The value is expressed as an integer in one hundredth of percents, so
100means a mark-up of 1 %.- Range: 0-10000
- provider string - optional
DCC provider that was used for the transaction.
- Length: 1-63 characters
- Pattern:
^[\x20-\x7E]{1,63}$
- external_id string - optional
Client provided identifier for the transaction, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- id string - optional
Internal identifier for the transaction, see Id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- metadata object - optional
Client provided transaction metadata, see Metadata.
- original_purchase_external_id string - optional
Original purchase transaction’s
external_id, see External id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- original_purchase_id string - optional
Original purchase transaction’s
id, see Id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- original_purchase_terminal_id string - optional
Original purchase transaction’s
terminal_id, see Terminal id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- payment_method_details - optional
Payment method specific information
Any of the objects below can be in the payload
When
payment_methodisCARD- payment_method string - required
CARD - acquirer_reference string - optional
Transaction reference number in format
YYMMDDNNNNNN. It is set by the terminal at the time the transaction is created and guaranteed to be unique within the terminal. It is transmitted to the acquirer during transaction processing.- Length: 12 characters
- Pattern:
^[0-9]{12}$
- acquirer_terminal_id string - optional
Terminal identifier that is used towards the acquirer. It often matches the transaction terminal id, but some acquirers have special rules and limitations that require it to be different.
- Length: 8 characters
- Pattern:
^[0-9A-Z]{8}$
- acquirer_timestamp string - optional
Local transaction time in format
YYMMDDHHMMSS. It is set by the terminal at the time the transaction is created. It is transmitted to the acquirer during transaction processing.- Length: 12 characters
- Pattern:
^[0-9]{12}$
- application_identifier string - optional
Application identifier (AID) of the selected card application.
- Length: 10-32 characters
- Pattern:
^[0-9A-F]{10,32}$
- application_name string - optional
Name of the selected card application.
- Length: 1-16 characters
- Pattern:
^[\x20-\x7E]{1,16}$
- authorization_code string - optional
Authorization code for the transaction, if received from the acquirer.
- Length: 6 characters
- Pattern:
^[0-9A-Z]{6}$
- authorization_response_code string - optional
Response code from the acquirer. This is not the same as the
result_codeof the transaction. This is a code that is used by the acquirer to indicate the result of the authorization. Generally00means success.- Length: 2 characters
- Pattern:
^[0-9A-Z]{2}$
- card_entry_mode string - optional
Card entry mode is the way the card was read by the terminal. This does not directly tell the form factor of the card, as contactless entry mode is used for anything that is read wirelessly, including mobile phones and smartwatches.
Value Description CONTACT_EMVCard was inserted into the terminal and the chip was read CONTACTLESS_EMVCard or phone was tapped on the terminal and the chip was read wirelessly MAGNETIC_STRIPECard was swiped on the terminal and the magnetic stripe was read MANUALCard number was typed in manually on the terminal - card_number_customer string - optional
Card primary account number that can be shown to the customer. Generally only the last 4 digits are shown, rest are masked.
- Length: 13-19 characters
- Pattern:
^[0-9*]{13,19}$
- card_number_merchant string - optional
Card primary account number that can be shown to the merchant. Generally first 6 and last 4 digits are shown, rest are masked.
- Length: 13-19 characters
- Pattern:
^[0-9*]{13,19}$
- card_scheme string - optional
Card scheme is the payment network the card is provided by. This is not necessarily the card brand which is printed on top of the card. Scheme will never be
UNKNOWNfor a successful transaction.AMEXBANKAXEPTDANKORTDINERS_CLUBGIROCARDJCBMASTERCARDUNIONPAYVISAUNKNOWN - card_sequence_number string - optional
Sequence number for multiple cards with the same card number. Required to be printed on receipts.
- Length: 2 characters
- Pattern:
^[0-9]{2}$
- cardholder_verification string - optional
Cardholder verification method (CVM) is the way the cardholder was verified to be the owner of the card.
Value Description NONECardholder has not been verified SIGNATURECardholder has given their signature PINCardholder typed in a PIN code PIN_AND_SIGNATUREBoth `SIGNATURE` and `PIN` were used CONSUMER_DEVICECardholder used a consumer device, such as a phone, for verification
- receipt_details_customer string - optional
Customer receipt details, see Receipt. This is the information that must be printed on the customer receipt.
- Length: 1-1023 characters
- Pattern:
^([\x20-\x7E]{0,32}\n){1,31}$
- receipt_details_merchant string - optional
Merchant receipt details, see Receipt. This is the information that must be printed on the merchant receipt.
- Length: 1-1023 characters
- Pattern:
^([\x20-\x7E]{0,32}\n){1,31}$
- reference string - optional
Unique reference number for the transaction. This is a number that should be printed on the receipt. It can be typed into the terminal to reference the purchase for a refund. All “-” characters are just for visual separation and will not be required on input.
- Length: 1-63 characters
- Pattern:
^[0-9-]{1,63}$
- requested_amount integer - optional
Amount that was requested for the transaction, see Requested amount.
- Range: 0-999999999999
- result_code string - optional
Result of the transaction, see Results and errors.
- Length: 1-255 characters
- Pattern:
^[0-9A-Z_]{1,255}$
- result_description string - optional
English language transaction result description for logs and administrative interfaces. It should not be shown to customer and might be too technical to be useful for a cashier.
- Length: 1-255 characters
- Pattern:
^[\x20-\x7E]{1,255}$
- state string - optional
State of the transaction, see Transaction flow.
Value Description AWAITING_CONFIRMNeeds client to send 'confirm' message to continue processing AWAITING_CONTINUENeeds client to send 'continue' message to continue processing PROCESSINGTransaction is being processed CONFIRMEDTransaction has been confirmed as successful or failed COMMITTEDTransaction result has been committed and cannot be changed - surcharge_amount integer - optional
Amount of surcharge that was added to the transaction, see Surcharge amount.
- Range: 0-999999999999
- terminal_id string - optional
Identifier of the terminal that processed the transaction, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- tip_amount integer - optional
Amount of tip that was added to the transaction, see Tip amount.
- Range: 0-999999999999
- total_amount integer - optional
Current total amount for transaction, see Total amount
- Range: 0-999999999999
- type string - optional
Transaction type.
Value Description ACCOUNT_CHECKAccount check transaction to check if card is valid PURCHASEPurchase transaction to charge customer for goods REFUNDRefund transaction to return money to customer UNKNOWNTransaction type not known, or not representable in this enumeration - updated_at string - optional
Time when the transaction was last updated.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- 404 Not Found
- error object - required
- code string - optional
Error code, see Results and errors.
- Length: 1-63 characters
- description string - optional
Human readable description of error, see Results and errors.
- Length: 1-255 characters
- 500 Internal Server Error
- error object - required
- code string - optional
Error code, see Results and errors.
- Length: 1-63 characters
- description string - optional
Human readable description of error, see Results and errors.
- Length: 1-255 characters
{
"transactions": [
{
"authorized_amount": 1000,
"captured_amount": 1000,
"cashback_amount": 1000,
"confirmed_at": "2024-11-07T05:25:55.123Z",
"created_at": "2024-11-07T05:25:55.123Z",
"currency": "EUR",
"customer_identity": {
"computop": {
"card_token": "1234567890123456"
},
"par": {
"par_value": "5001ABCDEFGHIJKLMNOPQRSTUVWXY"
}
},
"customer_not_present": true,
"dcc": {
"customer_amount": 1000,
"customer_currency": "EUR",
"exchange_rate": 42,
"exchange_rate_date": "2024-11-07",
"exchange_rate_provider": "ECB",
"markup_fee": 500,
"provider": "Nets"
},
"external_id": "123",
"id": "txn-12345678-01JPHYGPRMH9QRFS3M69SJW9SH",
"metadata": {
"key1": "value1",
"key2": "value2"
},
"original_purchase_external_id": "123",
"original_purchase_id": "txn-12345678-01JPHYGPRMH9QRFS3M69SJW9SH",
"original_purchase_terminal_id": "t-12345678",
"payment_method_details": {
"acquirer_reference": "241128113112",
"acquirer_terminal_id": "A1234567",
"acquirer_timestamp": "241128113123",
"application_identifier": "string",
"application_name": "string",
"authorization_code": "123ABC",
"authorization_response_code": "00",
"card_entry_mode": "string",
"card_number_customer": "************2454",
"card_number_merchant": "400770******2454",
"card_scheme": "string",
"card_sequence_number": "01",
"cardholder_verification": "string",
"payment_method": "string"
},
"receipt_details_customer": "CARD:************0010\nAPP: CREDITO DE VISA\nAID: A0000000031010\nMODE:ICC/PIN SEQ: 01\nAUTH:A1B2C3 RC: 00\nTIME:250629115005\nR:250629197805-87251720\n",
"receipt_details_merchant": "CARD:************0010\nAPP: CREDITO DE VISA\nAID: A0000000031010\nMODE:ICC/PIN SEQ: 01\nAUTH:A1B2C3 RC: 00\nTIME:250629115005\nR:250629197805-87251720\n",
"reference": "250404123456-01234567",
"requested_amount": 1000,
"result_code": "SUCCESS",
"result_description": "The amount given was negative.",
"state": "CONFIRMED",
"surcharge_amount": 1000,
"terminal_id": "t-12345678",
"tip_amount": 1000,
"total_amount": 1000,
"type": "string",
"updated_at": "2024-11-07T05:25:55.123Z"
}
]
}Terminals
Get terminal status
POST /terminal/status
Returns the state of a specific terminal.
Request body
- terminal_id string - required
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
{
"terminal_id": "t-12345678"
}Responses
- 200 Request processing succeeded
- status object - required
Current status of the specified terminal.
- battery_charging boolean - optional
Whether the terminal is currently charging the battery. Only available for terminals that support this feature.
- battery_percentage number - optional
How much charge is remaining on the terminal’s battery. Only available for terminals that support this feature.
- Range: 0-100
- connected boolean - optional
Whether the terminal is connected to the server.
- plugged_in boolean - optional
Whether the terminals is currently plugged into a power source. Only available for terminals that support this feature.
- screen_message string - optional
Human readable description of what is currently shown on the terminal screen. The messages may change both in content and language at any time, and as such they MUST NOT be parsed programmatically, e.g. to detect transaction state as any such logic would be fragile.
- Length: 1-255 characters
- terminal_id string - optional
The terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- transaction_state string - optional
The current state of the terminal regarding transactions.
Value Description AWAITING_CONTINUETerminal is waiting for client to send ‘continue’ message BUSYTerminal is not ready to process transactions PROCESSINGTerminal is processing a transaction READYTerminal is ready to process a new transaction AWAITING_CONTINUEBUSYPROCESSINGREADY - updated_at string - optional
When any of the fields last changed.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- 400 Bad Request
- error object - required
- code string - optional
Error code, see Results and errors.
- Length: 1-63 characters
- description string - optional
Human readable description of error, see Results and errors.
- Length: 1-255 characters
- 500 Internal Server Error
- error object - required
- code string - optional
Error code, see Results and errors.
- Length: 1-63 characters
- description string - optional
Human readable description of error, see Results and errors.
- Length: 1-255 characters
{
"status": {
"battery_charging": true,
"battery_percentage": 94,
"connected": true,
"plugged_in": true,
"screen_message": "Please insert card",
"terminal_id": "t-12345678",
"transaction_state": "PROCESSING",
"updated_at": "2024-11-07T05:25:55.123Z"
}
}POST /terminal/print
Prints a message on the receipt printer included in the terminal. The request returns as soon as the message is successfully queued on the terminal and the terminal is ready to receive the next print operation. The actual printing may take some time, or it may fail, which is not exposed in this API. If a print operation is sent to a terminal which does not have a receipt printer, the response will be an error.
Request body
- contents string - required
Data as a base64 encoded string. Decoded contents must match given format type.
- Length: 1-262143 characters
- format string - required
Format of the content.
PNG - terminal_id string - required
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- continue boolean - optional
Longer prints may be done with several calls, with
continueset totrueon all but last fragment.- Default:
false
- Default:
{
"contents": "iVBORw0KGgoAAAANSUhEUgAAAW0AAADICAIAAACsxSecAAAACXBIWXMAAA\nsTAAALEwEAmpwYAAAAB3RJTUUH3woPBx8Rn8o0RAAAABl0RVh0Q29tbWVudABDcmVhd\nGVkIHdpdGggR0lNUFeBDhcAAAHUSURBVHja7dSxDQAgDAPBhP13NiOkQEJC3NWuXHwV\nAAAAAAAAAAAAAAAAAAAA8KoeF0ncBF9noodQLB8Bh3QE0BFARwAdAXQEQEcAHQF0BNA\nRAB0BdATQEUBHAHQE0BFARwAdAdARQEcAHQF0BEBHAB0BdATQEQAdAXQE0BFARwB0BN\nARQEcAHQHQEUBHAB0BdARARwAdAXQE0BEAHQF0BNARQEcAdATQEUBHAB0B0BFARwAdA\nXQEQEcAHQF0BNARAB0BdATQEUBHAHQE0BFARwAdAdARQEcAHQF0BEBHAB0BdATQEQAd\nAXQE0BFARwB0BNARQEcAHQHQEUBHAB0BdARARwAdAXQE0BEAHQF0BNARQEcAdATQEUB\nHAB0B0BFARwAdAXQEQEcAHQF0BNARAB0BdATQEUBHAHQE0BFARwAdAdARQEcAHQF0BE\nBHAB0BdATQEQAdAXQE0BFARwB0BNARQEcAHQHQEUBHAB0BdATQEQAdAXQE0BFARwB0B\nNARQEcAHQHQEUBHAB0BdARARwAdAXQE0BEAHQF0BNARQEcAdATQEUBHAB0B0BFARwAd\nAXQEQEcAHQF0BNARAB0BdAQAAAAAAAAAAAAAAAAAAAAAuGMDAjUEVLwTKcgAAAAASUV\nORK5CYII=\n",
"continue": true,
"format": "PNG",
"terminal_id": "t-12345678"
}Responses
- 200 Request processing succeeded
- queued boolean - required
Whether the print request was queued for processing. Currently
truefor all print requests as they are processed asynchronously.
- 400 Bad Request
- error object - required
- code string - optional
Error code, see Results and errors.
- Length: 1-63 characters
- description string - optional
Human readable description of error, see Results and errors.
- Length: 1-255 characters
- 500 Internal Server Error
- error object - required
- code string - optional
Error code, see Results and errors.
- Length: 1-63 characters
- description string - optional
Human readable description of error, see Results and errors.
- Length: 1-255 characters
{
"queued": true
}Events
Event
schema
Any of the objects below can be in the payload
When
typeiseu.npay.api.pos.v0.Transaction- id string - required
Unique identifier for the event.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- source string - required
Source of the event, the base URL of the API.
- Format: uri-reference
https://api.npay.eu/pos/ - specversion string - required
CloudEvents specification version.
1.0 - datacontenttype string - optional
Content type of the data. Will not be sent if it is
application/json.- Min length: 1 characters
- dataschema string - optional
Schema of the data. Will not be sent by the API.
- Format: uri-reference
- Min length: 1 characters
- subject string - optional
For which entity the event was recorded. Typically the terminal id but can also be the id of a pre-aggregated stream. See Subject.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- time string - optional
Timestamp of when the event occurred.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- type string - required
eu.npay.api.pos.v0.Transaction - data object - required
- authorized_amount integer - optional
Amount that was authorized by the acquirer, see Authorized amount.
- Range: 0-999999999999
- captured_amount integer - optional
Amount that was captured from customer account, see Captured amount.
- Range: 0-999999999999
- cashback_amount integer - optional
Amount of cashback given to the customer, see Cashback amount.
- Range: 0-999999999999
- confirmed_at string - optional
Time when the transaction was confirmed. Missing if the transaction hasn’t been confirmed yet.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- created_at string - optional
Time when the transaction was created.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- currency string - optional
Currency of the transaction, see Currency.
- Length: 3 characters
- Pattern:
^[A-Z]{3}$
- customer_identity object - optional
Customer identity information. If the customer was identified somehow by their payment instrument, this information is available in the transaction details. There can be multiple ways utilized at the same time for a single transaction, so this object will contain data for the methods that were used for this transaction.
- computop object - optional
Computop specific customer identity information.
- card_token string - optional
Computop specific card token. This is a unique identifier for the card that can be used to identify the card in future transactions.
- Length: 16 characters
- Pattern:
^[0-9]{16}$
- par object - optional
Payment account reference (PAR) as provided by the payment instrument. This is a unique identifier for the card that can be used to identify the card in future transactions.
- par_value string - optional
Payment account reference (PAR) as read from the payment instrument.
- Length: 29 characters
- Pattern:
^[0-9A-Z]{29}$
- customer_not_present boolean - optional
Indicator that the transaction was done without the customer being present at the terminal.
- Default:
false
- Default:
- dcc object - optional
Details of a currency conversion, see DCC. This element only present if the transaction was processed in a different currency for the customer than the one in
currencyfield.- customer_amount integer - optional
Amount that the customer paid in their own currency. This amount is in the currency listed in
customer_currency.- Range: 0-999999999999
- customer_currency string - optional
Currency that customer paid in, see Currency.
- Length: 3 characters
- Pattern:
^[A-Z]{3}$
- exchange_rate integer - optional
Exchange rate that was used for the DCC transaction. The value is expressed as an integer with exactly four decimal places. That means that a value of
10000is equal to 1:1 exchange rate.- Minimum: 0
- exchange_rate_date string - optional
Date when the exchange rate was obtained from the provider.
- Format: date
- Length: 1-10 characters
- Pattern:
^\d{4}-\d{2}-\d{2}$
- exchange_rate_provider string - optional
Exchange rate provider that was used for the transaction.
- Length: 1-63 characters
- Pattern:
^[\x20-\x7E]{1,63}$
- markup_fee integer - optional
Mark-up fee that was charged for the DCC transaction. The value is expressed as an integer in one hundredth of percents, so
100means a mark-up of 1 %.- Range: 0-10000
- provider string - optional
DCC provider that was used for the transaction.
- Length: 1-63 characters
- Pattern:
^[\x20-\x7E]{1,63}$
- external_id string - optional
Client provided identifier for the transaction, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- id string - optional
Internal identifier for the transaction, see Id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- metadata object - optional
Client provided transaction metadata, see Metadata.
- original_purchase_external_id string - optional
Original purchase transaction’s
external_id, see External id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- original_purchase_id string - optional
Original purchase transaction’s
id, see Id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- original_purchase_terminal_id string - optional
Original purchase transaction’s
terminal_id, see Terminal id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- payment_method_details - optional
Payment method specific information
Any of the objects below can be in the payload
When
payment_methodisCARD- payment_method string - required
CARD - acquirer_reference string - optional
Transaction reference number in format
YYMMDDNNNNNN. It is set by the terminal at the time the transaction is created and guaranteed to be unique within the terminal. It is transmitted to the acquirer during transaction processing.- Length: 12 characters
- Pattern:
^[0-9]{12}$
- acquirer_terminal_id string - optional
Terminal identifier that is used towards the acquirer. It often matches the transaction terminal id, but some acquirers have special rules and limitations that require it to be different.
- Length: 8 characters
- Pattern:
^[0-9A-Z]{8}$
- acquirer_timestamp string - optional
Local transaction time in format
YYMMDDHHMMSS. It is set by the terminal at the time the transaction is created. It is transmitted to the acquirer during transaction processing.- Length: 12 characters
- Pattern:
^[0-9]{12}$
- application_identifier string - optional
Application identifier (AID) of the selected card application.
- Length: 10-32 characters
- Pattern:
^[0-9A-F]{10,32}$
- application_name string - optional
Name of the selected card application.
- Length: 1-16 characters
- Pattern:
^[\x20-\x7E]{1,16}$
- authorization_code string - optional
Authorization code for the transaction, if received from the acquirer.
- Length: 6 characters
- Pattern:
^[0-9A-Z]{6}$
- authorization_response_code string - optional
Response code from the acquirer. This is not the same as the
result_codeof the transaction. This is a code that is used by the acquirer to indicate the result of the authorization. Generally00means success.- Length: 2 characters
- Pattern:
^[0-9A-Z]{2}$
- card_entry_mode string - optional
Card entry mode is the way the card was read by the terminal. This does not directly tell the form factor of the card, as contactless entry mode is used for anything that is read wirelessly, including mobile phones and smartwatches.
Value Description CONTACT_EMVCard was inserted into the terminal and the chip was read CONTACTLESS_EMVCard or phone was tapped on the terminal and the chip was read wirelessly MAGNETIC_STRIPECard was swiped on the terminal and the magnetic stripe was read MANUALCard number was typed in manually on the terminal - card_number_customer string - optional
Card primary account number that can be shown to the customer. Generally only the last 4 digits are shown, rest are masked.
- Length: 13-19 characters
- Pattern:
^[0-9*]{13,19}$
- card_number_merchant string - optional
Card primary account number that can be shown to the merchant. Generally first 6 and last 4 digits are shown, rest are masked.
- Length: 13-19 characters
- Pattern:
^[0-9*]{13,19}$
- card_scheme string - optional
Card scheme is the payment network the card is provided by. This is not necessarily the card brand which is printed on top of the card. Scheme will never be
UNKNOWNfor a successful transaction.AMEXBANKAXEPTDANKORTDINERS_CLUBGIROCARDJCBMASTERCARDUNIONPAYVISAUNKNOWN - card_sequence_number string - optional
Sequence number for multiple cards with the same card number. Required to be printed on receipts.
- Length: 2 characters
- Pattern:
^[0-9]{2}$
- cardholder_verification string - optional
Cardholder verification method (CVM) is the way the cardholder was verified to be the owner of the card.
Value Description NONECardholder has not been verified SIGNATURECardholder has given their signature PINCardholder typed in a PIN code PIN_AND_SIGNATUREBoth `SIGNATURE` and `PIN` were used CONSUMER_DEVICECardholder used a consumer device, such as a phone, for verification
- receipt_details_customer string - optional
Customer receipt details, see Receipt. This is the information that must be printed on the customer receipt.
- Length: 1-1023 characters
- Pattern:
^([\x20-\x7E]{0,32}\n){1,31}$
- receipt_details_merchant string - optional
Merchant receipt details, see Receipt. This is the information that must be printed on the merchant receipt.
- Length: 1-1023 characters
- Pattern:
^([\x20-\x7E]{0,32}\n){1,31}$
- reference string - optional
Unique reference number for the transaction. This is a number that should be printed on the receipt. It can be typed into the terminal to reference the purchase for a refund. All “-” characters are just for visual separation and will not be required on input.
- Length: 1-63 characters
- Pattern:
^[0-9-]{1,63}$
- requested_amount integer - optional
Amount that was requested for the transaction, see Requested amount.
- Range: 0-999999999999
- result_code string - optional
Result of the transaction, see Results and errors.
- Length: 1-255 characters
- Pattern:
^[0-9A-Z_]{1,255}$
- result_description string - optional
English language transaction result description for logs and administrative interfaces. It should not be shown to customer and might be too technical to be useful for a cashier.
- Length: 1-255 characters
- Pattern:
^[\x20-\x7E]{1,255}$
- state string - optional
State of the transaction, see Transaction flow.
Value Description AWAITING_CONFIRMNeeds client to send 'confirm' message to continue processing AWAITING_CONTINUENeeds client to send 'continue' message to continue processing PROCESSINGTransaction is being processed CONFIRMEDTransaction has been confirmed as successful or failed COMMITTEDTransaction result has been committed and cannot be changed - surcharge_amount integer - optional
Amount of surcharge that was added to the transaction, see Surcharge amount.
- Range: 0-999999999999
- terminal_id string - optional
Identifier of the terminal that processed the transaction, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- tip_amount integer - optional
Amount of tip that was added to the transaction, see Tip amount.
- Range: 0-999999999999
- total_amount integer - optional
Current total amount for transaction, see Total amount
- Range: 0-999999999999
- type string - optional
Transaction type.
Value Description ACCOUNT_CHECKAccount check transaction to check if card is valid PURCHASEPurchase transaction to charge customer for goods REFUNDRefund transaction to return money to customer UNKNOWNTransaction type not known, or not representable in this enumeration - updated_at string - optional
Time when the transaction was last updated.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
When
typeiseu.npay.api.pos.v0.TerminalStatus- id string - required
Unique identifier for the event.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- source string - required
Source of the event, the base URL of the API.
- Format: uri-reference
https://api.npay.eu/pos/ - specversion string - required
CloudEvents specification version.
1.0 - datacontenttype string - optional
Content type of the data. Will not be sent if it is
application/json.- Min length: 1 characters
- dataschema string - optional
Schema of the data. Will not be sent by the API.
- Format: uri-reference
- Min length: 1 characters
- subject string - optional
For which entity the event was recorded. Typically the terminal id but can also be the id of a pre-aggregated stream. See Subject.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- time string - optional
Timestamp of when the event occurred.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- type string - required
eu.npay.api.pos.v0.TerminalStatus - data object - required
- connected boolean - optional
Whether the terminal is connected to the server.
- terminal_id string - optional
The terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- transaction_state string - optional
The current state of the terminal regarding transactions.
Value Description AWAITING_CONTINUETerminal is waiting for client to send ‘continue’ message BUSYTerminal is not ready to process transactions PROCESSINGTerminal is processing a transaction READYTerminal is ready to process a new transaction AWAITING_CONTINUEBUSYPROCESSINGREADY - updated_at string - optional
When any of the fields last changed.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- battery_charging boolean - optional
Whether the terminal is currently charging the battery. Only available for terminals that support this feature.
- battery_percentage number - optional
How much charge is remaining on the terminal’s battery. Only available for terminals that support this feature.
- Range: 0-100
- plugged_in boolean - optional
Whether the terminals is currently plugged into a power source. Only available for terminals that support this feature.
- screen_message string - optional
Human readable description of what is currently shown on the terminal screen. The messages may change both in content and language at any time, and as such they MUST NOT be parsed programmatically, e.g. to detect transaction state as any such logic would be fragile.
- Length: 1-255 characters
{
"data": {
"authorized_amount": 1000,
"captured_amount": 1000,
"cashback_amount": 1000,
"confirmed_at": "2024-11-07T05:25:55.123Z",
"created_at": "2024-11-07T05:25:55.123Z",
"currency": "EUR",
"customer_identity": {
"computop": {
"card_token": "1234567890123456"
},
"par": {
"par_value": "5001ABCDEFGHIJKLMNOPQRSTUVWXY"
}
},
"customer_not_present": true,
"dcc": {
"customer_amount": 1000,
"customer_currency": "EUR",
"exchange_rate": 42,
"exchange_rate_date": "2024-11-07",
"exchange_rate_provider": "ECB",
"markup_fee": 500,
"provider": "Nets"
},
"external_id": "123",
"id": "txn-12345678-01JPHYGPRMH9QRFS3M69SJW9SH",
"metadata": {
"key1": "value1",
"key2": "value2"
},
"original_purchase_external_id": "123",
"original_purchase_id": "txn-12345678-01JPHYGPRMH9QRFS3M69SJW9SH",
"original_purchase_terminal_id": "t-12345678",
"payment_method_details": {
"acquirer_reference": "241128113112",
"acquirer_terminal_id": "A1234567",
"acquirer_timestamp": "241128113123",
"application_identifier": "string",
"application_name": "string",
"authorization_code": "123ABC",
"authorization_response_code": "00",
"card_entry_mode": "string",
"card_number_customer": "************2454",
"card_number_merchant": "400770******2454",
"card_scheme": "string",
"card_sequence_number": "01",
"cardholder_verification": "string",
"payment_method": "string"
},
"receipt_details_customer": "CARD:************0010\nAPP: CREDITO DE VISA\nAID: A0000000031010\nMODE:ICC/PIN SEQ: 01\nAUTH:A1B2C3 RC: 00\nTIME:250629115005\nR:250629197805-87251720\n",
"receipt_details_merchant": "CARD:************0010\nAPP: CREDITO DE VISA\nAID: A0000000031010\nMODE:ICC/PIN SEQ: 01\nAUTH:A1B2C3 RC: 00\nTIME:250629115005\nR:250629197805-87251720\n",
"reference": "250404123456-01234567",
"requested_amount": 1000,
"result_code": "SUCCESS",
"result_description": "The amount given was negative.",
"state": "CONFIRMED",
"surcharge_amount": 1000,
"terminal_id": "t-12345678",
"tip_amount": 1000,
"total_amount": 1000,
"type": "string",
"updated_at": "2024-11-07T05:25:55.123Z"
},
"datacontenttype": "application/json",
"dataschema": "https://example.com/schema",
"id": "evt-01JPHYGPRMH9QRFS3M69SJW9SH",
"source": "string",
"specversion": "string",
"subject": "t-12345678",
"time": "2024-11-07T05:25:55.123Z",
"type": "string"
}List events
POST /event/list
⚠️ Unsupported API - Support will be added in the future
⚠️ Preliminary API - Subject to change without notice
Returns a list of events either according to the given filtering
criteria or continuing from an earlier next_token value.
Request body
One of the objects below will be in the payload
List events based on a filter.
- filter object - required
Filter for events.
- subject object - optional
- eq string - optional
Equal to identifier.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- in array - optional
Equal to any of the identifiers.
- time object - optional
- ge string - optional
Greater than or equal to date.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- gt string - optional
Greater than date.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- le string - optional
Less than or equal to date.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- lt string - optional
Less than date.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- type object - optional
- eq string - optional
Equal to event type.
eu.npay.api.pos.v0.Transactioneu.npay.api.pos.v0.TerminalStatus - in array - optional
Equal to any of the types.
- limit integer - optional
Maximum number of events to return.
- Default:
100
- Default:
- wait_seconds number - optional
If there are no events available, wait for this many seconds before returning an empty list.
- Default:
25 - Range: 0-180
- Default:
List events based on a next token.
- next_token string - required
Token for the next page of results.
- Length: 1-1023 characters
- Pattern:
^[\x20-\x7E]{1,1023}$
- limit integer - optional
Maximum number of events to return.
- Default:
100
- Default:
- wait_seconds number - optional
If there are no events available, wait for this many seconds before returning an empty list.
- Default:
25 - Range: 0-180
- Default:
{
"filter": {
"subject": {
"eq": "x-01JPHYGPRMH9QRFS3M69SJW9SH",
"in": [
"x-01JPHYGPRMH9QRFS3M69SJW9SH"
]
},
"time": {
"ge": "2024-11-07T05:25:55.123Z",
"gt": "2024-11-07T05:25:55.123Z",
"le": "2024-11-07T05:25:55.123Z",
"lt": "2024-11-07T05:25:55.123Z"
},
"type": {
"eq": "string",
"in": [
"string"
]
}
},
"limit": 10,
"wait_seconds": 60
}Responses
- 200 Request processing succeeded.
- events array - optional
List of events.
Any of the objects below can be in the payload
When
typeiseu.npay.api.pos.v0.Transaction- id string - required
Unique identifier for the event.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- source string - required
Source of the event, the base URL of the API.
- Format: uri-reference
https://api.npay.eu/pos/ - specversion string - required
CloudEvents specification version.
1.0 - datacontenttype string - optional
Content type of the data. Will not be sent if it is
application/json.- Min length: 1 characters
- dataschema string - optional
Schema of the data. Will not be sent by the API.
- Format: uri-reference
- Min length: 1 characters
- subject string - optional
For which entity the event was recorded. Typically the terminal id but can also be the id of a pre-aggregated stream. See Subject.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- time string - optional
Timestamp of when the event occurred.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- type string - required
eu.npay.api.pos.v0.Transaction - data object - required
- authorized_amount integer - optional
Amount that was authorized by the acquirer, see Authorized amount.
- Range: 0-999999999999
- captured_amount integer - optional
Amount that was captured from customer account, see Captured amount.
- Range: 0-999999999999
- cashback_amount integer - optional
Amount of cashback given to the customer, see Cashback amount.
- Range: 0-999999999999
- confirmed_at string - optional
Time when the transaction was confirmed. Missing if the transaction hasn’t been confirmed yet.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- created_at string - optional
Time when the transaction was created.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- currency string - optional
Currency of the transaction, see Currency.
- Length: 3 characters
- Pattern:
^[A-Z]{3}$
- customer_identity object - optional
Customer identity information. If the customer was identified somehow by their payment instrument, this information is available in the transaction details. There can be multiple ways utilized at the same time for a single transaction, so this object will contain data for the methods that were used for this transaction.
- computop object - optional
Computop specific customer identity information.
- card_token string - optional
Computop specific card token. This is a unique identifier for the card that can be used to identify the card in future transactions.
- Length: 16 characters
- Pattern:
^[0-9]{16}$
- par object - optional
Payment account reference (PAR) as provided by the payment instrument. This is a unique identifier for the card that can be used to identify the card in future transactions.
- par_value string - optional
Payment account reference (PAR) as read from the payment instrument.
- Length: 29 characters
- Pattern:
^[0-9A-Z]{29}$
- customer_not_present boolean - optional
Indicator that the transaction was done without the customer being present at the terminal.
- Default:
false
- Default:
- dcc object - optional
Details of a currency conversion, see DCC. This element only present if the transaction was processed in a different currency for the customer than the one in
currencyfield.- customer_amount integer - optional
Amount that the customer paid in their own currency. This amount is in the currency listed in
customer_currency.- Range: 0-999999999999
- customer_currency string - optional
Currency that customer paid in, see Currency.
- Length: 3 characters
- Pattern:
^[A-Z]{3}$
- exchange_rate integer - optional
Exchange rate that was used for the DCC transaction. The value is expressed as an integer with exactly four decimal places. That means that a value of
10000is equal to 1:1 exchange rate.- Minimum: 0
- exchange_rate_date string - optional
Date when the exchange rate was obtained from the provider.
- Format: date
- Length: 1-10 characters
- Pattern:
^\d{4}-\d{2}-\d{2}$
- exchange_rate_provider string - optional
Exchange rate provider that was used for the transaction.
- Length: 1-63 characters
- Pattern:
^[\x20-\x7E]{1,63}$
- markup_fee integer - optional
Mark-up fee that was charged for the DCC transaction. The value is expressed as an integer in one hundredth of percents, so
100means a mark-up of 1 %.- Range: 0-10000
- provider string - optional
DCC provider that was used for the transaction.
- Length: 1-63 characters
- Pattern:
^[\x20-\x7E]{1,63}$
- external_id string - optional
Client provided identifier for the transaction, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- id string - optional
Internal identifier for the transaction, see Id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- metadata object - optional
Client provided transaction metadata, see Metadata.
- original_purchase_external_id string - optional
Original purchase transaction’s
external_id, see External id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- original_purchase_id string - optional
Original purchase transaction’s
id, see Id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- original_purchase_terminal_id string - optional
Original purchase transaction’s
terminal_id, see Terminal id. Only relevant whentypeisREFUND.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- payment_method_details - optional
Payment method specific information
Any of the objects below can be in the payload
When
payment_methodisCARD- payment_method string - required
CARD - acquirer_reference string - optional
Transaction reference number in format
YYMMDDNNNNNN. It is set by the terminal at the time the transaction is created and guaranteed to be unique within the terminal. It is transmitted to the acquirer during transaction processing.- Length: 12 characters
- Pattern:
^[0-9]{12}$
- acquirer_terminal_id string - optional
Terminal identifier that is used towards the acquirer. It often matches the transaction terminal id, but some acquirers have special rules and limitations that require it to be different.
- Length: 8 characters
- Pattern:
^[0-9A-Z]{8}$
- acquirer_timestamp string - optional
Local transaction time in format
YYMMDDHHMMSS. It is set by the terminal at the time the transaction is created. It is transmitted to the acquirer during transaction processing.- Length: 12 characters
- Pattern:
^[0-9]{12}$
- application_identifier string - optional
Application identifier (AID) of the selected card application.
- Length: 10-32 characters
- Pattern:
^[0-9A-F]{10,32}$
- application_name string - optional
Name of the selected card application.
- Length: 1-16 characters
- Pattern:
^[\x20-\x7E]{1,16}$
- authorization_code string - optional
Authorization code for the transaction, if received from the acquirer.
- Length: 6 characters
- Pattern:
^[0-9A-Z]{6}$
- authorization_response_code string - optional
Response code from the acquirer. This is not the same as the
result_codeof the transaction. This is a code that is used by the acquirer to indicate the result of the authorization. Generally00means success.- Length: 2 characters
- Pattern:
^[0-9A-Z]{2}$
- card_entry_mode string - optional
Card entry mode is the way the card was read by the terminal. This does not directly tell the form factor of the card, as contactless entry mode is used for anything that is read wirelessly, including mobile phones and smartwatches.
Value Description CONTACT_EMVCard was inserted into the terminal and the chip was read CONTACTLESS_EMVCard or phone was tapped on the terminal and the chip was read wirelessly MAGNETIC_STRIPECard was swiped on the terminal and the magnetic stripe was read MANUALCard number was typed in manually on the terminal - card_number_customer string - optional
Card primary account number that can be shown to the customer. Generally only the last 4 digits are shown, rest are masked.
- Length: 13-19 characters
- Pattern:
^[0-9*]{13,19}$
- card_number_merchant string - optional
Card primary account number that can be shown to the merchant. Generally first 6 and last 4 digits are shown, rest are masked.
- Length: 13-19 characters
- Pattern:
^[0-9*]{13,19}$
- card_scheme string - optional
Card scheme is the payment network the card is provided by. This is not necessarily the card brand which is printed on top of the card. Scheme will never be
UNKNOWNfor a successful transaction.AMEXBANKAXEPTDANKORTDINERS_CLUBGIROCARDJCBMASTERCARDUNIONPAYVISAUNKNOWN - card_sequence_number string - optional
Sequence number for multiple cards with the same card number. Required to be printed on receipts.
- Length: 2 characters
- Pattern:
^[0-9]{2}$
- cardholder_verification string - optional
Cardholder verification method (CVM) is the way the cardholder was verified to be the owner of the card.
Value Description NONECardholder has not been verified SIGNATURECardholder has given their signature PINCardholder typed in a PIN code PIN_AND_SIGNATUREBoth `SIGNATURE` and `PIN` were used CONSUMER_DEVICECardholder used a consumer device, such as a phone, for verification
- receipt_details_customer string - optional
Customer receipt details, see Receipt. This is the information that must be printed on the customer receipt.
- Length: 1-1023 characters
- Pattern:
^([\x20-\x7E]{0,32}\n){1,31}$
- receipt_details_merchant string - optional
Merchant receipt details, see Receipt. This is the information that must be printed on the merchant receipt.
- Length: 1-1023 characters
- Pattern:
^([\x20-\x7E]{0,32}\n){1,31}$
- reference string - optional
Unique reference number for the transaction. This is a number that should be printed on the receipt. It can be typed into the terminal to reference the purchase for a refund. All “-” characters are just for visual separation and will not be required on input.
- Length: 1-63 characters
- Pattern:
^[0-9-]{1,63}$
- requested_amount integer - optional
Amount that was requested for the transaction, see Requested amount.
- Range: 0-999999999999
- result_code string - optional
Result of the transaction, see Results and errors.
- Length: 1-255 characters
- Pattern:
^[0-9A-Z_]{1,255}$
- result_description string - optional
English language transaction result description for logs and administrative interfaces. It should not be shown to customer and might be too technical to be useful for a cashier.
- Length: 1-255 characters
- Pattern:
^[\x20-\x7E]{1,255}$
- state string - optional
State of the transaction, see Transaction flow.
Value Description AWAITING_CONFIRMNeeds client to send 'confirm' message to continue processing AWAITING_CONTINUENeeds client to send 'continue' message to continue processing PROCESSINGTransaction is being processed CONFIRMEDTransaction has been confirmed as successful or failed COMMITTEDTransaction result has been committed and cannot be changed - surcharge_amount integer - optional
Amount of surcharge that was added to the transaction, see Surcharge amount.
- Range: 0-999999999999
- terminal_id string - optional
Identifier of the terminal that processed the transaction, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- tip_amount integer - optional
Amount of tip that was added to the transaction, see Tip amount.
- Range: 0-999999999999
- total_amount integer - optional
Current total amount for transaction, see Total amount
- Range: 0-999999999999
- type string - optional
Transaction type.
Value Description ACCOUNT_CHECKAccount check transaction to check if card is valid PURCHASEPurchase transaction to charge customer for goods REFUNDRefund transaction to return money to customer UNKNOWNTransaction type not known, or not representable in this enumeration - updated_at string - optional
Time when the transaction was last updated.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
When
typeiseu.npay.api.pos.v0.TerminalStatus- id string - required
Unique identifier for the event.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- source string - required
Source of the event, the base URL of the API.
- Format: uri-reference
https://api.npay.eu/pos/ - specversion string - required
CloudEvents specification version.
1.0 - datacontenttype string - optional
Content type of the data. Will not be sent if it is
application/json.- Min length: 1 characters
- dataschema string - optional
Schema of the data. Will not be sent by the API.
- Format: uri-reference
- Min length: 1 characters
- subject string - optional
For which entity the event was recorded. Typically the terminal id but can also be the id of a pre-aggregated stream. See Subject.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- time string - optional
Timestamp of when the event occurred.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- type string - required
eu.npay.api.pos.v0.TerminalStatus - data object - required
- connected boolean - optional
Whether the terminal is connected to the server.
- terminal_id string - optional
The terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- transaction_state string - optional
The current state of the terminal regarding transactions.
Value Description AWAITING_CONTINUETerminal is waiting for client to send ‘continue’ message BUSYTerminal is not ready to process transactions PROCESSINGTerminal is processing a transaction READYTerminal is ready to process a new transaction AWAITING_CONTINUEBUSYPROCESSINGREADY - updated_at string - optional
When any of the fields last changed.
- Format: date-time
- Length: 24 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$
- battery_charging boolean - optional
Whether the terminal is currently charging the battery. Only available for terminals that support this feature.
- battery_percentage number - optional
How much charge is remaining on the terminal’s battery. Only available for terminals that support this feature.
- Range: 0-100
- plugged_in boolean - optional
Whether the terminals is currently plugged into a power source. Only available for terminals that support this feature.
- screen_message string - optional
Human readable description of what is currently shown on the terminal screen. The messages may change both in content and language at any time, and as such they MUST NOT be parsed programmatically, e.g. to detect transaction state as any such logic would be fragile.
- Length: 1-255 characters
- next_token string - optional
Token for the next page of results. Token will expire after 5 minutes.
- Length: 1-1023 characters
- Pattern:
^[\x20-\x7E]{1,1023}$
- 400 Bad Request
- error object - required
- code string - optional
Error code, see Results and errors.
- Length: 1-63 characters
- description string - optional
Human readable description of error, see Results and errors.
- Length: 1-255 characters
- 500 Internal Server Error
- error object - required
- code string - optional
Error code, see Results and errors.
- Length: 1-63 characters
- description string - optional
Human readable description of error, see Results and errors.
- Length: 1-255 characters
{
"events": [
{
"data": {
"authorized_amount": 1000,
"captured_amount": 1000,
"cashback_amount": 1000,
"confirmed_at": "2024-11-07T05:25:55.123Z",
"created_at": "2024-11-07T05:25:55.123Z",
"currency": "EUR",
"customer_identity": {
"computop": {
"card_token": "1234567890123456"
},
"par": {
"par_value": "5001ABCDEFGHIJKLMNOPQRSTUVWXY"
}
},
"customer_not_present": true,
"dcc": {
"customer_amount": 1000,
"customer_currency": "EUR",
"exchange_rate": 42,
"exchange_rate_date": "2024-11-07",
"exchange_rate_provider": "ECB",
"markup_fee": 500,
"provider": "Nets"
},
"external_id": "123",
"id": "txn-12345678-01JPHYGPRMH9QRFS3M69SJW9SH",
"metadata": {
"key1": "value1",
"key2": "value2"
},
"original_purchase_external_id": "123",
"original_purchase_id": "txn-12345678-01JPHYGPRMH9QRFS3M69SJW9SH",
"original_purchase_terminal_id": "t-12345678",
"payment_method_details": {
"acquirer_reference": "241128113112",
"acquirer_terminal_id": "A1234567",
"acquirer_timestamp": "241128113123",
"application_identifier": "string",
"application_name": "string",
"authorization_code": "123ABC",
"authorization_response_code": "00",
"card_entry_mode": "string",
"card_number_customer": "************2454",
"card_number_merchant": "400770******2454",
"card_scheme": "string",
"card_sequence_number": "01",
"cardholder_verification": "string",
"payment_method": "string"
},
"receipt_details_customer": "CARD:************0010\nAPP: CREDITO DE VISA\nAID: A0000000031010\nMODE:ICC/PIN SEQ: 01\nAUTH:A1B2C3 RC: 00\nTIME:250629115005\nR:250629197805-87251720\n",
"receipt_details_merchant": "CARD:************0010\nAPP: CREDITO DE VISA\nAID: A0000000031010\nMODE:ICC/PIN SEQ: 01\nAUTH:A1B2C3 RC: 00\nTIME:250629115005\nR:250629197805-87251720\n",
"reference": "250404123456-01234567",
"requested_amount": 1000,
"result_code": "SUCCESS",
"result_description": "The amount given was negative.",
"state": "CONFIRMED",
"surcharge_amount": 1000,
"terminal_id": "t-12345678",
"tip_amount": 1000,
"total_amount": 1000,
"type": "string",
"updated_at": "2024-11-07T05:25:55.123Z"
},
"datacontenttype": "application/json",
"dataschema": "https://example.com/schema",
"id": "evt-01JPHYGPRMH9QRFS3M69SJW9SH",
"source": "string",
"specversion": "string",
"subject": "t-12345678",
"time": "2024-11-07T05:25:55.123Z",
"type": "string"
}
],
"next_token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
}
