Scroll to top

Luxon uses conventional HTTP response codes to indicate the success or failure of an API request.


Code Message
200 – OK Everything worked as expected
400 – Bad Request Request may have a missing parameter or be badly configured
401 – Unauthorized Invalid authentication
402 – Request failed The request was valid but failed
403 – Forbidden The API key doesn’t have permission to perform that request
404 – Not Found The resource does not exist

All responses should contain a status object which represents the result of the call.


"status": {
	"code": "string", // short code of the call result like 'INSUFFICIENT_FUNDS'
	"message": "string" // optional detailed error message

Error codes table

Below is a table that categorizes the various error codes and their respective descriptions. This table is beneficial for understanding specific issues that might arise during transactions, as it clarifies the reason behind each error code.


Error Code Description
abstract.user.not.found AbstractUser not found
auth.bad.credentials Bad credentials
billing.agreement.cancelled Agreement is cancelled
billing.agreement.exists.between.user.and.merchant Confirmed agreement already exists between user and merchant
billing.agreement.expired Agreement is expired
billing.agreement.invalid.token Billing agreement token is invalid
billing.agreement.not.found Billing agreement not found
country.details.not.found Country details not available
currency.not.found Currency not found This feature is not available in your country
general.not.authorized Not authorized for the given operation
invalid.action Invalid action
invalid.argument Invalid argument
invalid.receiver.wallet Invalid receiver wallet You cannot send tokens to your own wallet
invalid.transfer.status Invalid transfer status Live event payments aren’t supported in the user’s country
merchant.insufficient.balance Insufficient merchant balance for the transaction
merchant.not.found Merchant not found
merchant.transaction.declined Transaction declined by merchant
merchant.transaction.expired Sorry, the session has expired and the payment cannot be completed. You will be redirected to the website you came from.
merchant.transaction.expired.auth Sorry, the transfer has expired and the payment cannot be completed. You will be redirected to the website you came from.
merchant.transaction.failed Transaction failed Transaction with such merchant transaction ID already exists
merchant.transaction.invalid Invalid merchant transaction identifier
merchant.transaction.not.found Transaction with such merchant transaction ID does not exist
merchant.transaction.refunded Refund for this transaction has already been made
merchant.two.step.transaction.verification.failed Merchant two step transaction verification failed Unsupported report format
payment.method.not.found Payment method not found Quick express checkout is not allowed for the merchant or the user’s country
risk.level.limit.merchant.amount.exceeded The transfer amount is above the allowed limit
risk.level.limit.merchant.refund.amount.exceeded Refund is not allowed. The refund amount is above the allowed limit for the current wallet
transaction.invalid Invalid transaction
transaction.not.found Transaction not found
unknown.aml.error Unknown AML error
user.not.found User not found
validation.currency.not.supported The currency sent is not a supported one
wallet.not.found Wallet not found