Vrio API has a set list of validation codes when there is an issue with an API request. When an API call fails validation, an api_validation_code will be returned in the response. Below is a list of possible validation codes, and a description on why you may have received it.
api_validation_code | Validation Description |
---|---|
alert_already_processed | An alert has already been processed on transaction and company setting only allows 1 alert per transaction. |
bank_account_required | Bank account and routing numbers required ( bank_account_number , bank_routing_number ) when using payment method 10. |
billing_required | Billing information is required. When sending any billing address information, all fields must be sent. ( bill_fname, bill_lname, bill_country, bill_address1, bill_city, bill_state, bill_zipcode ) |
campaign_archived | Campaign is archived |
campaign_bin_not_allowed | Card BIN number is not allowed on campaign. The BIN is contained on a BIN profile to block transaction. |
campaign_country_invalid | The campaign is using a shipping profile that restricts the country or the campaign setting does not allow it. |
campaign_inactive | Campaign is inactive. |
campaign_invalid | Campaign is invalid. |
campaign_offer_invalid | Offer is not available on campaign. Check offers on campaign to add. |
campaign_payment_method_invalid | Payment method is not available on campaign. Check merchant or route settings for campaign. |
campaign_prepaid_not_allowed | Prepaid cards are not allowed on campaign. Check prepaid card settings on campaign. |
campaign_required | Campaign ID is required |
cancel_type_invalid | Cancel type passed is invalid. Check possible cancel types under store settings. |
card_type_invalid | Card type passed is not available for campaign. Check merchant or route settings for campaign. |
card_type_merchant_inactive | No Active Merchants available for card type. Check available card types for merchant or route merchants. |
charge_transaction_only | Method only supported for charges. |
chargeback_already_processed | A chargeback for this date has already been processed. |
check_amount_required | Check amount is required when using check as payment method ( check_amount ). |
connection_invalid | Connection is invalid. |
connection_type_unsupported | The customer belongs to a connection type is not supported for this method. |
country_invalid | Country is invalid. |
credit_card_required | All credit card information is required with this payment method when not passing a customer_card_id ( card_type_id, card_number, card_cvv, card_exp_month, card_exp_year ). |
currency_invalid | Currency passed is not available for campaign. Check merchant or route settings for campaign. |
customer_address_invalid | Customer address ID is not valid. It either does not exist, or it does not belong to customer_id. |
customer_balance_too_low | Unable to apply balance. Check the available balance for the customer. |
customer_blacklist | Customer is blacklisted. |
customer_card_invalid | The customer_card_id passed is not valid for customer. |
customer_connection_type_unsupported | The customer belongs to a connection type is not supported for this method. |
customer_email_exists | The email already exists for a customer. |
customer_email_invalid | The email is invalid for customer. |
customer_fraud | The customer has been flagged as fraud. |
customer_invalid | The customer does not exist. |
customer_merchant_group_invalid | No merchant found for customer merchant group and the router is set to decline the charge. |
database_error | There was a database error. |
discount_already_used | The discount code you are attempting to used by customer and its set to one per customer. Check discount settings for discount code. |
discount_expired | The discount code has expired. Check discount settings for discount code. |
discount_inactive | The discount code is inactive. Check discount settings for discount code. |
discount_invalid | The discount code is invalid or it is not available for the offer its being applied to |
discount_usage_limit_reached | The discount code has reached its max limit. Check discount settings for discount code. |
gift_card_balance_insufficient | The amount attempted for gift card exceeds the available balance left on card. |
gift_card_expired | The gift card has expired. |
gift_card_inactive | The gift card is inactive. |
gift_card_invalid | The gift card you are attempting to use is invalid. |
gift_card_total_too_small | The amount attempted for gift card exceeds the available balance left on card. |
gift_message_required | The gift message is required for offer that is being purchased as a gift. |
item_category_invalid | The item category is invalid. |
item_invalid | The item is invalid. It either does not exist, or its not available as a swap option for a shipment. |
item_out_of_stock | The item is out of stock and set to deny when out of stock. Check item settings for item. |
item_required | The item is required. |
items_invalid | The item is invalid or not available for offer. |
merchant_card_type_not_supported | The card type passed is not a valid card type for the merchant. Check the merchant settings for available card types. |
merchant_currency_invalid | The currency passed is not a valid currency for the merchant. Check the merchant settings for available currencies. |
merchant_invalid | The merchant is either invalid, not active, or does not support the action being attempted. |
merchant_payment_method_not_supported | The payment method passed is not a valid payment method for the merchant. Check merchant settings for available payment methods. |
no_merchant_available | There are no merchants available in router for payment. This could be because of cart type, payment type or processing rules ( such as bin blocking, merchant group configuration etc. ). Check merchant and payment router settings. |
offer_connection_invalid | The offer passed does not match the connection on the customer. A customer can only have offers that belong to the same connection. |
offer_discount_not_allowed | The discount code used is not allowed for the offer passed. Check offer settings for offer to configure. |
offer_invalid | The offer is invalid. |
offer_transaction_only | This method is only available for offer cycle transactions. |
offers_invalid | The offer array is not formatted correctly. Check API docs for proper formatting. |
order_3ds_transaction_missing | There is no pending transaction that requires 3DS verification. |
order_already_archived | The order has already been archived. |
order_already_authorized | The order has already been authorized. |
order_already_completed | The order is already completed. |
order_invalid | The order_id passed is either invalid, or not available for the action being attempted. |
order_not_archived | The order is not archived so it cannot be unarchived. |
order_precheck_fail | The order did not pass fraud prescreening checks. Check fraud connection that is associated with campaign. |
order_offer_already_active | The order offer is already active so it cannot be reactivated. |
order_offer_already_archived | The order offer is already archived so it cannot be archived. |
order_offer_already_completed | The order offer is already complete, so it cannot be edited. |
order_offer_already_cancelled | The order offer is already cancelled or its not recurring, so it cannot be cancelled. |
order_offer_cancel_not_supported | The customer belongs to a connection type is not supported for this method. |
order_offer_card_exists | The card has already been used for this offer. Check the offer settings for this offer. This error will return the details of the matching order that was found for the card and offer. |
order_offer_cycle_frequency_change_not_supported | The customer belongs to a connection type is not supported for this method. |
order_offer_exists | The offer has already been purchased for the customer. Check the offer settings for this offer. This error will return the details of the matching order that was found for the customer and offer. |
order_offer_final | Cannot reactivate completed order offer because all cycles were billed on offer cycle. |
order_offer_frequency_already_set | The order offer already has the same frequency. No changes were made. |
order_offer_frequency_change_not_supported | The order offer cannot have its frequency changed. Check the offer settings for this order offer. |
order_offer_invalid | Order Offer invalid. |
order_offer_not_archived | The order offer is not archived, so it cannot be unarchived. |
order_offer_options_invalid | The options passed for the item associated with the order offer is not valid. Check the item options page for the valid IDs. |
order_offer_options_required | Option are required for the item that is associated with the order offer. |
order_offer_parent_invalid | The parent order ID passed for upsell is not a valid order ID for the customer. |
order_offer_parent_offer_invalid | The parent offer ID passed is not a valid offer ID that exists for the customer. |
order_offer_parent_order_offer_invalid | The parent order offer ID is not a valid parent order offer ID for the customer. |
order_offer_parent_required | The upsell offer requires a parent_order_offer_id or a parent_offer_id. |
order_offer_pause_not_supported | The offer is not configured to allow a user to pause. Check offer settings to configure pause settings. |
order_offer_price_too_small | The price passed for the offer is smaller than the minimum price set on the offer. Check the offer settings for the offer. |
order_offer_quantity_already_set | The quantity passed is the same quantity that is already on the order offer, no changes were made. |
order_offer_quantity_change_not_supported | The quantity for the order offer cannot be changed. This method is only available for active and recurring order offers. |
order_offer_quantity_invalid | The quantity passed for the order offer is not a valid quantity. This could be because of quantity discounts restricting quantities. Check the offer cycle quantity discount settings for offer cycle. |
order_offer_quantity_required | You must pass a quantity for the order offer. |
order_offer_reactivate_not_supported | The order offer is not in a valid status that allows for reactivation. |
order_offer_status_invalid | The status ID passed is not a valid ID for the order offer. |
order_offer_swap_not_supported | The offer is either not in a valid status that allows for swapping. |
order_offer_swap_offer_invalid | The offer passed is not a valid offer that the current offer can be swapped to. Check the offer settings for available offer ids. |
order_offer_unpause_not_supported | The offer is not in a valid status to unpause. Only paused offers can be unpaused. |
order_offer_upsell_invalid | The offer id passed is not a valid upsell for offer. Check offer upsell settings. |
order_offer_upsell_not_supported | The order offer is not in a valid status that allows for an upsell to be added. Only recurring and active offers can be upsold to. |
order_offers_required | The order does not have any offers. |
order_unauthorized | The order has not been authorized so it cannot be captured. |
password_invalid | The password must be at least 8 characters and contain at least one uppercase letter, one lower case letter and one number. |
payment_method_merchant_inactive | There are no active merchants on campaign or router for payment method. Check merchant settings for available payment methods. |
payment_method_required | The payment method is required ( payment_method_id ). |
payment_token_required | The payment token is required ( payment_token ). |
product_invalid | The product passed is invalid ( product_id ). |
responder_invalid | The responder passed is invalid ( responder_id ). |
route_invalid | The route passed is invalid ( route_id ). |
route_merchant_invalid | There are no available merchants on route for card type and payment method. Click here for more details about troubleshooting this error. |
router_no_volume_remaining | There is no volume left on router. Check router settings for merchants. |
shipment_already_returned | The shipment has already been returned, so it cannot be returned. |
shipment_already_tracked | The shipment already has tracking, so it cannot add tracking. |
shipment_cancel_not_supported | The shipment is not in a valid status that would allow it to be cancelled. Only shipments that are not shipped, cancelled or skipped can be cancelled. |
shipment_date_invalid | The shipment date passed is not valid. Dates must be in the future. |
shipment_date_invalid_pending_charge | You cannot change the shipment to the date passed because there is another pending shipment or transaction after that date. |
shipment_date_invalid_pending_shipment | You cannot change the shipment to the date passed because there is a pending shipment or charge prior to that date. |
shipment_invalid | The shipment id passed is invalid. |
shipment_reschedule_not_supported | The shipment is not in a status that will allow for it to be rescheduled. Only Pending Post and Pending Transaction shipments can be rescheduled. |
shipment_reship_unsupported | The shipment cannot be reshipped. Only shipments that have been shipped, are not cancelled and are not flagged as reships are supported. |
shipment_rma_not_supported | Shipment already has an RMA. |
shipment_no_tracking | Shipment cannot be marked as delivered without a tracking number. |
shipping_profile_campaign_invalid | The shipping profile passed is not a valid profile for campaign. Check the campaign and country being passed. |
shipping_profile_required | The shipping profile is required on campaign for the country being passed. |
shipping_required | Shipping info required when not using shipping_same or not passing valid customers_address_shipping_id. When sending any shipping address information, all fields must be sent. ( ship_fname, ship_lname, ship_country, ship_address1, ship_city, ship_state, ship_zipcode ) |
state_invalid | The state passed is invalid. |
state_required | The state field is required for the country provided. |
timeframe_frequency_invalid | The time frame frequency you chose is not a timeframe that can be used on the offer. |
timeframe_invalid | The time frame is not valid. |
timeframe_offer_invalid | The time frame chosen is not a valid time frame for the offer. Check the offer settings for valid time frames. |
transaction_alert_not_supported | An alert cannot be processed on this type of transaction. |
transaction_already_cancelled | The transaction is already cancelled and cannot be cancelled again. |
transaction_already_completed | The transaction is already complete, changes cannot be made to it. |
transaction_already_processed | You cannot process a transaction because it was already processed. |
transaction_cancel_not_supported | Refund transactions cannot be cancelled. |
transaction_chargeback_not_supported | A chargeback cannot be processed on this type of transaction. |
transaction_check_return_not_supported | A check return cannot be processed on this type of transaction. |
transaction_consent_required | You cannot process this transaction because consent is required. |
transaction_consent_send_not_supported | Consent cannot be sent on this transaction. |
transaction_date_invalid | The date passed is invalid, you must choose a date in the future. |
transaction_date_invalid_pending_charge | The date passed is invalid, there is another pending charge before this date. |
transaction_date_invalid_prepaid_shipment | The date passed is invalid, there are prepaid shipments scheduled before this date. |
transaction_extend_delivery_not_supported | This transaction is not available for delivery extension. |
transaction_gateway_required | The transaction does not have a gateway associated with it. |
transaction_invalid | Transaction ID is invalid. |
transaction_process_not_supported | The transaction is not in the required state to be processed. This could be because there is a pending transaction before it. |
transaction_refund_max_reached | The transaction cannot be refunded for this amount. The max refund will be exceeded. |
transaction_refund_not_supported | The transaction cannot be refunded. This could be because there is already a pending refund for this transaction. |
transaction_reprocess_not_supported | This transaction cannot be reprocessed. This could be because the transaction is not declined, not a charge, not a sale or capture, or the order offer is not active. |
transaction_reverse_not_supported | The transaction cannot be reversed. This would be because the transaction is not a chargeback or there was already a reversal for this transaction. |
transaction_skip_not_supported | This transaction cannot be skipped. Transactions can be skipped when they are not currently skipped or cancelled and the offer cycle associated with the transaction is configured to allow skips. |
transaction_state_invalid | Transaction cannot be processed because it is complete, in the skipped state, or not yet scheduled. |
transaction_too_old | Transaction is too old to refund based on campaign settings. Check the campaign settings for allowed refund window. |
transaction_unskip_not_supported | You cannot unskip this transaction because there was a successful transaction after the transactions you are trying to unskip. |
transaction_void_not_supported | Transaction cannot be voided. This could be because the transaction was already refunded, it was declined, its not a Sale/Auth/Capture type, its after the batch date configured on the merchant, or if its an already captured auth. |
user_email_already_used | The email is already associated with another user. |
user_identifier_already_used | The user identifier is already associated with another user. |
user_invalid | The user is invalid. |
user_username_already_used | The user name is already associated with another user. |
connection_cart_token_invalid | The cart token specified is not valid. |
login_invalid | Login credentials are not valid. |
merchant_bin_not_allowed | The card BIN number is not allowed for the merchant specified. Check bin block settings on the merchant. |
merchant_limit | The merchant processing limit has been met and the merchant is configured to not exceed it. Check the merchant configuration. |
billing_address_required | A full billing address is required for the order when a payment method is required. Payment method is required when an offer is recurring or the total for the order is greater than 0. |
shipping_address_required | A full shipping address is required for the order. Shipping addresses are required when the order has an offer with a shippable item for any cycle. |
offersPI h_required | Offers are required on the order. |
payment_method_id_required | A payment_method_id is required to complete the request. |
afterpay_not_allowed | Afterpay is not available for orders that have a recurring offer. |
campaign_item_invalid | The item is not available on the campaign. Check campaign item configuration. |
payment_method_recurring_required | A payment method is required for orders with recurring offers. |
payment_method_total_required | The payment method is required for orders where the total > 0. |
campaign_page_invalid | The campaign page does not exist. |
new_password_required | A new password is required for the user. |
email_invalid | The email specified for the user is invalid. |
code_invalid | The 2fa code specified is not valid. |
offer_item_invalid | The item passed is not allowed for the offer. Check the offer settings. |
cancel_type_id_required | A valid cancel_type_id must be provided. Check the cancel type settings. |
report_id_required | A report_id is required. |
report_id_invalid | The report_id provided is not a valid. |
gift_email_required | A gift email is required for the offer that is being sold as a gift. |
filter_invalid | The filter_id passed is either invalid, or is not available for the report_id passed. |
shipment_address_change_not_supported | Shipment is not in a status that would allow for an address change. Only shipments that are not shipped, cancelled, posted or skipped can have an address changed. |
shipment_skip_not_supported | The shipment cannot be skipped. This may be because it is not the next upcoming shipment or the offer cycle does not allow for a shipment to be skipped. |
item_option_variation_invalid | The item variation does not exist for the item. |
order_offer_id_invalid | The order_offer_id passed is not valid. |
order_offer_expire_not_supported | Order offer cannot be set to expire. This could be because the order offer is not active or the offer is not configured to allow expiration. |
email_required | An email is required to complete action. |
filter_array_required | A filter_by array is required to run the report. |
merchant_rebill_limit | Merchant has met rebill count capacity for the day. |
shipment_item_swap_not_supported | The shipment item cannot be swapped. Only items on the next scheduled shipment can be swapped. |
transaction_cannot_process_before_previous_charge_or_shipment | The date passed for this transaction is invalid because there is another pending transaction or shipment scheduled before it. |
shipment_item_items_invalid | No shipment items to swap or this shipment has more than 1 item. |
skip_type_invalid | The skip_type_id is not valid. |
invalid_discount_code | The discount code passed is invalid. This could be because the discount code is not a valid code, the discount is not active, the discount is expired or not available for the offer or customer. |
order_offer_gift_already_reedemed | Order offer gift cannot be edited, the gift is already claimed. |
cart_token_invalid | The cart token passed is not valid. |
campaign_state_invalid | The state code passed is not available for the campaign. |
merchant_recurring_bin_block | Transaction cannot be processed due to Recurring Bin Profile on merchant. |
order_cannot_auto_capture | Order cannot be auto captured because its not authorized, or already complete. |
valid_order_offer_status | The status_type_id passed is not a valid status type. |
reward_invalid | There is no reward to claim. |
reward_already_claimed | Cannot claim the reward because the reward was already claimed. |
invalid_card_format | Credit card must be 15 or 16 digits only. |
search_fields_required | A date to and from field is required for search criteria passed. |
invalid_state_item | An item on the order is not available to be sold to the state passed. |
company_can_order | Account in past due state. Unable to accept new orders. |
company_disabled | Account deactivated. Reach out to Vrio support for more details. |
shipment_item_invalid | The shipment item does not exist, or does not belong to the shipment_id passed. |