Visa · Schema

Visa Merchant

Schema representing a merchant in the Visa network, used across Merchant Search, Merchant Screening, Merchant Offers, and ATM Locator APIs.

AccountBankingCredit CardsDigital CommerceDigital WalletFintechForeign ExchangeFraud PreventionMerchantsMoney MovementPaymentsTokenizationFortune 500

Properties

Name Type Description
visaMerchantId string Visa-assigned unique identifier for the merchant
visaStoreId string Visa-assigned unique identifier for a specific merchant store location
merchantName string Registered business name of the merchant
merchantCategoryCode string Four-digit Merchant Category Code (MCC) classifying the merchant's business type
merchantUrl string Merchant's official website URL
merchantLogoUrl string URL of the merchant's logo image
merchantAddress object
phoneNumber string Merchant's contact phone number
cardAcceptorId string Card Acceptor Identification Code (CAID) assigned by the acquirer
acquiringBin string Bank Identification Number of the merchant's acquiring institution
terminalId string Point-of-sale terminal identifier
acceptsVisa boolean Whether the merchant accepts Visa payment cards
acceptsVisaCommercial boolean Whether the merchant accepts Visa commercial payment products
supportsEnhancedData boolean Whether the merchant provides enhanced transaction data (Level 2/3)
terminationStatus string Current termination status from the MATCH/TMF database
riskIndicators object
offers array Active merchant offers from VMORC
View JSON Schema on GitHub

JSON Schema

visa-merchant-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://developer.visa.com/schemas/visa/merchant.json",
  "title": "Visa Merchant",
  "description": "Schema representing a merchant in the Visa network, used across Merchant Search, Merchant Screening, Merchant Offers, and ATM Locator APIs.",
  "type": "object",
  "required": [
    "merchantName"
  ],
  "properties": {
    "visaMerchantId": {
      "type": "string",
      "description": "Visa-assigned unique identifier for the merchant"
    },
    "visaStoreId": {
      "type": "string",
      "description": "Visa-assigned unique identifier for a specific merchant store location"
    },
    "merchantName": {
      "type": "string",
      "description": "Registered business name of the merchant"
    },
    "merchantCategoryCode": {
      "type": "string",
      "description": "Four-digit Merchant Category Code (MCC) classifying the merchant's business type",
      "pattern": "^\\d{4}$"
    },
    "merchantUrl": {
      "type": "string",
      "format": "uri",
      "description": "Merchant's official website URL"
    },
    "merchantLogoUrl": {
      "type": "string",
      "format": "uri",
      "description": "URL of the merchant's logo image"
    },
    "merchantAddress": {
      "$ref": "#/$defs/MerchantAddress"
    },
    "phoneNumber": {
      "type": "string",
      "description": "Merchant's contact phone number"
    },
    "cardAcceptorId": {
      "type": "string",
      "description": "Card Acceptor Identification Code (CAID) assigned by the acquirer",
      "maxLength": 15
    },
    "acquiringBin": {
      "type": "string",
      "description": "Bank Identification Number of the merchant's acquiring institution"
    },
    "terminalId": {
      "type": "string",
      "description": "Point-of-sale terminal identifier",
      "maxLength": 8
    },
    "acceptsVisa": {
      "type": "boolean",
      "description": "Whether the merchant accepts Visa payment cards"
    },
    "acceptsVisaCommercial": {
      "type": "boolean",
      "description": "Whether the merchant accepts Visa commercial payment products"
    },
    "supportsEnhancedData": {
      "type": "boolean",
      "description": "Whether the merchant provides enhanced transaction data (Level 2/3)"
    },
    "terminationStatus": {
      "type": "string",
      "description": "Current termination status from the MATCH/TMF database",
      "enum": [
        "NONE",
        "TERMINATED",
        "UNDER_REVIEW"
      ]
    },
    "riskIndicators": {
      "$ref": "#/$defs/RiskIndicators"
    },
    "offers": {
      "type": "array",
      "description": "Active merchant offers from VMORC",
      "items": {
        "$ref": "#/$defs/MerchantOffer"
      }
    }
  },
  "$defs": {
    "MerchantAddress": {
      "type": "object",
      "description": "Physical address of the merchant location",
      "properties": {
        "street": {
          "type": "string",
          "description": "Street address"
        },
        "city": {
          "type": "string",
          "description": "City name"
        },
        "state": {
          "type": "string",
          "description": "State or province code"
        },
        "postalCode": {
          "type": "string",
          "description": "Postal or ZIP code"
        },
        "country": {
          "type": "string",
          "description": "ISO 3166-1 alpha-2 country code",
          "pattern": "^[A-Z]{2}$"
        },
        "latitude": {
          "type": "number",
          "format": "double",
          "description": "Latitude coordinate of the merchant location"
        },
        "longitude": {
          "type": "number",
          "format": "double",
          "description": "Longitude coordinate of the merchant location"
        }
      }
    },
    "RiskIndicators": {
      "type": "object",
      "description": "Risk-related indicators for the merchant from screening services",
      "properties": {
        "riskScore": {
          "type": "number",
          "description": "Computed risk score for the merchant",
          "minimum": 0,
          "maximum": 100
        },
        "terminationReasonCode": {
          "type": "string",
          "description": "Reason code if the merchant has been terminated"
        },
        "addedToMatchDate": {
          "type": "string",
          "format": "date",
          "description": "Date the merchant was added to the MATCH/TMF database"
        }
      }
    },
    "MerchantOffer": {
      "type": "object",
      "description": "A promotional offer associated with the merchant",
      "properties": {
        "offerId": {
          "type": "integer",
          "description": "Unique identifier for the offer"
        },
        "offerTitle": {
          "type": "string",
          "description": "Title of the offer"
        },
        "offerDescription": {
          "type": "string",
          "description": "Description of the offer terms"
        },
        "validityStartDate": {
          "type": "string",
          "format": "date",
          "description": "Start date of the offer validity period"
        },
        "validityEndDate": {
          "type": "string",
          "format": "date",
          "description": "End date of the offer validity period"
        },
        "redemptionUrl": {
          "type": "string",
          "format": "uri",
          "description": "URL for redeeming the offer"
        }
      }
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/visa-merchant"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.