Finix

Configure Finix as a payment gateway in Vrio for credit card processing with tokenization, 3D Secure, and recurring payments support.

VRIO supports Finix as a payment gateway for processing credit card transactions. Finix provides payment processing with direct merchant onboarding, transparent pricing, and comprehensive payment management capabilities. The integration supports tokenization for recurring payments, 3D Secure authentication, and zero-dollar authorization handling.

Supported Functionality

FeatureSupported
Authorization
Capture
Refund
Card Tokenization
3D Secure
ACH
Digital Wallet
$0 Transactions

Adding a Finix Merchant

To configure a Finix merchant in VRIO:

  1. Navigate to MerchantsAdd Merchant
  2. Select Finix as the gateway type
  3. Configure the following gateway details:

Required Gateway Details

Field NameDescriptionTypeRequired
API Key UsernameYour Finix API key username (from Developers > API Keys in dashboard)Text
API Key PasswordYour Finix API key password (from Developers > API Keys in dashboard)Password
Merchant IDYour Finix Merchant ID (from Finix Processing Details in dashboard)Text
Use Sandbox EnvironmentCheck to use the Finix sandbox environment for testingCheckbox
Bypass $0 Transaction AuthorizationsCheck this box to bypass card validation with Finix for $0 transactions. When unchecked, a $1 authorization (voided immediately) will be used to validate the card — the result of this authorization will determine if the transaction is successful. This setting only applies to initial transactions — $0 renewals will always bypass the gateway. Learn more about $0.00 transaction handling.Checkbox

Environment Configuration

  • Sandbox Environment: Use finix.sandbox-payments-api.com endpoints (Use Sandbox Environment = checked)
  • Live Environment: Use finix.live-payments-api.com endpoints (Use Sandbox Environment = unchecked)

Request Data Mapping

VRIO maps transaction data to Finix's API format as follows:

Basic Transaction Fields

VRIO FieldFinix ParameterDescription
transaction_ididempotency_idUnique transaction reference to prevent duplicates
transaction_totalamountAmount in cents (multiplied by 100)
currency_valuecurrencyISO 4217 currency code
Merchant IDmerchantMerchant ID from settings

Payment Method Fields

VRIO FieldFinix ParameterDescription
card_numbernumberCredit card number
card_exp_monthexpiration_monthCard expiration month (integer)
card_exp_yearexpiration_yearCard expiration year (4 digits)
card_cvvsecurity_codeCard verification code
cardholder_namenameName on card

Billing Address Fields

VRIO FieldFinix ParameterDescription
billing_address1address.line1Billing street address
billing_address2address.line2Billing address line 2
billing_zipaddress.postal_codeBilling postal code
billing_cityaddress.cityBilling city
billing_stateaddress.regionBilling state/province
billing_countryaddress.countryBilling country (default: US)

Tokenization

Buyer Identity & Payment Instrument Creation

Finix requires each cardholder to have a buyer identity linked to their payment instrument. VRIO automatically handles this during the first transaction:

  1. Create Buyer Identity — A BUYER identity is created via POST /identities with the customer's name, email, phone, and customer ID tag.
  2. Create Payment Instrument — The card is tokenized via POST /payment_instruments linked to the buyer identity, with billing address for AVS.
  3. Store Token — VRIO stores a concatenated token (buyerIdentityId_paymentInstrumentId) and extracts the payment instrument ID as the source parameter for subsequent transactions.
VRIO FieldFinix ParameterDescription
customer_card_merchant_tokensourcePayment instrument ID extracted from stored token
N/AtypeAlways set to PAYMENT_CARD
Auto-createdidentityPer-buyer identity created automatically
📘

Automatic Token Management

Both the buyer identity and payment instrument are created automatically during the first transaction. The token is stored and used for all subsequent recurring payments. No merchant-level identity configuration is needed.

3D Secure Authentication

VRIO supports 3D Secure authentication by passing MPI data to Finix:

3DS Fields Mapping

VRIO FieldFinix ParameterDescription
order_cavv3d_secure_authentication.cardholder_authenticationCAVV authentication verification value
order_eci3d_secure_authentication.electronic_commerce_indicatorECI value (passed directly)
order_3ds_ds_transaction_id or order_xid3d_secure_authentication.transaction_id3DS transaction identifier
🚧

Important

All three 3DS fields (CAVV, ECI, and Transaction ID) must be present for Finix to accept the 3D Secure authentication data. If any field is missing, the 3DS data will not be sent.

Transaction Types

Authorization vs Sale

Transaction TypeFinix EndpointDescription
Authorization/authorizationsHolds funds without capturing
Sale/transfersImmediate capture of funds
Capture/authorizations/{id}Captures a previous authorization

Zero Dollar Transactions

For $0.00 transactions, Finix requires special handling:

  1. With Bypass Setting: Returns success without gateway call
  2. Without Bypass: Creates a $1.00 authorization and immediately voids it to validate the card

Learn more about $0.00 transaction handling.

Response Data Mapping

VRIO processes Finix responses and maps them to standardized response fields:

Response Fields

Finix ResponseVRIO FieldDescription
idgateway_response_idFinix's unique transaction reference
network_details.authorization_codegateway_auth_codeAuthorization code from the network
stategateway_response_codeTransaction state/status
security_code_verificationgateway_response_cvvCVV verification result
address_verificationgateway_response_avsAVS verification result
processor_responseprocessor_response_textRaw processor response details

Transaction States

StateSuccessDescriptionWhen This Occurs
SUCCEEDED✅ YesTransaction completed successfullySale/transfer completed, or authorization approved
PENDING❌ NoTransaction is still processingHasn't resolved yet; could become SUCCEEDED or FAILED
FAILED❌ NoTransaction failedTechnical error or validation failure occurred
CANCELED❌ NoTransaction was canceledTransaction was voided or reversed
UNKNOWN❌ NoUnknown stateUnable to determine transaction outcome
🚧

PENDING is not treated as success

Per Finix documentation, PENDING means the transaction is still processing and could resolve to FAILED. VRIO only treats SUCCEEDED as a successful transaction.

Common Errors

Configuration Errors

Error MessageSolution
"Invalid API credentials"Verify API username and password
"Merchant not found"Check Merchant ID spelling

Validation Errors

Error CodeDescriptionSolution
INVALID_FIELDA field value failed validationCheck the field property in the error response for details
INVALID_NUMBERCard number failed validationVerify card number before submitting

Payment Failures

Common failure codes returned by Finix:

Failure CodeDescription
INSUFFICIENT_FUNDSNot enough balance on the card
EXPIRED_CARDCard has expired
INVALID_CARD_NUMBER_OR_EXPIRED_CARDCard number is invalid or card has expired
INVALID_ACCOUNT_NUMBERAccount number is invalid
FRAUD_DETECTED_BY_ISSUERCard issuer flagged transaction as fraud
FRAUD_DETECTED_BY_FINIXFinix risk rules flagged transaction as fraud
ISSUER_POLICY_VIOLATIONTransaction violates issuer policy
CARD_NOT_ACTIVATED_OR_BLOCKEDCard is not activated or has been blocked
CARD_ACCOUNT_CLOSEDCard account has been closed
GENERIC_DECLINEGeneral decline with no specific reason
PICK_UP_CARDIssuer requests the card be picked up
INVALID_CVVCVV verification failed
ADDRESS_VERIFICATION_FAILED_RISK_RULESAVS check failed Finix risk rules
CVV_FAILED_RISK_RULESCVV check failed Finix risk rules

Testing

Note : Placing test orders with a Finix sandbox account or using Finix test cards will not automatically set the order as a test in Vrio. Be sure to flag the order as a test using the is_test flag after the order is processed. For more details on placing test orders, see Placing a Test Order.

For Finix test cards, check here