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
- created_at string - required
Time when the transaction was created.
- Format: date-time
- Length: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
- external_id string - required
Client provided identifier for the transaction, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- id string - required
Internal identifier for the transaction, see Id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- state string - required
State of the transaction, see Transaction flow.
Value Description AWAITING_CONFIRM
Needs client to send 'confirm' message to continue processing AWAITING_CONTINUE
Needs client to send 'continue' message to continue processing PROCESSING
Transaction is being processed CONFIRMED
Transaction has been confirmed as successful or failed COMMITTED
Transaction result has been committed and cannot be changed - terminal_id string - required
Identifier of the terminal that processed the transaction, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- type string - required
Transaction type.
Value Description ACCOUNT_CHECK
Account check transaction to check if card is valid PURCHASE
Purchase transaction to charge customer for goods REFUND
Refund transaction to return money to customer UNKNOWN
Transaction type not known, or not representable in this enumeration - updated_at string - required
Time when the transaction was last updated.
- Format: date-time
- Length: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
- 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: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}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.
- 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
currency
field.- 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
10000
is 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
100
means 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}$
- 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 whentype
isREFUND
.- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- original_purchase_id string - optional
Original purchase transaction’s
id
, see Id. Only relevant whentype
isREFUND
.- 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 whentype
isREFUND
.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- payment_method_details - optional
Payment method specific information
One of the objects below will be in the payload
When
payment_method
isCARD
- 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_code
of the transaction. This is a code that is used by the acquirer to indicate the result of the authorization. Generally00
means 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_EMV
Card was inserted into the terminal and the chip was read CONTACTLESS_EMV
Card or phone was tapped on the terminal and the chip was read wirelessly MAGNETIC_STRIPE
Card was swiped on the terminal and the magnetic stripe was read MANUAL
Card 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
UNKNOWN
for a successful transaction.AMEX
BANKAXEPT
DANKORT
DINERS_CLUB
GIROCARD
JCB
MASTERCARD
UNIONPAY
VISA
UNKNOWN
- 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 NONE
Cardholder has not been verified SIGNATURE
Cardholder has given their signature PIN
Cardholder typed in a PIN code PIN_AND_SIGNATURE
Both `SIGNATURE` and `PIN` were used CONSUMER_DEVICE
Cardholder 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}$
- refundable_amount integer - optional
The total sum of refunds that can still be accepted for this transaction, see Refundable amount.
- Range: 0-999999999999
- 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}$
- surcharge_amount integer - optional
Amount of surcharge that was added to the transaction, see Surcharge amount.
- Range: 0-999999999999
- 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
{
"authorized_amount": 1000,
"captured_amount": 1000,
"cashback_amount": 1000,
"confirmed_at": "2024-11-07T05:25:55Z",
"created_at": "2024-11-07T05:25:55Z",
"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",
"refundable_amount": 1000,
"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:55Z"
}
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_identity
is 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/continue
to resume the transaction processing.
- wait_seconds number - optional
How many seconds the server should wait for transaction
state
to change before responding, see Long polling. Will respond immediately if set to0
or if transactionstate
is notPROCESSING
.- Range: 0-180
{
"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.
- created_at string - required
Time when the transaction was created.
- Format: date-time
- Length: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
- external_id string - required
Client provided identifier for the transaction, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- id string - required
Internal identifier for the transaction, see Id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- state string - required
State of the transaction, see Transaction flow.
Value Description AWAITING_CONFIRM
Needs client to send 'confirm' message to continue processing AWAITING_CONTINUE
Needs client to send 'continue' message to continue processing PROCESSING
Transaction is being processed CONFIRMED
Transaction has been confirmed as successful or failed COMMITTED
Transaction result has been committed and cannot be changed - terminal_id string - required
Identifier of the terminal that processed the transaction, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- type string - required
Transaction type.
Value Description ACCOUNT_CHECK
Account check transaction to check if card is valid PURCHASE
Purchase transaction to charge customer for goods REFUND
Refund transaction to return money to customer UNKNOWN
Transaction type not known, or not representable in this enumeration - updated_at string - required
Time when the transaction was last updated.
- Format: date-time
- Length: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
- 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: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}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.
- 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
currency
field.- 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
10000
is 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
100
means 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}$
- 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 whentype
isREFUND
.- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- original_purchase_id string - optional
Original purchase transaction’s
id
, see Id. Only relevant whentype
isREFUND
.- 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 whentype
isREFUND
.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- payment_method_details - optional
Payment method specific information
One of the objects below will be in the payload
When
payment_method
isCARD
- 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_code
of the transaction. This is a code that is used by the acquirer to indicate the result of the authorization. Generally00
means 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_EMV
Card was inserted into the terminal and the chip was read CONTACTLESS_EMV
Card or phone was tapped on the terminal and the chip was read wirelessly MAGNETIC_STRIPE
Card was swiped on the terminal and the magnetic stripe was read MANUAL
Card 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
UNKNOWN
for a successful transaction.AMEX
BANKAXEPT
DANKORT
DINERS_CLUB
GIROCARD
JCB
MASTERCARD
UNIONPAY
VISA
UNKNOWN
- 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 NONE
Cardholder has not been verified SIGNATURE
Cardholder has given their signature PIN
Cardholder typed in a PIN code PIN_AND_SIGNATURE
Both `SIGNATURE` and `PIN` were used CONSUMER_DEVICE
Cardholder 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}$
- refundable_amount integer - optional
The total sum of refunds that can still be accepted for this transaction, see Refundable amount.
- Range: 0-999999999999
- 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}$
- surcharge_amount integer - optional
Amount of surcharge that was added to the transaction, see Surcharge amount.
- Range: 0-999999999999
- 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
- 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:55Z",
"created_at": "2024-11-07T05:25:55Z",
"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",
"refundable_amount": 1000,
"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:55Z"
}
}
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.
- 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_identity
is 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/continue
to resume the transaction processing.
- wait_seconds number - optional
How many seconds the server should wait for transaction
state
to change before responding, see Long polling. Will respond immediately if set to0
or if transactionstate
is notPROCESSING
.- Range: 0-180
- 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.
- created_at string - required
Time when the transaction was created.
- Format: date-time
- Length: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
- external_id string - required
Client provided identifier for the transaction, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- id string - required
Internal identifier for the transaction, see Id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- state string - required
State of the transaction, see Transaction flow.
Value Description AWAITING_CONFIRM
Needs client to send 'confirm' message to continue processing AWAITING_CONTINUE
Needs client to send 'continue' message to continue processing PROCESSING
Transaction is being processed CONFIRMED
Transaction has been confirmed as successful or failed COMMITTED
Transaction result has been committed and cannot be changed - terminal_id string - required
Identifier of the terminal that processed the transaction, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- type string - required
Transaction type.
Value Description ACCOUNT_CHECK
Account check transaction to check if card is valid PURCHASE
Purchase transaction to charge customer for goods REFUND
Refund transaction to return money to customer UNKNOWN
Transaction type not known, or not representable in this enumeration - updated_at string - required
Time when the transaction was last updated.
- Format: date-time
- Length: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
- 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: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}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.
- 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
currency
field.- 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
10000
is 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
100
means 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}$
- 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 whentype
isREFUND
.- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- original_purchase_id string - optional
Original purchase transaction’s
id
, see Id. Only relevant whentype
isREFUND
.- 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 whentype
isREFUND
.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- payment_method_details - optional
Payment method specific information
One of the objects below will be in the payload
When
payment_method
isCARD
- 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_code
of the transaction. This is a code that is used by the acquirer to indicate the result of the authorization. Generally00
means 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_EMV
Card was inserted into the terminal and the chip was read CONTACTLESS_EMV
Card or phone was tapped on the terminal and the chip was read wirelessly MAGNETIC_STRIPE
Card was swiped on the terminal and the magnetic stripe was read MANUAL
Card 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
UNKNOWN
for a successful transaction.AMEX
BANKAXEPT
DANKORT
DINERS_CLUB
GIROCARD
JCB
MASTERCARD
UNIONPAY
VISA
UNKNOWN
- 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 NONE
Cardholder has not been verified SIGNATURE
Cardholder has given their signature PIN
Cardholder typed in a PIN code PIN_AND_SIGNATURE
Both `SIGNATURE` and `PIN` were used CONSUMER_DEVICE
Cardholder 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}$
- refundable_amount integer - optional
The total sum of refunds that can still be accepted for this transaction, see Refundable amount.
- Range: 0-999999999999
- 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}$
- surcharge_amount integer - optional
Amount of surcharge that was added to the transaction, see Surcharge amount.
- Range: 0-999999999999
- 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
- 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:55Z",
"created_at": "2024-11-07T05:25:55Z",
"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",
"refundable_amount": 1000,
"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:55Z"
}
}
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, 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_code
is 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.
- created_at string - required
Time when the transaction was created.
- Format: date-time
- Length: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
- external_id string - required
Client provided identifier for the transaction, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- id string - required
Internal identifier for the transaction, see Id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- state string - required
State of the transaction, see Transaction flow.
Value Description AWAITING_CONFIRM
Needs client to send 'confirm' message to continue processing AWAITING_CONTINUE
Needs client to send 'continue' message to continue processing PROCESSING
Transaction is being processed CONFIRMED
Transaction has been confirmed as successful or failed COMMITTED
Transaction result has been committed and cannot be changed - terminal_id string - required
Identifier of the terminal that processed the transaction, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- type string - required
Transaction type.
Value Description ACCOUNT_CHECK
Account check transaction to check if card is valid PURCHASE
Purchase transaction to charge customer for goods REFUND
Refund transaction to return money to customer UNKNOWN
Transaction type not known, or not representable in this enumeration - updated_at string - required
Time when the transaction was last updated.
- Format: date-time
- Length: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
- 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: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}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.
- 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
currency
field.- 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
10000
is 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
100
means 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}$
- 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 whentype
isREFUND
.- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- original_purchase_id string - optional
Original purchase transaction’s
id
, see Id. Only relevant whentype
isREFUND
.- 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 whentype
isREFUND
.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- payment_method_details - optional
Payment method specific information
One of the objects below will be in the payload
When
payment_method
isCARD
- 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_code
of the transaction. This is a code that is used by the acquirer to indicate the result of the authorization. Generally00
means 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_EMV
Card was inserted into the terminal and the chip was read CONTACTLESS_EMV
Card or phone was tapped on the terminal and the chip was read wirelessly MAGNETIC_STRIPE
Card was swiped on the terminal and the magnetic stripe was read MANUAL
Card 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
UNKNOWN
for a successful transaction.AMEX
BANKAXEPT
DANKORT
DINERS_CLUB
GIROCARD
JCB
MASTERCARD
UNIONPAY
VISA
UNKNOWN
- 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 NONE
Cardholder has not been verified SIGNATURE
Cardholder has given their signature PIN
Cardholder typed in a PIN code PIN_AND_SIGNATURE
Both `SIGNATURE` and `PIN` were used CONSUMER_DEVICE
Cardholder 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}$
- refundable_amount integer - optional
The total sum of refunds that can still be accepted for this transaction, see Refundable amount.
- Range: 0-999999999999
- 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}$
- surcharge_amount integer - optional
Amount of surcharge that was added to the transaction, see Surcharge amount.
- Range: 0-999999999999
- 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
- 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:55Z",
"created_at": "2024-11-07T05:25:55Z",
"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",
"refundable_amount": 1000,
"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:55Z"
}
}
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.
- wait_seconds number - optional
How many seconds the server should wait for transaction
state
to change before responding, see Long polling. Will respond immediately if set to0
or if transactionstate
is notPROCESSING
.- Range: 0-180
{
"external_id": "123",
"options": {
"wait_seconds": 60
},
"terminal_id": "t-12345678"
}
Responses
- 200 Request processing succeeded
- transaction object - required
Current state of the transaction.
- created_at string - required
Time when the transaction was created.
- Format: date-time
- Length: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
- external_id string - required
Client provided identifier for the transaction, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- id string - required
Internal identifier for the transaction, see Id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- state string - required
State of the transaction, see Transaction flow.
Value Description AWAITING_CONFIRM
Needs client to send 'confirm' message to continue processing AWAITING_CONTINUE
Needs client to send 'continue' message to continue processing PROCESSING
Transaction is being processed CONFIRMED
Transaction has been confirmed as successful or failed COMMITTED
Transaction result has been committed and cannot be changed - terminal_id string - required
Identifier of the terminal that processed the transaction, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- type string - required
Transaction type.
Value Description ACCOUNT_CHECK
Account check transaction to check if card is valid PURCHASE
Purchase transaction to charge customer for goods REFUND
Refund transaction to return money to customer UNKNOWN
Transaction type not known, or not representable in this enumeration - updated_at string - required
Time when the transaction was last updated.
- Format: date-time
- Length: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
- 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: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}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.
- 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
currency
field.- 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
10000
is 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
100
means 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}$
- 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 whentype
isREFUND
.- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- original_purchase_id string - optional
Original purchase transaction’s
id
, see Id. Only relevant whentype
isREFUND
.- 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 whentype
isREFUND
.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- payment_method_details - optional
Payment method specific information
One of the objects below will be in the payload
When
payment_method
isCARD
- 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_code
of the transaction. This is a code that is used by the acquirer to indicate the result of the authorization. Generally00
means 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_EMV
Card was inserted into the terminal and the chip was read CONTACTLESS_EMV
Card or phone was tapped on the terminal and the chip was read wirelessly MAGNETIC_STRIPE
Card was swiped on the terminal and the magnetic stripe was read MANUAL
Card 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
UNKNOWN
for a successful transaction.AMEX
BANKAXEPT
DANKORT
DINERS_CLUB
GIROCARD
JCB
MASTERCARD
UNIONPAY
VISA
UNKNOWN
- 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 NONE
Cardholder has not been verified SIGNATURE
Cardholder has given their signature PIN
Cardholder typed in a PIN code PIN_AND_SIGNATURE
Both `SIGNATURE` and `PIN` were used CONSUMER_DEVICE
Cardholder 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}$
- refundable_amount integer - optional
The total sum of refunds that can still be accepted for this transaction, see Refundable amount.
- Range: 0-999999999999
- 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}$
- surcharge_amount integer - optional
Amount of surcharge that was added to the transaction, see Surcharge amount.
- Range: 0-999999999999
- 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
- 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:55Z",
"created_at": "2024-11-07T05:25:55Z",
"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",
"refundable_amount": 1000,
"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:55Z"
}
}
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
state
to change before responding, see Long polling. Will respond immediately if set to0
or if transactionstate
is notPROCESSING
.- Range: 0-180
- 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.
- created_at string - required
Time when the transaction was created.
- Format: date-time
- Length: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
- external_id string - required
Client provided identifier for the transaction, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- id string - required
Internal identifier for the transaction, see Id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- state string - required
State of the transaction, see Transaction flow.
Value Description AWAITING_CONFIRM
Needs client to send 'confirm' message to continue processing AWAITING_CONTINUE
Needs client to send 'continue' message to continue processing PROCESSING
Transaction is being processed CONFIRMED
Transaction has been confirmed as successful or failed COMMITTED
Transaction result has been committed and cannot be changed - terminal_id string - required
Identifier of the terminal that processed the transaction, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- type string - required
Transaction type.
Value Description ACCOUNT_CHECK
Account check transaction to check if card is valid PURCHASE
Purchase transaction to charge customer for goods REFUND
Refund transaction to return money to customer UNKNOWN
Transaction type not known, or not representable in this enumeration - updated_at string - required
Time when the transaction was last updated.
- Format: date-time
- Length: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
- 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: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}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.
- 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
currency
field.- 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
10000
is 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
100
means 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}$
- 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 whentype
isREFUND
.- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- original_purchase_id string - optional
Original purchase transaction’s
id
, see Id. Only relevant whentype
isREFUND
.- 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 whentype
isREFUND
.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- payment_method_details - optional
Payment method specific information
One of the objects below will be in the payload
When
payment_method
isCARD
- 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_code
of the transaction. This is a code that is used by the acquirer to indicate the result of the authorization. Generally00
means 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_EMV
Card was inserted into the terminal and the chip was read CONTACTLESS_EMV
Card or phone was tapped on the terminal and the chip was read wirelessly MAGNETIC_STRIPE
Card was swiped on the terminal and the magnetic stripe was read MANUAL
Card 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
UNKNOWN
for a successful transaction.AMEX
BANKAXEPT
DANKORT
DINERS_CLUB
GIROCARD
JCB
MASTERCARD
UNIONPAY
VISA
UNKNOWN
- 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 NONE
Cardholder has not been verified SIGNATURE
Cardholder has given their signature PIN
Cardholder typed in a PIN code PIN_AND_SIGNATURE
Both `SIGNATURE` and `PIN` were used CONSUMER_DEVICE
Cardholder 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}$
- refundable_amount integer - optional
The total sum of refunds that can still be accepted for this transaction, see Refundable amount.
- Range: 0-999999999999
- 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}$
- surcharge_amount integer - optional
Amount of surcharge that was added to the transaction, see Surcharge amount.
- Range: 0-999999999999
- 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
- 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:55Z",
"created_at": "2024-11-07T05:25:55Z",
"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",
"refundable_amount": 1000,
"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:55Z"
}
}
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.
- created_at string - required
Time when the transaction was created.
- Format: date-time
- Length: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
- external_id string - required
Client provided identifier for the transaction, see External id.
- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- id string - required
Internal identifier for the transaction, see Id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- state string - required
State of the transaction, see Transaction flow.
Value Description AWAITING_CONFIRM
Needs client to send 'confirm' message to continue processing AWAITING_CONTINUE
Needs client to send 'continue' message to continue processing PROCESSING
Transaction is being processed CONFIRMED
Transaction has been confirmed as successful or failed COMMITTED
Transaction result has been committed and cannot be changed - terminal_id string - required
Identifier of the terminal that processed the transaction, see Terminal id.
- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- type string - required
Transaction type.
Value Description ACCOUNT_CHECK
Account check transaction to check if card is valid PURCHASE
Purchase transaction to charge customer for goods REFUND
Refund transaction to return money to customer UNKNOWN
Transaction type not known, or not representable in this enumeration - updated_at string - required
Time when the transaction was last updated.
- Format: date-time
- Length: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z$
- 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: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}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.
- 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
currency
field.- 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
10000
is 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
100
means 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}$
- 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 whentype
isREFUND
.- Length: 1-63 characters
- Pattern:
^[\x21-\x7E]{1,63}$
- original_purchase_id string - optional
Original purchase transaction’s
id
, see Id. Only relevant whentype
isREFUND
.- 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 whentype
isREFUND
.- Length: 1-63 characters
- Pattern:
^[0-9a-zA-Z-]{1,63}$
- payment_method_details - optional
Payment method specific information
One of the objects below will be in the payload
When
payment_method
isCARD
- 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_code
of the transaction. This is a code that is used by the acquirer to indicate the result of the authorization. Generally00
means 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_EMV
Card was inserted into the terminal and the chip was read CONTACTLESS_EMV
Card or phone was tapped on the terminal and the chip was read wirelessly MAGNETIC_STRIPE
Card was swiped on the terminal and the magnetic stripe was read MANUAL
Card 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
UNKNOWN
for a successful transaction.AMEX
BANKAXEPT
DANKORT
DINERS_CLUB
GIROCARD
JCB
MASTERCARD
UNIONPAY
VISA
UNKNOWN
- 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 NONE
Cardholder has not been verified SIGNATURE
Cardholder has given their signature PIN
Cardholder typed in a PIN code PIN_AND_SIGNATURE
Both `SIGNATURE` and `PIN` were used CONSUMER_DEVICE
Cardholder 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}$
- refundable_amount integer - optional
The total sum of refunds that can still be accepted for this transaction, see Refundable amount.
- Range: 0-999999999999
- 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}$
- surcharge_amount integer - optional
Amount of surcharge that was added to the transaction, see Surcharge amount.
- Range: 0-999999999999
- 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
- 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:55Z",
"created_at": "2024-11-07T05:25:55Z",
"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",
"refundable_amount": 1000,
"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:55Z"
}
]
}
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_CONTINUE
Terminal is waiting for client to send ‘continue’ message BUSY
Terminal is not ready to process transactions PROCESSING
Terminal is processing a transaction READY
Terminal is ready to process a new transaction AWAITING_CONTINUE
BUSY
PROCESSING
READY
- updated_at string - optional
When any of the fields last changed.
- Format: date-time
- Length: 20 characters
- Pattern:
^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}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:55Z"
}
}
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
continue
set totrue
on all but last fragment.
{
"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
true
for 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
}