Charge Token
Processes a payment using a previously saved card token. This endpoint is primarily used for recurring payments (MIT or CIT transactions).
This endpoint may be exposed server-to-server for two-factor authentication flows, potentially requiring changes to authentication mechanisms. Recurring payment calls will originate only from the server. Fiscalization and eReceipt processes should also be operated during this flow
Request
Requests are performed to the /charge-token endpoint.
{
"basicInfo": {
"requestType": 0,
"entryMode": 1,
"amount": 25.5,
"currency": "EUR",
"countryCode": "DE",
"tokenModel": 1,
"cvc": null,
"token": "NAYAXTOK12345",
"merchantRequestId": "MERCHANT_MIT_001",
"transactionId": null,
"transactionTimeUtc": null,
"isSaveTokenWithoutConsent": false
},
"machineInfo": {
"machineId": "0434334921100366"
},
"cardHolderInfo": {
"cardholderEmail": "[email protected]",
"cardHolderUniqId": "unique_customer_id_123"
},
"additionalInfo": {
"additionalData": "{\"loyaltyPoints\": 100}",
"additionalReceiptData": "[{\"key\":\"product\", \"value\":\"Premium Service\"}]"
},
"validationKey": "AUTH_VALID_KEY_XYZ"
}Request Parameters
The table below describes the parameters of the request:
| Parameter | Location | Type | Description | Required |
|---|---|---|---|---|
requestType | basicInfo | Int32 | Defines the transaction type (e.g., 0 for Sale/Charge). | Yes |
entryMode | basicInfo | Int32 | Defines how card data was obtained (e.g., 1 for E-commerce/MIT). | Yes |
amount | basicInfo | Decimal | The monetary amount to be charged. | Yes |
currency | basicInfo | String | The three-letter ISO currency code. | Yes |
countryCode | basicInfo | String | Two-letter ISO country code of transaction origin. | Yes |
tokenModel | basicInfo | Int32 | The specific tokenization scheme used. | Yes |
cvc | basicInfo | String | null | CVC/CVV (usually null for tokenized MIT). | Yes |
token | basicInfo | String | The unique token representing the card to be charged. | Yes |
merchantRequestId | basicInfo | String | Unique ID generated by the merchant for this request. | Yes |
isSaveTokenWithoutConsent | basicInfo | Boolean | Flag for new token saving (usually false). | Yes |
machineId | machineInfo | String | Unique identifier for the transaction machine/terminal. | Yes |
cardholderEmail | cardHolderInfo | String | The customer's email address. | Yes |
cardHolderUniqId | cardHolderInfo | String | A unique merchant ID for the cardholder. | Yes |
additionalData | additionalInfo | String | Custom data as a JSON string (e.g., loyalty info). | No |
validationKey | Root | String | Cryptographic key (HMAC) to authenticate the request. | Yes |
Response
A successful validation returns a 200 OK status and a body containing the validated merchant details:
{
"status": {
"verdict": "Approved",
"code": 0,
"statusMessage": "Payment processed successfully."
},
"basicInfo": {
"amount": 25.5,
"currency": "EUR",
"merchantRequestId": "MERCHANT_MIT_001",
"transactionId": "NAYAXTRANS98765",
"transactionTimeUtc": "2025-08-28T10:30:00Z"
},
"paymentInfo": {
"amount": 25.5,
"currency": "EUR",
"nayaxTokenId": "NAYAXTOK12345",
"siteId": 1,
"providerTransactionId": "PSP_TRANS_ABC",
"decimalPlace": 2
}
}Response Parameters
The table below describes the parameters of the response:
| Parameter | Location | Type | Description |
|---|---|---|---|
verdict | status | String | 'Approved' or 'Declined'. The final decision. |
code | status | Int32 | Response code: 0 for Approved, otherwise the relevant decline code. |
statusMessage | status | String | A descriptive message about the transaction outcome. |
amount | basicInfo | Decimal | The transaction amount processed. |
currency | basicInfo | String | The currency of the transaction. |
merchantRequestId | basicInfo | String | The unique ID from the original request. |
transactionId | basicInfo | String | The unique transaction ID assigned by the Nayax system. |
transactionTimeUtc | basicInfo | DateTime | The UTC timestamp when the transaction was completed. |
nayaxTokenId | paymentInfo | String | The token ID used for the charge. |
siteId | paymentInfo | Int32 | The site ID associated with the payment. |
providerTransactionId | paymentInfo | String | The unique ID assigned by the Payment Service Provider (PSP). |
decimalPlace | paymentInfo | Int32 | The number of decimal places used for the currency/amount. |
Updated about 8 hours ago