...
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:
...
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_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
authentication_failure
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 |
...
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_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 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 | 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 |
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 | 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 amount. |
409 | not_permitted |
|
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/{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_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_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 | 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 |
...
Code
Error
Scenario
409 |
wrong_ |
A generic error covering back-end process issues
POST /client-id/{clientId}/widget/init
Code
Error
Scenario
409
generic_error
inputs | Invalid parameter |