Table of Contents | ||||
---|---|---|---|---|
|
Error Overview
Flexiti uses conventional HTTP response codes to indicate the success or failure of an API request. In general:
...
Some 4xx
errors that could be handled programmatically include an error code that briefly explains the error reported.
HTTP Status Code Summary
HTTP Status Code |
Type | Status | |
200 | Success | Everything worked as expected. |
401 | Unauthorized | An error with the Merchant authentication. Wrong or expired access token. |
403 | Forbidden | Request is forbidden for the level of access granted. |
404 | Not Found | The requested resource doesn't exist. |
409 | Bad Request | The request was unacceptable, often due to missing a required parameter or wrong format. |
465 | Blocked | Blocked a request that contained a malicious payload. |
466 | Blocked | Blocked a request due to an ACL rule. |
467 | Blocked | Blocked a request because it was Geo-blocked. |
500 | Server Errors | Something went wrong on the Flexiti side. (These are rare.) |
*465/466/467 Status codes can be treated the same way as 403.
General Debugging Notes
If at anytime you receive an error for “general_error”, please email implementation@flexiti.com, as the issue is likely related to your account set-up.
General Input Errors
Input errors will tend to follow this model:
...
"value":"parameter_value",
"type":"validation_type",
Example Response
Code Block |
---|
{ "url": "/flexiti/pos-api/v2.5/client-id/flexitidemo/customers/828930/verify", "message": "Some inputs are wrong!", "error": "wrong_input", "field_errors": [ { "param": "email", "msg": "invalid", "value": "johndoe@" } ] } |
...
...
Merchant Integration Endpoint Errors
POST /oauth/token
Code | Error | Scenario |
400 | invalid_client | Wrong or missing client id or client_secret |
400 | invalid_request | Invalid or missing grant_type parameter |
409 | invalid |
Wrong or expired access token
...
_role | The Developer Portal account being used is not provisioned for the API being accessed. Please contact Flexiti Implementation Support. | |
409 | wrong_inputs | Invalid parameter |
GET /client-id/{
...
clientId}/i18n
Code | Error | Scenario |
409 | general_error | A generic error covering back-end process issues |
409 | invalid_role | The Developer Portal account being used is not provisioned for the API being accessed. Please contact Flexiti Implementation Support. |
409 | wrong_inputs | Invalid parameter |
POST /client-id/{clientId}/widget/init
Code | Error | Scenario |
409 | invalid_role | The Developer Portal account being used is not provisioned for the API being accessed. Please contact Flexiti Implementation Support. |
409 |
authentication_failure
general_error | A generic error covering back-end process issues | |
409 | wrong_inputs | Invalid parameter |
...
Credit Application Endpoint Errors
POST /client-id/{client_id}/apply
Code | Error | Scenario |
400 | general_error | A generic error covering back-end process issues |
409 | invalid_role | The Developer Portal account being used is not provisioned for the API being accessed. Please contact Flexiti Implementation Support. |
409 | application_create_error | There was an error creating the Credit Application due to a 3rd party timeout |
409 | tos_agreement_required | Terms and Conditions missing or not agreed |
409 |
customer_ |
Customer application declined
409
application_marked_pending_1, application_marked_pending_2
Customer application pending
409
customer_already_exists
already_exists | Customer applying already has an account | |
409 | not_verified | For the online channel, the /apply payload contains different personal information than the /init payload using the same token, or incorrect widget_session_id |
409 | external_location_id_not_found | The external location ID being passed is not registered with Flexiti |
409 | account_type_not_permitted | The merchant is not able to support applications for this account type. |
409 | wrong_inputs | Invalid parameter |
...
Customer Endpoint Errors
GET /client-id/{client_id}/customers/lookup
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
404 | not_found | Customer Account not found |
409 | invalid_role | The Developer Portal account being used is not provisioned for the API being accessed. Please contact Flexiti Implementation Support. |
409 | user_not_able_to_purchase | Customer account status different to normal (NNOR) |
409 | user_not_active | Customer Account is not activated |
409 | merchant_not_support_nonprime_regularpurchase | Customer is non-prime and the Merchant does not accept non-prime or have the appropriate plans. |
409 | wrong_inputs | Invalid parameter |
GET /client-id/{client_id}/customers/search
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
404 | not_found | Customer Account not found |
409 | invalid_role | The Developer Portal account being used is not provisioned for the API being accessed. Please contact Flexiti Implementation Support. |
409 | wrong_inputs | Invalid parameter |
POST /client-id/{client_id}/account/{account_number}/verify
Code | Error | Scenario |
400 | sms_not_valid_phone | Phone number on file invalid/missing |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
404 | not_found | Customer Account or VCC is not found |
409 | invalid_role | The Developer Portal account being used is not provisioned for the API being accessed. Please contact Flexiti Implementation Support. |
409 | merchant_override_is_not_allowed | Merchant is not configured for Merchant Override |
409 | regular_purchase_bypass_is_not_allowed |
|
409 | piw_mismatch | Personal Identification word entered does not match what is on file for the customer |
409 | secret_answer_mismatch | Security question answer does not match what is on file for the customer |
409 | wrong_inputs | Invalid parameter |
409 | tries_exceed | The wrong security answer has been attempted on this account more than three times in the last 48 hours. |
POST /client-id/{client_id}/accounts/{account_number}/close
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
404 | not_found | Customer Account not found |
409 | invalid_role | The Developer Portal account being used is not provisioned for the API being accessed. Please contact Flexiti Implementation Support. |
POST /pos-api/client-id/{client_id}/accounts/{account_number}/calculate-interest
Code | Error | Scenario |
404 | not_found | Customer Account not found |
409 |
invalid_role | The Developer Portal account being used is not provisioned for the API being accessed. Please contact Flexiti Implementation Support. | |
409 | general_error | A generic error covering |
back-end process issues | ||
409 | wrong_inputs | Invalid parameter |
...
Transaction Endpoint Errors
POST /client-id/{client_id}/transactions
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
404 | not_found | Customer Account, VCC, or transaction |
not found |
409 |
invalid_role | The Developer Portal account being used is not provisioned for the API being accessed. Please contact Flexiti Implementation Support. | |
409 | general_error | A generic error covering |
back-end process issues | ||
409 | invalid_transaction_type | wrong value for transaction type in the request |
409 | wrong_verification_code | Verification code entered is incorrect |
409 | verification_code_required | Verification code is a required parameter. |
409 | user_not_active | Customer Account is not activated |
409 | user_not_able_to_purchase | Customer account status different to normal (NNOR) |
409 | limit_payment_amount_24 | Payments made on the account exceed the $10,000/day limit |
409 | not_enough_credit | Customer does not have enough open to buy for transaction amount |
409 | not_verified | For in-store channel the request_id does not match the one passed in the /verify endpoint |
409 | external_location_id_not_found | The external location ID being passed is not registered with Flexiti |
409 | account_type_not_permitted | The merchant is not able to support this account type (open/closed loop scenarios) |
409 | vcc_account_mismatch | The vcc number being passed in the request does not belong to the account number. |
409 | wrong_inputs | Invalid parameter |
POST /client-id/{client-id}/authorization
Code | Error | Scenario |
404 | not_found | Customer Account |
409
or VCC not found | ||
404 | customer_identity_not_found | the customer didn’t pass through the widget or was not authenticated properly |
409 | invalid_role | The Developer Portal account being used is not provisioned for the API being accessed. Please contact Flexiti Implementation Support. |
409 | credit_exceeded | Amount requested plus interest is greater than the available credit of the customer account. |
409 | not_permitted | API credentials do not have sufficient permissions to perform an authorization |
409 | general_error | A generic error covering |
back-end process issues | ||
409 | auth_not_allowed | Merchant has not |
been configured for preauthorization | ||
409 | plan_term_not_set | Merchant has not been configured for the financing option (Plan and Term or Regular Purchase) |
. | |
409 | plan_term_not_available |
|
|
| ||
409 | user_not_able_to_purchase | Customer account status different |
than normal (NNOR) |
409 |
credit_exceeded
Amount requested plus interest is greater than the available credit of the customer account.
409
customer_identity_not_found
the customer didn’t pass through the widget or was not authenticated properly
...
not_verified |
| |
409 | external_location_id_not_found | The external location ID being passed is not registered with Flexiti |
409 | account_type_not_permitted | The merchant is not able to support this account type (open/closed loop scenarios) |
409 | vcc_account_mismatch | The vcc number being passed in the request does not belong to the account number. |
409 | wrong_inputs | Invalid parameter |
GET /client-id/{clientId}/authorizations
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
409 | invalid_role | The Developer Portal account |
being used is not provisioned for the API being accessed. Please contact Flexiti Implementation Support. | ||
409 | general_error | A generic error covering back-end process issues |
409 | date_from_bigger_than_date_to | The From date is later than the To date |
409 | wrong_inputs | Invalid parameter |
GET /client-id/{clientId}/authorization/{authorizationId}
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
400 | not_found | Authorization ID not found |
401
Unauthorized
Wrong or missing Merchant authorization
409 | invalid_role | The Developer Portal account being used is not provisioned for the API being accessed. Please contact Flexiti Implementation Support. |
409 | general_error | A generic error covering back-end process issues |
409 | wrong_inputs | Invalid parameter |
POST /client-id/{clientId}/authorization/{authorizationId}/release
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
404 | not_found |
Authorization ID not found |
409 |
customer_identity_not_found
invalid_role | The Developer Portal account being used is not provisioned for the API being accessed. Please contact Flexiti Implementation Support. | |
409 | generic_error | A generic error covering back-end process issues |
409 | authorization_ended | Credit authorization has “closed” status |
409 | auth_amount_exceeded |
Release amount is greater than the remaining credit authorization amount. |
409 |
not_permitted | The employee doesn’t have enough permissions to perform the release | |
409 | external_location_id_not_ |
found | The external location ID being passed is not registered with Flexiti | |
409 | wrong_inputs | Invalid parameter |
POST /client-id/{clientId}/authorization/{authorizationId}/capture
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
404 | not_found | Authorization ID not found |
409 | invalid_role | The Developer Portal account being used is not provisioned for the API being accessed. Please contact Flexiti Implementation Support. |
409 |
general_ |
error | A generic error covering back-end process issues | |
409 | authorization_ended | Credit authorization has “closed” status |
409 | auth_amount_exceeded | Capture amount is greater than the remaining credit authorization |
409
amount. | ||
409 | not_permitted |
|
409 |
credit_exceeded
Amount requested plus fees is greater than the available credit of the customer account.
409
creditapp_id_not_found
Credit Application ID was not found
external_location_id_not_found | The external location ID being passed is not registered with Flexiti | |
409 | wrong_inputs | Invalid parameter |
POST /client-id/{clientId}/authorization/{authorizationId}/capture/{captureId}/return
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
404 | not_found | Authorization ID, Capture ID, or VCC not found |
409 | invalid_role | The Developer Portal account being used is not provisioned for the API being accessed. Please contact Flexiti Implementation Support. |
409 | general_error | A generic error covering |
back-end process issues |
409 |
capture_ |
amount_ |
wrong value for transaction type in the request
409
not_enough_credit
exceeded | Return amount is greater than the remaining captured amount. | |
409 | return_date_exceeded | Capture creation date is more than 100 days old. |
409 | wrong_transaction_type | The capture is not related to a promotional purchase |
409 | not_permitted | The employee doesn’t have enough permissions to perform the |
return | ||
409 | external_location_id_not_found | The external location ID being passed is not registered with Flexiti |
409 |
account_ |
type_not_ |
Plan and Term for prime category for a non-prime customer.
Plan "DP - SAC Interest Accrues" for a QC customer.
Plan "DP - SAC No Payments + No Interest Accrued" for a ROC customer.
409
plan_term_not_set
Merchant has not configured the financing option (Plan and Term or Regular Purchase) in Lexi.
409
permitted | The merchant is not able to support this account type (open/closed loop scenarios) | |
409 | vcc_account_mismatch | The vcc number being passed in the request does not belong to the account number. |
409 | wrong_inputs | Invalid parameter |
POST /client-id/{client_id}/accounts/{account_number}/refund
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
404 | not_found | Customer Account, VCC, or Capture ID not found |
409 | invalid_role | The Developer Portal account being used is not provisioned for the API being accessed. Please contact Flexiti Implementation Support. |
409 | general_error | A generic error covering back-end process issues |
409 | refunds_limit_exceeded_amount | Refund amount exceeds account balance limit. |
409 |
user_not_able_to_purchase
external_location_id_not_found | The external location ID being passed is not registered with Flexiti | |
409 | account_type_not_permitted | The merchant is not able to support this account type (open/closed loop scenarios) |
409 |
vcc_ |
account_ |
mismatch | The vcc number being passed in the request does not belong to the account number. |
409 |
capture_ |
amount_ |
exceeded |
Return amount is greater than the remaining captured amount. | |
409 | wrong_ |
inputs | Invalid parameter |
GET /client-id/{clientId}/captures
Code | Error | Scenario |
403 | Insufficient scope: authorized scope is insufficient | Scope of the token is not sufficient to access the endpoint |
409 | invalid_role | The Developer Portal account being used is not provisioned for the API being accessed. Please contact Flexiti Implementation Support. |
409 | general_error | A generic error covering back-end process issues |
409 | date_from_bigger_than_date_to | The From date is later than the To date |
409 | wrong_ |
inputs | Invalid parameter |