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
Sale
Capture
Void
Refund
Tokenization
3D Secure
AVS Verification
CVV Verification
Recurring Payments
Multi-currency
Zero-amount Auth

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
Merchant Identity IDYour Finix Merchant Identity ID (required for payment instruments)Text
Use Sandbox EnvironmentCheck to use the Finix sandbox environment for testingCheckbox
Bypass $0 AuthBypass zero-amount transactions without gateway processingCheckbox

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
Merchant Identity IDidentityMerchant Identity ID for payment instruments

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

Payment Instrument Creation

Finix uses payment instruments for tokenization. VRIO automatically creates payment instruments during the first transaction:

VRIO FieldFinix ParameterDescription
customer_card_merchant_tokensourcePayment instrument ID for recurring payments
N/AtypeAlways set to PAYMENT_CARD
Merchant Identity IDidentityMerchant Identity ID required for creation

Token Storage

VRIO stores the Finix payment instrument ID directly as the token, which can be used as the source parameter in subsequent transactions.

📘

Payment Instrument Process

Payment instruments are created automatically during the first transaction. The returned payment instrument ID is stored and used for all subsequent recurring payments.

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

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
approval_codegateway_auth_codeAuthorization code (when available)
stategateway_response_codeTransaction state/status
security_code_verificationgateway_response_cvvCVV verification result
address_verificationgateway_response_avsAVS verification result

Transaction States

StateSuccessDescriptionWhen This Occurs
SUCCEEDED✅ YesTransaction completed successfullySale/transfer completed, or authorization approved
PENDING✅ YesTransaction is processingTransaction submitted and awaiting processor response
READY_TO_SETTLE✅ YesAuthorization ready for settlementAuthorization approved and ready to be settled
REQUIRES_CAPTURE✅ YesAuthorization awaiting captureAuthorization successful, waiting for capture call
CAPTURED✅ YesAuthorization has been capturedCapture completed on a previous authorization
DECLINED❌ NoTransaction was declinedCard issuer or processor declined the transaction
FAILED❌ NoTransaction failedTechnical error or validation failure occurred

Common Errors

Configuration Errors

Error MessageSolution
"Invalid API credentials"Verify API username and password
"Merchant not found"Check Merchant ID spelling
"Identity required"Ensure Merchant Identity ID is configured

Validation Errors

Error CodeDescriptionSolution
INVALID_AMOUNTInvalid transaction amountEnsure amount is greater than zero
INVALID_CARDCard validation failedCheck card number and expiration
MISSING_REQUIRED_FIELDRequired field missingVerify all required fields are provided

Payment Failures

Common failure reasons include:

Failure CodeDescription
INSUFFICIENT_FUNDSNot enough balance
EXPIRED_CARDCard has expired
INVALID_CARD_NUMBERCard number is invalid
FRAUD_SUSPECTEDTransaction flagged for fraud
DO_NOT_HONORIssuer declined transaction

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