Skip to main content

HSA/FSA Healthcare Data

Netvalve supports healthcare data for eligible HSA/FSA card transactions. Send healthCareData only for Visa or Mastercard Auth and Sale transactions when the merchant's MID has the ENABLE_FSA_HSA_HEALTHCARE_DATA payment channel enabled.

Use this object to submit the healthcare account type, eligible healthcare category amounts, IIAS qualification flag, and prescription reference when applicable.

Sample request​

Use either midId or siteId in the request.

Example Request Body
{
"amount": 12.00,
"cardHolderName": "John Doe",
"clientOrderId": "{{clientOrderId}}",
"currency": "USD",
"customerAddress": "123 Main St",
"customerCity": "New York",
"customerCountryCode": "US",
"customerEmail": "docs@netvalve.com",
"customerIp": "203.0.113.1",
"customerName": "John",
"customerLastName": "Doe",
"customerPhone": "+12025551234",
"customerState": "NY",
"customerZipCode": "10001",
"midId": "{{midId}}",
"siteId": "{{siteId}}",
"paymentToken": "e9d74bfb-12d6-422c-a230-fdcc351afc52",
"healthCareData": {
"healthCareAccountType": "HSA",
"prescriptionAmount": 0.00,
"visionAmount": 0.00,
"dentalAmount": 0.00,
"clinicAmount": 12.00,
"isQualifiedIIAS": "NO",
"prescriptionNumber": "00001"
}
}

Healthcare fields​

FieldTypeDescription
healthCareAccountTypestringHealthcare account type. Use HSA or FSA.
prescriptionAmountnumberPrescription or Rx amount included in the transaction.
visionAmountnumberVision care amount included in the transaction.
dentalAmountnumberDental care amount included in the transaction.
clinicAmountnumberClinic or medical care amount included in the transaction.
isQualifiedIIASstringRequired when any healthcare amount is greater than 0.00. Indicates whether the transaction is qualified under IIAS. Use YES, NO, or EXEMPTED.
prescriptionNumberstringPrescription/Rx number associated with the healthcare transaction, when applicable. Maximum 64 characters. This value is redacted in gateway logs.

Validation rules​

  • Healthcare data is supported only for Auth and Sale transactions. Other operations return INVALID_TRANSACTION_OPERATION.
  • The card brand must be Visa or Mastercard. Other resolved card brands return HEALTHCARE_BRAND_MAPPING_ERROR (GTW_2174).
  • The merchant's MID must have the ENABLE_FSA_HSA_HEALTHCARE_DATA payment channel enabled. Otherwise, the gateway returns HEALTHCARE_NOT_ENABLED_FOR_MERCHANT (GTW_2173).
  • Amounts cannot be negative. A negative healthcare amount returns HEALTHCARE_INVALID_AMOUNT (GTW_2171).
  • At most three healthcare categories can have amounts greater than 0.00. More than three positive categories returns HEALTHCARE_AMOUNT_CATEGORY_LIMIT_EXCEEDED (GTW_2175).
  • For a non-zero transaction, at least one healthcare amount must be greater than 0.00; otherwise, the gateway returns HEALTHCARE_INVALID_AMOUNT (GTW_2171).
  • For a non-zero transaction, prescriptionAmount + visionAmount + dentalAmount + clinicAmount must equal the request's amount exactly. A different total returns HEALTHCARE_AMOUNT_SUM_MISMATCH (GTW_2170).
  • When any healthcare amount is greater than 0.00, isQualifiedIIAS is required. If it is missing, the gateway returns HEALTHCARE_IIAS_FLAG_REQUIRED (GTW_2172).
  • prescriptionNumber has a maximum length of 64 characters and is redacted in gateway logs.

Example: Too many positive healthcare categories​

The following request excerpt has four positive healthcare categories. Although their sum equals the transaction amount (40.00), it exceeds the limit of three positive categories and returns HEALTHCARE_AMOUNT_CATEGORY_LIMIT_EXCEEDED (GTW_2175): "Healthcare amount breakdown supports at most three positive categories."

Invalid Request Excerpt
{
"amount": 40.00,
"healthCareData": {
"healthCareAccountType": "HSA",
"prescriptionAmount": 10.00,
"visionAmount": 10.00,
"dentalAmount": 10.00,
"clinicAmount": 10.00,
"isQualifiedIIAS": "YES"
}
}

Submit at most three positive category amounts that accurately reflect the transaction, and ensure their sum still equals the transaction amount.

Usage notes​

  • Use decimal currency amounts with two decimal places.
  • Use isQualifiedIIAS as YES only when the transaction qualifies under the Inventory Information Approval System.
  • Omit healthCareData for standard retail or eCommerce transactions that do not include HSA/FSA healthcare data.