Visa Commercial Payment Controls (VPC) Rule Codes

Rule codes for Visa Commercial Payment Controls. These can be configured within the Controls Management Service.

  • For amount fields, a maximum of 12 digits allowed. This maximum value includes any decimal places and excludes the decimal separator, ".".
  • For currency with a minor unit of 0, 12 digits are allowed. A currency with a minor unit of 2 is allowed 10 digits and 2 decimals. A currency with a minor unit of 3 is allowed 9 digits and 3 decimals.
  • For a currency with a minor unit of 3, only 0 is expected in the third decimal position as per VisaNet processing.
  • The time zone specified in request level is applicable for all the rules.
  • User can set the future rules by providing a future start date.

RULE NAME: Block Adult Theme Merchants

Rule Code Rule Description Overridable Override Limit Notes
ADT Blocks all transactions at adult-themed merchants. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.
Rule Request:
{
  "code": "ADT" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{3,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block airline merchants

Rule Code Rule Description Overridable Override Limit Notes
AIR Blocks all transactions at airline merchants. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "AIR" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block alcohol merchants

Rule Code Rule Description Overridable Override Limit Notes
ALC Blocks all transactions at alcohol merchants. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "ALC" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block auto rental merchants

Rule Code Rule Description Overridable Override Limit Notes
AUTO Blocks all transactions at auto rental merchants. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "AUTO" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block business services merchants

Rule Code Rule Description Overridable Override Limit Notes
BUSS Blocks transactions to merchant category codes (MCCs) with business services. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "BUSS" 
}
		

Fields and Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block cloth merchants

Rule Code Rule Description Overridable Override Limit Notes
CLOTH Blocks all transactions at general retail merchants. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "CLOTH" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block electronics merchants

Rule Code Rule Description Overridable Override Limit Notes
ELEC Blocks all transactions at electronics merchants. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "ELEC" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block entertainment merchants

Rule Code Rule Description Overridable Override Limit Notes
ENT Blocks all transactions at entertainment-related merchants. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "ENT" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block fuel merchants

Rule Code Rule Description Overridable Override Limit Notes
FUEL Blocks all transactions at fuel merchants. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "FUEL" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block grocery states and pharmacies merchants

Rule Code Rule Description Overridable Override Limit Notes
GORC Blocks all transactions at grocery merchants. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "GORC" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block ground transportation merchants

Rule Code Rule Description Overridable Override Limit Notes
GTM Blocks all transactions at ground transportation merchants. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "GTM" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block hotel merchants

Rule Code Rule Description Overridable Override Limit Notes
HOT Blocks all transactions at hotel-related merchants. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "HOT" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block jewelry merchants

Rule Code Rule Description Overridable Override Limit Notes
JEWL Blocks all transactions at jewelry merchants. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "JEWL" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block general retail merchants

Rule Code Rule Description Overridable Override Limit Notes
MED Blocks transactions at general retail merchants. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "MED" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block fast food merchants

Rule Code Rule Description Overridable Override Limit Notes
MISC Blocks all transactions at fast food merchants. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "MISC" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block office supply merchants

Rule Code Rule Description Overridable Override Limit Notes
OSS Blocks all transactions at office supply merchants. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "OSS" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block fast food merchants

Rule Code Rule Description Overridable Override Limit Notes
QSR Blocks all transactions at fast food merchants. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "QSR" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block restaurant merchants

Rule Code Rule Description Overridable Override Limit Notes
REST Blocks all transactions at restaurant merchants. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "REST" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block utility merchants

Rule Code Rule Description Overridable Override Limit Notes
UTIL Blocks all transactions at utilities merchants. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "UTIL" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Allow states (applicable for United States of America)

Rule Code Rule Description Overridable Override Limit Notes
DOM Blocks all transactions outside of the selected state (USA only). Yes 1 The specified state codes must be valid. DOM and DOMB cannot be used together. Only one should be specified due to conflicting rule nature. The rule supports allowing purchases within a single state for an account.

Rule Request:

{
  "code": "DOM",
  "stateCodes": [ 
    "15"
  ]
}
		

Field Details:

  • stateCodes*
    • Type: string
    • Description: Only applicable for United States of America. For 50 states in the USA, the Federal Information Processing Standards (FIPS) numeric codes are used. For outlying areas of United States, freely associated states, and individual minor outlying island territories, refer to the rule description document under States Codes.

RULE NAME: Block cross border transactions

Rule Code Rule Description Overridable Override Limit Notes
XBR Blocks all cross-border transactions. No N/A XBR and XBRA should not be used at the same time due to conflicting rule nature.

Rule Request:

{
  "code": "XBR" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Cross border transactions with amount limit

Rule Code Rule Description Overridable Override Limit Notes
XBRA Cross-border transaction restrictions with amount limits. Yes 1 Decimals are allowed. XBRA and XBR should not be used at the same time due to conflicting rule nature. Any amounts greater than or equal to the amount specified will be declined.

Rule Request:

{
  "code": "XBRA",
  "amountValue": "2000"
}
		

Field Details:

  • amountValue*
  • Description: Specifies the amount value limit for each cross-border transaction. The request level currency will apply to this amount value.

RULE NAME: Block countries

Rule Code Rule Description Overridable Override Limit Notes
XBRB Blocks all transactions in the selected countries. Yes 10 The country codes must be valid. XBRB and XBRX cannot be used together. Only one should be specified due to conflicting rule nature.

Rule Request:

{
  "code": "XBRB",
  "countries": [ 
    "04"
    "08"
    "12"
    "16"
  ]
}
		

Field Details:

  • countries
    • Type: array
    • Description: Specifies the code(s) for the list of countries to be blocked for transactions.

RULE NAME: Allow countries

Rule Code Rule Description Overridable Override Limit Notes
XBRX Blocks transactions in all EXCEPT the selected countries. Yes 10 The country codes must be valid. XBRX and XBRB cannot be used together. Only one should be specified due to conflicting rule nature.

Rule Request:

{
  "code": "XBRX",
  "countries": [ 
    "04"
    "08"
    "12"
    "16"
  ]
}
		

Field Details:

  • countries
    • Type: array
    • Description: Specifies the code(s) for the list of countries to be blocked for transactions.

RULE NAME: Block ecommerce transaction over the amount limit

Rule Code Rule Description Overridable Override Limit Notes
EAM Blocks all e-commerce transactions above a specific amount. Yes N/A Decimals are allowed. EAM and ECOM cannot be used at the same time due to conflicting rule nature. Any amounts greater than or equal to the amount specified will be declined.

Rule Request:

{
  "code": "EAM",
  "amountValue": "200"
}
		

Field Details:

  • amountValue
  • Description: Specifies the amount value limit for each e-commerce transaction. The request level currency will apply to this amount value.

RULE NAME: Block ecommerce transaction

Rule Code Rule Description Overridable Override Limit Notes
ECOM Blocks all e-commerce transactions. No 1 ECOM and EAM cannot be used at the same time due to conflicting rule nature.

Rule Request:

{
  "code": "ECOM" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block card-not-present transactions

Rule Code Rule Description Overridable Override Limit Notes
CNP Blocks all card-not-present transactions. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "CNP" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block ATM cash disbursement

Rule Code Rule Description Overridable Override Limit Notes
ATM Blocks all ATM cash disbursement transactions. No N/A ATM and ATML should not be used at the same time due to conflicting rule nature.

Rule Request:

{
  "code": "ATM" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: ATM cash disbursement amount limit

Rule Code Rule Description Overridable Override Limit Notes
ATML Prevents ATM cash disbursement transactions above a specific amount. Yes 1 Decimals are allowed. ATML and ATM should not be used at the same time due to conflicting rule nature. Any amounts greater than or equal to the amount specified will be declined.

Rule Request:

{
  "code": "ATML",
  "amountValue": "200"
}
		

Field Details:

  • amountValue*
  • Description: Specifies the amount value limit for each cash disbursement from ATM.

RULE NAME: Spend velocity type restriction

Rule Code Rule Description Overridable Override Limit Notes
SPV This is the Spend Velocity Rule used to set the maximum spending amount and number of authorizations for a date range or recurring payment.  Yes 1

 The SPV Rule will be renewed (or terminated in the case of DATERANGE) after the end date. This is based on the timeZone and respective range type.

The request level timeZone is applicable for all rules including SPV. timeZone is an optional field. The default value for timeZone is GMT. 

The Spend Velocity balance is updated when authorization reversal transactions are received by VisaNet for a previously-approved authorization transaction. 

  • When the entire amount of the authorization transaction is reversed, the Spend Velocity balance is increased by the reversed amount. The consumed Spend Velocity transaction count is decreased by one transaction.
  • When a partial amount of the authorization transaction is reversed, the Spend Velocity balance is increased by the reversed amount. There is no impact to the Spend Velocity transaction count if a partial amount is reversed.
  • The Spend Velocity balance is not updated if the authorization transaction being reversed occurred before a rule refresh or reset by the client or system for recurring controls.

Rule Requests:

{ 
  "code": "SPV", 
  "velocityDetails": { 
    "spendLimitAmount": "100", 
    "maxAuth": "10", 
    "rangeType": "RECURRING", 
    "recurringDay": "08", 
    "updateFlag": "Update", 
    "notifyOption": "Once", 
    "thresholdAmount": "10" 
  }
}
		
{ 
  "code": "SPV", 
  "velocityDetails": { 
    "spendLimitAmount": "100", 
    "maxAuth": "10", 
    "rangeType": "MONTHLY", 
    "updateFlag": "Update", 
    "notifyOption": "Once", 
    "thresholdAmount": "10" 
  } 
}
		
{ 
  "code": "SPV", 
  "velocityDetails": { 
    "spendLimitAmount": "100", 
    "maxAuth": "10", 
    "rangeType": "DATERANGE", 
    "updateFlag": "Replace", 
    "notifyOption": "Everytime", 
    "thresholdAmount": "10" 
  } 
}
		
{ 
  "code": "SPV", 
  "velocityDetails": { 
    "spendLimitAmount": "100", 
    "maxAuth": "10", 
    "rangeType": "WEEKLY", 
    "dayOfTheWeek": "FRI", 
    "updateFlag": "Replace", 
    "notifyOption": "Everytime", 
    "thresholdAmount": "10" 
  } 
}
		
{ 
  "code": "SPV", 
 "velocityDetails": { 
    "spendLimitAmount": "100", 
    "maxAuth": "10", 
    "rangeType": "DAILY", 
    "updateFlag": "Replace", 
    "notifyOption": "Everytime", 
    "thresholdAmount": "10" 
  } 
}
		

Field Details:

  • spendLimitAmount
    • Cannot be blank.
    • Decimals are allowed.
    • Description: Specifies the amount limit to be set on the card.
  • maxAuth
    • If value is zero, there is no limit.
    • Description: Specifies the number of authorizations that can be performed.
  • startDate
    • If rangeType=DATERANGE, startDate is mandatory and must be in MM/DD/YYYY format. For February, day fields can only be 1-28.
    • startDate can accept the current and future date only. However, if the start date is today's date, then the rule will be effective immediately.
    • This rule will be set in near-real time.
    • Field must be present at the request level and applicable for all rules including SPV.
  • endDate
    • If rangeType=DATERANGE, endDate is mandatory and must be in MM/DD/YYYY format. For February, day fields can only be 1-28.
    • Field must be present at the request level and applicable for all rules including SPV.
    • If endDate is not specified the rule will be refresh indefinitely as per the rangeType. 
  • recurringDay
    • Must be a day in a month.
    • Allowed value: 1-28.
    • If rangeType = RECURRING, the recurringDay must be provided to refresh the rule on that day of the month.
  • dayOfTheWeek

    If rangeType = WEEKLY, the dayOfTheWeek must be provided to refresh the rule on that day of the week.

    Valid values:

    • MON
    • TUE
    • WED
    • THU
    • FRI
    • SAT
    • SUN
  • thresholdAmount
    • If notifyOption= ONCE or EVERYTIME, thresholdAmount is mandatory.
    • thresholdAmount is the percentage value of the amount. Value should be between 1 and 100.
  • notifyOption

    Description: Specifies if the notification must be sent when the set threshold amount is met (once or every time). The threshold is a percentage of spend amount.

    Valid values:

    • NONE
    • ONCE
    • EVERYTIME
  • rangeType

    Description: Specifies the rule refresh criteria.

    Valid values:

    • DATERANGE - spend only accessible during defined date range. Post-expiration, the account will be open if no other rules are applied.
    • RECURRING - funds are set on x day of the month.
    • MONTHLY - funds are set the 1st day of the month.
    • WEEKLY - funds are set on x day of the week.
    • DAILY - funds are set at the beginning of each day.
  • updateFlag

    Description: Specifies if the rule update must update the accrual data or keep it.

    Valid values:

    • UPDATE - updates the rule data keeping the accrual data as is.
    • REPLACE - update the rule data and the accrual data and start the accruals fresh.
  • consumedAmount

    Description: Specifies the consumed transaction amount (read-only field).

  • consumedAuthCount

    Description: Specifies the consumed transaction count (read-only field).

  • spendLimitAmountTolerance
    • Description: Allows users to specify a Spend Limit Amount Tolerance percentage of their total Spend Limit Amount so that additional spending beyond the preset limit is allowed. .
    • The spendLimitAmountTolerance override code, if provided, should either be an integer or a string convertible to an integer. The value must fall within the 0-100 range and default to zero if not specified.

RULE NAME: Block all other cash access

Rule Code Rule Description Overridable Override Limit Notes
NOC Blocks all other cash access transactions. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "NOC" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Purchase amount limit

Rule Code Rule Description Overridable Override Limit Notes
PUR Places a purchase amount limit on the card. Yes 1 Decimals are allowed.

Rule Request:

{
  "code": "PUR" 
  "amountValue": "200"
}
		

Field Details:

  • amountValue
    • Description: Specifies the amount value limit for each purchase.
    • The request level currency will apply to this amount value.

RULE NAME: Allow transaction in business hours

Rule Code Rule Description Overridable Override Limit Notes
BUS Places restrictions on the time of day / day of the week that transactions can be authorized. For example, you can restrict card usage to only your business hours and days.  Yes 7

Day must be within the below values:

  • MON
  • TUE
  • WED
  • THU
  • FRI
  • SAT
  • SUN

Start and end times must be in military format. Minutes are not accepted, only hours. For example: 01:00, 05:00, 10:00, 13:00, 17:00, 23:00.

Rule Request:

{ 
  "code": "BUS", 
  "effectiveTimePeriods": [ 
    { 
      "effectiveDay": "MON", 
      "startTime": "08:00", 
      "endTime": "18:00" 
    }, 
    { 
      "effectiveDay": "TUE", 
      "startTime": "08:00", 
      "endTime": "18:00" 
    }, 
    { 
      "effectiveDay": "WED", 
      "startTime": "08:00", 
      "endTime": "18:00" 
    }, 
    { 
      "effectiveDay": "THU", 
      "startTime": "08:00", 
      "endTime": "18:00" 
    }, 
    { 
      "effectiveDay": "FRI", 
      "startTime": "08:00", 
      "endTime": "18:00" 
    }, 
    { 
      "effectiveDay": "SAT", 
      "startTime": "08:00", 
      "endTime": "18:00" 
    }, 
    { 
      "effectiveDay": "SUN", 
      "startTime": "08:00", 
      "endTime": "18:00" 
    } 
  ] 
}
		

Field Details:

  • weekDayEffective

    Description: Specifies the day of the week where card usage is allowed.

  • timeEffectiveStart

    Description: Specifies the start time in the day when card usage is allowed.

  • timeEffectiveEnd

    Description: Specifies the end time in the day when payments no longer will be allowed. Define allowed business hours for payment based on time zone. The request level time zone will apply to BUS rule.

RULE NAME: Block business services merchants

Rule Code Rule Description Overridable Override Limit Notes
BUSS Blocks transactions to merchant category codes (MCCs) with business services. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "BUSS" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Allow merchants by Card Acceptor Code

Rule Code Rule Description Overridable Override Limit Notes
CAID Restricts transactions to only merchants with a specified card acceptor ID (CAID).  Yes 15

Multiple groups of the Acquiring Institution ID and corresponding Card Acceptor ID values are allowed.

Duplicate CAID values within the same Acquiring ID are not allowed.

Duplicate CAID values across different Acquiring IDs are allowed.

Special characters are not allowed.

CAID and CAIDB cannot be used together due to conflicting rule nature.

Rule Request: This request is for CAID with acquiring Ids. User can specify only one or multiple card acceptor codes without acquiring Ids.

{ 
  "code": "CAID", 
  "cardAcceptorDetails": [ 
    { 
      "acquiringInstitutionId": "465025", 
      "cardAcceptorCodes": [ 
        "985468212", 
        "459846525", 
        "96XD24522" 
      ] 
    }, 
    { 
      "acquiringInstitutionId": "7650256", 
      "cardAcceptorCodes": [ 
        "185468212", 
        "359846525", 
        "P6XD24522", 
        "674468212", 
        "3598PWD25", 
        "Z7B224522" 
      ] 
    }, 
    { 
      "acquiringInstitutionId": "6650256", 
      "cardAcceptorCodes": [ 
        "385468212", 
        "L59846525" 
      ] 
    }, 
    { 
      "cardAcceptorCodes": [ 
        "54DEFG54SDF", 
        "T87651SDSDF6876", 
        "5WEA6S4A6S8D4", 
        "WER86465S46", 
        "WE651WE6SA", 
        "SDF68764ASEA", 
        "AS4S65468664", 
        "64654AWEA65" 
      ] 
    } 
  ] 
}
		

Field Details:

  • acquiringInstitutionId
    • Optional
    • 11 numeric characters
    • Cannot be left blank
    • Cannot be duplicated
    • Description: Numeric value used to identify the acquiring institution.
  • cardAcceptorCodes
    • 15 alphanumeric characters
    • Cannot be left blank. At least one CAID value is required.
    • Maximum of 200 values, including Acquiring IDs, are allowed.
    • Description: Acquirer-assigned code that identifies the card acceptor for the transaction. It can represent a merchant, a merchant location, or a merchant location terminal.

RULE NAME: Block general contractor service merchants

Rule Code Rule Description Overridable Override Limit Notes
CNTR Blocks transactions to MCCs with General Contractor Services. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "CNTR" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block government service merchants

Rule Code Rule Description Overridable Override Limit Notes
GOV Blocks transactions to MCCs with Government Services. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "GOV" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block retail merchants

Rule Code Rule Description Overridable Override Limit Notes
RETL Blocks transactions to MCCs with Retail Outlet Services. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "RETL" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Allow transaction amount value range

Rule Code Rule Description Overridable Override Limit Notes
TOLRNC Establishes a tolerance range for transactions. Transactions with an amount outside the tolerance range will be blocked.  Yes 1 The specified amount limit must be within the configured amount. Decimals are allowed. The minAmount must be less than or equal to maxAmount.

Rule Request:

{
  "code": "TOLRNC"
  "minAmount": "600",
  "maxAmount": "800"
}
		

Field Details:

  • minAmount

    Description: Start amount of the range for payment amount.

  • maxAmount

    Description: End amount of the range for payment amount. The request level currency will apply to this amount level.

RULE NAME: Allow exact purchase amounts

Rule Code Rule Description Overridable Override Limit Notes
VPAS Exact match rule.  Yes 200

The specified amount limit must be within the configured amount range. 

Decimals are allowed.

If using exact match rule (VPAS) and it has been consumed; account is set to blocked status so no new amount can be authorized. The card will still be active but no transactions will be authorized.

Exact match controls are updated when authorization reversal transactions are received by VisaNet for a previously approved authorization transaction. 

When the entire amount of the authorization transaction is reversed, the exact match control is reactivated. When a partial amount of the authorization transaction is reversed, the exact match control is not reactivated. 

Exact match controls will not be updated if the authorization transaction being reversed occurred prior to a rule refresh or reset by the client or the system for recurring controls."

Rule Request:

{ 
  "code": "VPAS", 
  "amountValue": [ 
    "700", 
    "800", 
    "900" 
  ] 
}

		

Field Details:

amountValue

Description: Specifies the exact amount value of the transaction to be allowed. The request-level currency will apply to this amount value. You can apply more than one VPAS amount.

RULE NAME: Block professional services and member organizations

Rule Code Rule Description Overridable Override Limit Notes
PROF Blocks transactions to MCCs with Professional Services and Membership Organizations. No N/A MCG rules can either allow or block all transactions within the MCG(s). You must specify Allow or Block as a value in the mcgRuleAction field. If no value is specified, Block will be assumed.

Rule Request:

{
  "code": "PROF" 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Block merchants by their category code

Rule Code Rule Description Overridable Override Limit Notes
MCCB Blocks all transactions within a specified range of MCCs. Yes 15
  • Maximum 15 ranges.
  • To specify a single MCC, provide minMCC and maxMCC as the same value.
  • MCCB cannot be used with any "Allow" MCG rules or with MCCX rule.

Rule Request:

{ 
  "code": "MCCB", 
  "mccRanges": [ 
    { 
      "minMCC": "1300", 
      "maxMCC": "2000" 
    }, 
    { 
      "minMCC": "2100", 
      "maxMCC": "2500" 
    } 
  ]
}
		

Field Details:

  • minMCC
    • minMCC must be less than or equal to maxMCC.
    • Each MCC value must be between 0 and 9999.
    • Description: Provides the start MCC value of the range.
  • maxMCC
    • Each MCC value must be between 0 and 9999.
    • Description: Provides the end MCC value of the range.

RULE NAME: Block states (applicable for United States of America)

Rule Code Rule Description Overridable Override Limit Notes
DOMB Blocks card-present transactions at the state level. Yes 1 The specified state codes must be valid. DOMB and DOM cannot be used together due to conflicting rule nature. The rule supports blocking purchases within a single state for an account.

Rule Request:

{
  "code": "DOMB",
  "stateCodes": [ 
    "15"
  ]
}
		

Field Details:

  • stateCodes*
    • Type: string
    • Description: Only applicable for United States of America. For 50 states in the USA, the Federal Information Processing Standards (FIPS) numeric codes are used. For outlying areas of United States, freely associated states, and individual minor outlying island territories, refer to the rule description document under States Codes.

RULE NAME: Block merchants by Card Acceptor Code

Rule Code Rule Description Overridable Override Limit Notes
CAIDB Blocks Card Acceptor Codes.  Yes 1

Multiple groups of the Acquiring Institution ID and corresponding Card Acceptor ID values are allowed.

Duplicate CAID values within the same Acquiring ID are not allowed.

Duplicate CAID values across different Acquiring IDs are allowed.

Special characters are not allowed.

CAID and CAIDB cannot be used together due to conflicting rule nature.

Rule Request: This request is for CAID with acquiring Ids. User can specify only one or multiple card acceptor codes without acquiring Ids.

{ 
  "code": "CAIDB", 
  "cardAcceptorDetails": [ 
    { 
      "acquiringInstitutionId": "465025", 
      "cardAcceptorCodes": [ 
        "985468212", 
        "459846525", 
        "96XD24522" 
      ] 
    }, 
    { 
      "acquiringInstitutionId": "7650256", 
      "cardAcceptorCodes": [ 
        "185468212", 
        "359846525", 
        "P6XD24522", 
        "674468212", 
        "3598PWD25", 
        "Z7B224522" 
      ] 
    }, 
    { 
      "acquiringInstitutionId": "6650256", 
      "cardAcceptorCodes": [ 
        "385468212", 
        "L59846525" 
      ] 
    }, 
    { 
      "cardAcceptorCodes": [ 
        "54DEFG54SDF", 
        "T87651SDSDF6876", 
        "5WEA6S4A6S8D4", 
        "WER86465S46", 
        "WE651WE6SA", 
        "SDF68764ASEA", 
        "AS4S65468664", 
        "64654AWEA65" 
      ] 
    } 
  ] 
}
		

Field Details:

  • acquiringInstitutionId
    • Optional
    • 11 numeric characters
    • Cannot be left blank
    • Cannot be duplicated
    • Description: Numeric value used to identify the acquiring institution.
  • cardAcceptorCodes
    • 15 alphanumeric characters
    • Cannot be left blank. At least one CAID value is required.
    • Maximum of 200 values, including Acquiring IDs, are allowed.
    • Description: Acquirer-assigned code that identifies the card acceptor for the transaction. It can represent a merchant, a merchant location, or a merchant location terminal.

RULE NAME: Allow merchants by their category code

Rule Code Rule Description Overridable Override Limit Notes
MCCX Allows all transactions within a specified range of MCCs. Yes 15
  • Maximum 15 ranges.
  • To specify a single MCC, provide minMCC and maxMCC as the same value.
  • MCCX cannot be used with any MCG rules or with MCCB rule.

Rule Request:

{ 
  "code": "MCCX", 
  "mccRanges": [ 
    { 
      "minMCC": "1300", 
      "maxMCC": "2000" 
    }, 
    { 
      "minMCC": "2100", 
      "maxMCC": "2500" 
    } 
  ]
}
		

Field Details:

  • minMCC
    • Each MCC value must be between 0 and 9999.
    • minMCC must be less than or equal to maxMCC.
    • Description: Start MCC value of the range.

  • maxMCC
    • Each MCC value must be between 0 and 9999.
    • Description: End MCC value of the range.

RULE NAME: Allow currencies

Rule Code Rule Description Overridable Override Limit Notes
TCUX Allows a specified currency. Yes 10 None.

Rule Request:

{ 
  "code": "TCUX", 
  "currencyCodes": [ 
    "840", 
    "036" 
  ] 
}
		

Field Details:

  • currencyCodes*
    • Type: 3-digit number
    • Maximum of 10 currencies.
    • Description: ISO currency codes.

RULE NAME:

Rule Code Rule Description Overridable Override Limit Notes
ACCB Allow clients to block all authorization transactions on an account. No N/a None.

Rule Request:

{ 
  "code": "ACCB", 
}
		

Field Details:

  • code*
    • Pattern: '^[a-zA-Z0-9]{1,10}$'
    • Type: string
    • Description: Specifies the VPC rule code

RULE NAME: Spend policy type restriction

Rule Code Rule Description Overridable Override Limit Notes
SPP This is the Spend Policy Rule used to set the maximum spending amount and number of authorizations for a date range or recurring payment for merchant category groups (MCGs) or merchant category code (MCC) ranges.  Yes 10

The Spend Policy (for each policy) balance is updated when authorization reversal transactions are received by VisaNet for a previously approved authorization transaction. 

  • When the entire amount of the authorization transaction is reversed, the Spend Policy balance is increased by the reversed amount. The consumed Spend Policy transaction count is decreased by one transaction.
  • When a partial amount of the authorization transaction is reversed, the Spend Policy balance is increased by the reversed amount. There is no impact to the Spend Policy transaction count if a partial amount is reversed. 

The Spend Policy balance is not updated if the authorization transaction being reversed occurred before a rule refresh or reset by the client or system for recurring controls.

The SPP rule supports maximum of 10 different spend policies.

Rule Requests:

{ 
  "code": "SPP", 
  "policyDetails": [
    {
      "spendLimitAmount": "1000", 
      "maxAuth": "10", 
      "rangeType": "DAILY", 
      "accumulatedSpendResetIndicator": "YES", 
      "merchantCategoryGroups": [
        "AIR",
        "HOT"
      ],
      "merchantCategoryRanges": [
      ]
    }
  ]
}
		
{ 
  "code": "SPP", 
  "policyDetails": [
    {
      "spendLimitAmount": "1000", 
      "maxAuth": "10", 
      "rangeType": "MONTHLY", 
      "accumulatedSpendResetIndicator": "YES", 
      "merchantCategoryGroups": [
        "AIR",
        "HOT"
      ],
      "merchantCategoryRanges": [
      ]
    }
  ]
}
		
{ 
  "code": "SPP", 
  "policyDetails": [
    {
      "spendLimitAmount": "1000", 
      "maxAuth": "10", 
      "rangeType": "WEEKLY",
      "dayOfTheWeek": "MON",
      "accumulatedSpendResetIndicator": "YES", 
      "merchantCategoryGroups": [
        "AIR",
        "HOT"
      ],
      "merchantCategoryRanges": [
      ]
    }
  ]
}
		
{ 
  "code": "SPP", 
  "policyDetails": [
    {
      "spendLimitAmount": "1000", 
      "maxAuth": "10", 
      "rangeType": "RECURRING",
      "recurringDay": "5",
      "accumulatedSpendResetIndicator": "YES", 
      "merchantCategoryGroups": [
        "AIR",
        "HOT"
      ],
      "merchantCategoryRanges": [
      ]
    }
  ]
}
		
{ 
  "code": "SPP", 
  "policyDetails": [
    {
      "spendLimitAmount": "1000", 
      "maxAuth": "10", 
      "rangeType": "QUARTERLY",
      "dayOfTheQuarter": "88",
      "accumulatedSpendResetIndicator": "YES", 
      "merchantCategoryGroups": [
      ],
      "merchantCategoryRanges": [
        {
          "minMCC": "1000",
          "maxMCC": "2000"
        }
      ]
    }
  ]
}
		
{ 
  "code": "SPP", 
  "policyDetails": [
    {
      "spendLimitAmount": "1000", 
      "maxAuth": "10", 
      "rangeType": "YEARLY",
      "dayOfTheYear": "300",
      "accumulatedSpendResetIndicator": "YES", 
      "merchantCategoryGroups": [
      ],
      "merchantCategoryRanges": [
        {
          "minMCC": "1000",
          "maxMCC": "2000"
        }
      ]
    }
  ]
}
		

Field Details:

  • spendLimitAmount
    • Cannot be blank.
    • Decimals are allowed.
    • Description: Specifies the amount limit to be set (per policy group).
  • maxAuth
    • If value is zero, there is no limit.
    • Description: Specifies the number of authorizations that can be performed (per policy group).
  • dayOfTheWeek

    If rangeType equals WEEKLY, the dayOfTheWeek must be provided to refresh the rule on that day of the week.

    Valid values:

    • MON
    • TUE
    • WED
    • THU
    • FRI
    • SAT
    • SUN
  • recurringDay
    • Must be a day in a month.
    • Allowed value: 1-28.
    • If rangeType equals RECURRING, the recurringDay must be provided to refresh the rule on that day of the week.
  • dayOfTheQuarter
    • Must be a day in a quarter.
    • Allowed value: 1-88.
    • Description: If rangeType equals QUARTERLY, the dayOfTheQuarter must be provided to refresh the rule on that day of the week.
  • dayOfTheYear
    • Must be a day in a year.
    • Allowed value: 1-365.
    • Description: If rangeType equals YEARLY, the dayOfTheYear must be provided to refresh the rule on that day of the week.
  • rangeType

    Description: Specifies the rule refresh criteria. Must be one of these values:

    • DAILY - recurring - funds are set on daily basis.
    • WEEKLY - recurring - funds are set on x day of the week.
    • MONTHLY - recurring - funds are set the 1st day of the month.
    • RECURRING - recurring - funds are set the x day of the month.
    • QUARTERLY - recurring - funds are set the x day of the quarter.
    • YEARLY - recurring - funds are set the x day of the year.
  • accumulatedSpendResetIndicator

    Description: Specifies if the rule updates the accrual data or keeps it.

    • NO - updates the rule data keeping the accrual data as is.
    • YES - updates the rule data and the accrual data and starts the accruals fresh.
  • merchantCategoryGroups
    • Merchant Category Groups must be valid as per merchant groups. user can specify max 10 groups in every spend policy group.
    • Description: Array of merchant category groups.
  • merchantCategoryRanges
    • Merchant Category ranges must be valid as per 4 digit ranges and should not overlap between any f the policies. User can specify max 10 ranges in every spend policy group.
    • Description: Array of merchant category ranges.
  • minMCC

    Description: Specifies start MCC range.

  • maxMCC

    Description: Specifies end MCC range.

  • consumedAmount

    Description: Specifies the consumed transaction amount (read-only field).

  • consumedAuthCount

    Description: Specifies the consumed transaction count (read-only field).

  • The request level timeZone is applicable for all rules including SPP. timeZone is an optional field and the default value for timeZone is GMT. 
  • The request level startDate and endDate is applicable for all rules including SPP. startDate and endDate both are optional fields and must be in the MM/DD/YYYY format.
  • The default value for startDate is current GMT date time. endDate must be greater than startDate if specified.
  • If endDate is not specified the rule will be refresh indefinitely as per the rangeType.