Fluid Pay

Fluidpay is a standard gateway integration.

Vrio will always try and tokenize the card when processing a Sale or an Auth by passing the following in the request:

create_vault_record=true

Supported Functionality

  • ✅ Authorize Payments
  • ✅ Refund Payments
  • ❌ Accepts $0 Transactions
  • ❌ ACH Support
  • ❌ Digital Wallet Support
  • ✅ Capture Payments
  • ✅ 3DS Support
  • ✅ Card Tokenization
  • ❌ CVV Required

Adding a FluidPay Merchant

To connect a Merchant using FluidPay Gateway,

  1. First add Merchant
  2. Select FluidPay as the Gateway
  3. Add Gateway Details as outlined below

Gateway DetailsDescription
API KeyAPI Key provided by FluidPay
Processor ID

Designates a specific processor for the transaction.



If no value is provided, the transaction will run against the default processor set on your gateway.



If no value is provided and there is no default set, the transaction will fail.
Vendor IDVendor ID passed along to certain processors, if supported
(Special Field, only use if instructed by support)
SandboxWhen checked, this merchant should use Sandbox credentials and sandbox endpoint
Bypass $0 transaction authorizations

The FluidPay gateway will decline $0 sales. Vrio will run a $1 authorization (and void it immediately) for $0 sale transactions, the authorization request will determine if the sale is successful.



When Checked - Vrio will bypass any $0 transaction, no attempt will be made at the gateway, and treat all $0 transactions as successful.

Merchant Payment Methods*The types of payment methods this merchant accepts - Credit card only
Merchant Card Types*Card types to be accepted on this Merchant
Merchant Default Currency*Default currency that will be used, if currency is not specified
Merchant Currencies*All currencies accepted on this merchant

*Required


Request Data Mapping

Below is a table that will show how Vrio maps its data to the requested payment gateway API. Values in bold are hard coded values, the rest are dynamic based on the payment.

DataAction=token/add

amountTransaction Total
tax_amountTransaction Tax
shipping_amountTransaction Shipping
currencyTransaction Currency
order_idTransaction ID
ip_addressIP Address
email_addressCustomer Email Address
processor_idvalue set on merchant for Processor ID
vendor_idvalue set on merchant for Vendor ID
Initial Sales ( Not Recurring )
billing_methodstraight
Initial Sales ( Recurring )
billing_methodinitial_recurring
Recurring Sales ( Sublytics Transaction Cycle > 1 )
billing_methodrecurring
Payment Method (If Token )
payment_method.customer.idCustomer Card Merchant Token ( customer_id from original response )
payment_method.customer.payment_method_idCustomer Card Merchant Token ( response.card.id from original response )
payment_method.customer.payment_typecard
Payment Method ( If No Token )
payment_method.entry_typekeyed
payment_method.cvcCustomer Card CVV ( if present )
payment_method.numberCustomer Card Number
payment_method.expiration_dateCustomer Card Expiration Month / Customer Card Expiration Year
3DS Information ( If available )
payment_method.cardholder_authentication.eciTransaction ECI
payment_method.cardholder_authentication.cavvTransaction CAVV
payment_method.cardholder_authentication.xidTransaction XID
payment_method.cardholder_authentication.versionTransaction 3ds Version
payment_method.cardholder_authentication.ds_transaction_idTransaction 3ds Transaction ID ( version 2+)
Billing / Shipping Information
billing_address.first_nameBilling First Name
billing_address.last_nameBilling Last Name
billing_address.companyBilling Organization
billing_address.emailBilling email
billing_address.phoneBilling Telephone
billing_address.address_line_1Billing Address Line 1
billing_address.address_line_2Billing Address Line 2
billing_address.cityBilling City
billing_address.stateBilling State
billing_address.postal_codeBilling Postal Code
billing_address.countryBilling Country
shipping_address.first_nameShipping First Name
shipping_address.last_nameShipping Last Name
shipping_address.companyShipping Organization
shipping_address.emailShipping email
shipping_address.phoneShipping Telephone
shipping_address.address_line_1Shipping Address Line 1
shipping_address.address_line_2Shipping Address Line 2
shipping_address.cityShipping City
shipping_address.stateShipping State
shipping_address.postal_codeShipping Postal Code
shipping_address.countryShipping Country

Response Data Mapping

Below is a table that will show how Vrio maps its data in the API response from Fluidpay


FluidPayVrio
idGateway Response ID ( used for refunds / voids )
order_idGateway Response Gateway ID ( not currently used)
response_codeGateway Response Code
response_body.card.auth_codeGateway Auth Code
response_body.card.cvv_response_codeGateway Response CVV Code
response_body.card.avs_response_codeGateway Response AVS Code
msgProcessor Response Text
customer_id|customer_payment_IDCustomer Card Merchant Token

Testing Capabilities and Results

What we can / cannot test for based on the gateway’s sandbox and test card capabilities.

Testing Tips


When testing Gateways, ensure to use the FluidPay Test Cards to test through to the Gateway.

  • Vrio recommends placing multiple test scenarios, confirming in the Vrio Gateway API Log what data is passed.
  • Then confirm within the FluidPay Portal.
Follow full transaction testing and validation steps here.

Common Errors

Error: Forbidden error: User is not permitted to perform this action

Cause: The account doesn't have permission to create vault records which is what was causing the error

Note: Placing test orders with a Fluid Pay sandbox account or using Fluid Pay 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, click here.

Reach out to Fluid Pay for test card information.