Getting Started
Transactions
Information
Luxon uses conventional HTTP response codes to indicate the success or failure of an API request.
HTTP RESPONSE CODES
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
}
}
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 |
feature.unsupported.by.country | 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 |
invalid.send.to.own.wallet | You cannot send tokens to your own wallet |
invalid.user.status | Invalid user status |
invalid.transfer.status | Invalid transfer status |
merchant.event.payment.unsupported.by.country | 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 |
merchant.transaction.id.exist | 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 |
merchant.unsupported.report.format | Unsupported report format |
payment.method.not.found | Payment method not found |
quick.express.checkout.card | 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 |