Visa B2B Payment Controls Rule Codes

This table shows rule codes for Visa B2B Payment Controls.  These can be configured within the Controls Management Service.

  • For amount fields, there is a maximum of 12 digits allowed. This 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 future start date.
Sr. No. Rule Code Rule Description Overridable Override Limit Rule Request Fields and Details Notes
1 ADT

Rule name: Block adult theme merchants 

This rule blocks all transactions at adult-themed merchants.

No NA

    "code": "ADT" 
}

Field: code* 

pattern: '^[a-zA-Z0-9]{3,10}$' 
type: string 
description: Specifies the VPC rule code

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.

 

 

2

 

 

 

 

AIR

 

 

 

 

Rule name: Block airline merchants 
This rule blocks all transactions at airline merchants.

 

 

 

 

No

 

 

 

 

NA

 

 

 

 


    "code": "AIR" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

3

 

 

 

 

ALC

 

 

 

 

Rule name: Block alcohol merchants 
This rule blocks all transactions at alcohol merchants.

 

 

 

 

No

 

 

 

 

NA

 

 

 

 


    "code": "ALC" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

4

 

 

 

 

AUTO

 

 

 

 

This rule blocks all transactions at auto rental merchants.

 

 

 

 

No

 

 

 

 

NA

 

 

 

 


    "code": "AUTO" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

5

 

 

 

 

BUSS

 

 

 

 

Rule name: Block business services merchants 
This rule blocks transactions to merchant category codes (MCCs) with business services.

 

 

 

 

No

 

 

 

 

NA

 

 

 

 


    "code": "BUSS" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

6

 

 

 

 

CLOTH

 

 

 

 

Rule name: Block cloth merchants 
This rule blocks all transactions at general retail merchants.

 

 

 

 

No

 

 

 

 

NA

 

 

 

 


    "code": "CLOTH" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

7

 

 

 

 

ELEC

 

 

 

 

Rule name: Block electronics merchants 
This rule blocks all transactions at electronics merchants.

 

 

 

 

No

 

 

 

 

NA

 

 

 

 


    "code": "ELEC" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

8

 

 

 

 

ENT

 

 

 

 

Rule name: Block entertainment merchants 
This rule blocks all entertainment-related merchants.

 

 

 

 

No

 

 

 

 

NA

 

 

 

 


    "code": "ENT" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

9

 

 

 

 

FUEL

 

 

 

 

Rule name: Block fuel merchants 
This rule blocks all transactions at fuel merchants.

 

 

 

 

No

 

 

 

 

NA

 

 

 

 


    "code": "FUEL" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

10

 

 

 

 

GORC

 

 

 

 

Rule name: Block grocery states and pharmacies merchants 
This rule blocks all trasactions at grocery merchants.

 

 

 

 

No

 

 

 

 

NA

 

 

 

 


    "code": "GORC" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

11

 

 

 

 

GTM

 

 

 

 

Rule Name: Block ground transportation merchant 
This rule blocks all transactions at ground transportation merchants.

 

 

 

 

No

 

 

 

 

N/A

 

 

 

 


    "code": "GTM" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

12

 

 

 

 

HOT

 

 

 

 

Rule Name: Block hotel merchants 
This rule blocks all transactions at hotel-related merchants.

 

 

 

 

No

 

 

 

 

N/A

 

 

 

 


    "code": "HOT" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

13

 

 

 

 

JEWL

 

 

 

 

Rule Name: Block jewelry merchants 
This rule blocks all transactions at jewelry merchants.

 

 

 

 

No

 

 

 

 

N/A

 

 

 

 


    "code": "JEWL" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

14

 

 

 

 

MED

 

 

 

 

Rule Name: Block general retail merchants 
This rule blocks transactions at general retail merchants.

 

 

 

 

No

 

 

 

 

N/A

 

 

 

 


    "code": "MED" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

15

 

 

 

 

MISC

 

 

 

 

Rule Name: Block fast food merchants 
This rule blocks all transactions at fast food merchants.

 

 

 

 

No

 

 

 

 

N/A

 

 

 

 


    "code": "MISC" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

16

 

 

 

 

OSS

 

 

 

 

Rule Name: Block office supply merchants 
This rule blocks all transactions at office supply merchants.

 

 

 

 

No

 

 

 

 

N/A

 

 

 

 


    "code": "OSS" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

17

 

 

 

 

QSR

 

 

 

 

Rule Name: Block fast food merchants 
This rule blocks all transactions at fast food merchants.

 

 

 

 

No

 

 

 

 

N/A

 

 

 

 


    "code": "QSR" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

18

 

 

 

 

REST

 

 

 

 

Rule Name: Block restaurant merchants 
This rule blocks all transactions at restaurant merchants.

 

 

 

 

No

 

 

 

 

N/A

 

 

 

 


    "code": "REST" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

19

 

 

 

 

UTIL

 

 

 

 

Rule Name: Block utility merchants 
This rule blocks all transactions at utilities merchants.

 

 

 

 

No

 

 

 

 

N/A

 

 

 

 


    "code": "UTIL" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

20

 

 

 

 

DOM

 

 

 

 

Rule Name: Allow states (applicable for United States of America) 
This rule blocks all transactions outside of the selected state (USA only).  

 

 

 

 

Yes

 

 

 

 

1

 

 

 

 


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

 

 

 

 

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.

 

 

 

 

The specified state codes must be valid. 
DOM and DOMB cannot be used together. Only one should be specified due to conflicting rule nature. 
Note: The rule supports allowing purchases within a single state for an account.

 

 

 

 

21

 

 

 

 

XBR

 

 

 

 

Rule Name: Block cross border transactions 
This rule blocks all cross-border transactions.

 

 

 

 

No

 

 

 

 

N/A

 

 

 

 


    "code": "XBR" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

XBR and XBRA should not be used at the same time due to conflicting rule nature.

 

 

 

 

22

 

 

 

 

XBRA

 

 

 

 

Rule Name: Cross border transactions with amount limit 
Cross-border transaction restrictions with amount limits

 

 

 

 

Yes

 

 

 

 

1

 

 

 

 


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

 

 

 

 

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

 

 

 

 

Decimals are allowed. 
XBRA and XBR should not be used at the same time due to conflicting rule nature. 
Note: Any amounts greater than or equal to the amount specified will be declined.

 

 

 

 

23

 

 

 

 

XBRB

 

 

 

 

Rule Name: Block counties 
This rule blocks all transactions in the selected countries.

 

 

 

 

Yes

 

 

 

 

10

 

 

 

 


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

 

 

 

 

countries type: array 
description: Specifies the code(s) for the list of countries to be blocked for transactions.

 

 

 

 

The country codes must be valid. 
XBRB and XBRX cannot be used together. Only one should be specified due to conflicting rule nature.

 

 

 

 

24

 

 

 

 

XBRX

 

 

 

 

Rule Name: Allow countries 
This rule blocks transactions in all EXCEPT the selected countries.

 

 

 

 

Yes

 

 

 

 

10

 

 

 

 


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

 

 

 

 

countries type: array 
description: Specifies the code(s) for the list of countries to be blocked for transactions.

 

 

 

 

The country codes must be valid. 
XBRX and XBRB cannot be used together. Only one should be specified due to conflicting rule nature.

 

 

 

 

25

 

 

 

 

EAM

 

 

 

 

Rule Name: Block ecommerce transaction over the amount limit 
This rule blocks all e-commerce transactions above a specific amount. 

 

 

 

 

Yes

 

 

 

 

1

 

 

 

 


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

 

 

 

 

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

 

 

 

 

Decimals are allowed. 
You cannot use EAM and ECOM at the same time due to conflicting rule nature. 
Note: Any amounts greater than or equal to the amount specified will be declined.

 

 

 

 

26

 

 

 

 

ECOM

 

 

 

 

Rule Name: Block ecommerce transaction 
This rule blocks all e-commerce transactions. 

 

 

 

 

No

 

 

 

 

N/A

 

 

 

 


    "code": "ECOM" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

You cannot use ECOM and EAM at the same time due to conflicting rule nature.

 

 

 

 

27

 

 

 

 

CNP

 

 

 

 

Rule Name: Block card-not-present transactions 
This rule blocks all card-not-present transactions.

 

 

 

 

No

 

 

 

 

N/A

 

 

 

 


    "code": "CNP" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

28

 

 

 

 

ATM

 

 

 

 

Rule Name: Block ATM cash disbursement 
This rule blocks all ATM cash disbursement transactions. 

 

 

 

 

No

 

 

 

 

N/A

 

 

 

 


    "code": "ATM" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

ATM and ATML rule should not be used together due to conflicting rule nature.

 

 

 

 

29

 

 

 

 

ATML

 

 

 

 

Rule Name: ATM cash disbursement amount limit 
This rule prevents ATM cash disbursment transactions above a specific amount.

 

 

 

 

Yes

 

 

 

 

1

 

 

 

 


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

 

 

 

 

amountValue - Specifies the amount value limit for each cash disbursement from ATM.

 

 

 

 

Decimals are allowed. 
ATML and ATM rule should not be used together due to conflicting rule nature. 
Note: Any amounts greater than or equal to the amount specified will be declined.

 

 

 

 

30

 

 

 

 

SPV

 

 

 

 

Rule Name: Spend velocity type restriction 
This is the Spend Velocity Rule.  Use this rule to set the maximum spending amount and number of authorizations for a date range or recurring payment. 

 

 

 

 

Yes

 

 

 

 

1

 

 

 

 


    "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" 
    } 
}

 

 

 

 

1. spendLimitAmount - Specifies the amount limit to be set on the card.  
2. maxAuth - Specifies the number of authorizations that can be performed.  
3. startDate - In case of DATERANGE, the start date must be provided in MM/DD/YYYY format.  
Note: This rule will be set in near-real time. Also, startDate supports future dates. 
4. endDate - In case of DATERANGE, the end date must be provided in MM/DD/YYYY format.  
5. recurringDay - In case of RECURRING, the recurring day must be provided to refresh the rule on that day of the month. 
6. dayOfTheWeek - When WEEKLY is chosen, the day of the week must be provided to refresh the rule on that day of the week. 
7. thresholdAmount- In case of notifyOption once or every time, the threshold amount must be provided.  
8. notifyOption - Specifies if the notification must be sent when the set threshold amount is met (once or every time).  
9. rangeType - Specifies the rule refresh criteria. There are 5 options:  
Recurring day (recurring - funds are set on x day of the month) 
Monthly (recurring - funds are set the 1st day of the month) 
Date Range (spend only accessible during defined date range) 
Note:  Post expiration, the account will be open if no other rules are applied. 
Weekly (recurring - funds are set on  x day of the week) 
Daily (recurring - funds are set at the beginning of each day) 
10. updateFlag - Specifies if the rule update must update the accrual data or keep it. 
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.  
11. consumedAmount - Specifies the consumed transaction amount (read-only field).  
12. consumedAuthCount - Specifies the consumed transaction count (read-only field). 
13. spendLimitAmountTolerance- This option will allow 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. 
 

 

 

Note: The request level timezone is applicable for all rules including SPP. Timezone is optional field and the default value for timezone is GMT. 

 

 

Note: The request level startDate and endDate is applicable for all rules including SPV. startDate and endDate both are optional fields and required only if the rangeType is DATERANGE 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 

 

 

 

 

spendLimitAmount cannot be blank. Decimals are allowed. 
If the maxAuth value is zero, there is no limit.  
startDate and endDate must be in the MM/DD/YYYY format (For February - day fields can only be 1-28). These fields are be present at request level and applicable for all rules including SPV.

 

 

startDate and endDate are mandatory when the range type is specified as DATERANGE. 
The startDate can accept the current and future date only; however if the start date is todays date then rule will be effective immediately. 

 

 

 
The recurring day must be a day in a month. Allowed value 1-28. This field must be present when the range type selected is RECURRING.  
The dayOfTheWeek must be one of these values: 
MON 
TUE 
WED 
THU 
FRI 
SAT 
SUN 
This field must be present when the rangetype is WEEKLY. 
 
thresholdAmount is the percentage value of the amount. Should be between 1 - 100. This field must be present when the notifyOption field's value is either ONCE or EVERYTIME.  
notifyOption must be one of these values: 
NONE  
ONCE 
EVERYTIME 
 
The notify option field allows you to specify if a notification should be sent when the threshold amount is met. 
The threshold is a percentage of spend amount. 
 
Range types must be one of these values: 
DATERANGE  
RECURRING 
MONTHLY  
WEEKLY 
DAILY 
 
updateFlag must be one of these values:  
UPDATE 
REPLACE 
 
Note: The SPV Rule will be renewed (or terminated in the case of Date Range) after the end date. This is based on the timeZone and respective range type. 
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 occured before a rule refresh or reset by the client or system for recurring controls. 
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.

 

 

 

 

31

 

 

 

 

NOC

 

 

 

 

Rule Name: Block all other cash access transactions 
This rule blocks all other cash access transactions.

 

 

 

 

No

 

 

 

 

N/A

 

 

 

 


    "code": "NOC" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

32

 

 

 

 

PUR

 

 

 

 

Rule Name: Purchase amount limit 
This rule places a purchase amount limit on the card. 

 

 

 

 

Yes

 

 

 

 

1

 

 

 

 


    "code": "PUR", 
    "amountValue": "200" 
}

 

 

 

 

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

 

 

 

 

Decimals are allowed.

 

 

 

 

33

 

 

 

 

BUS

 

 

 

 

Rule Name: Allow transaction in business hours 
This rule 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

 

 

 

 


    "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" 
        } 
    ] 
}

 

 

 

 

weekDayEffective - Specifies the day of the week where card usage is allowed. 
timeEffectiveStart - Specifies the start time in the day when card usage is allowed. 
timeEffectiveEnd - Specifies the end time in the day when payments no longer will be allowed. 
Note:  Define allowed business hours for payment based on time zone. 
Note:  The request level timezone will apply to BUS rule.

 

 

 

 

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.

 

 

 

 

34

 

 

 

 

BUSS

 

 

 

 

Rule Name: Block business services merchants 
This rule blocks transactions to merchant category codes (MCCs) with business services.

 

 

 

 

No

 

 

 

 

N/A

 

 

 

 


    "code": "BUSS" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

35

 

 

 

 

CAID

 

 

 

 

Rule Name: Allow merchants by Card Acceptor Code 
This rule restricts transactions to only merchants with a specified card acceptor ID (CAID). 

 

 

 

 

Yes

 

 

 

 

15

 

 

 

 


    "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" 
            ] 
        } 
    ] 

 
The above mention request is for CAID with acquiring Ids. user can specify only one or multiple card acceptor codes without acquiring ids

 

 

 

 

"The Acquiring Institution ID is a numeric value used to identify the acquring institution.  
Card Acceptor ID is an acquirer-assigned code that identifies the card acceptor for the transaction. It can represent a merchant, a merchant location or a merchant location terminal.  
Note:  At least one (1) CAID value is required. A maximum of 200 values, including Acquiring IDs, are allowed.  
There can be multiple groups of the Acquiring Institution ID and corresponding Card Acceptor Institution ID values. " 
Card Acceptor ID is an acquirer-assigned code that identifies the card acceptor for the transaction. It can represent a merchant, a merchant location or a merchant location terminal. 

 

 

 

 

Acquiring Institution ID has these attributes:  
 
Optional  
11 numeric characters 
Cannot be left blank 
Cannot be duplicated 
 
Card Acceptor ID has these attributes:  
 
15 alphanumeric characters 
Cannot be left blank 
Duplicate CAID values within the same Acquiring ID is 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.

 

 

 

 

36

 

 

 

 

CNTR

 

 

 

 

Rule Name: Block general contractor service merchants 
This rule blocks transactions to MCCs with General Contractor Services.

 

 

 

 

No

 

 

 

 

N/A

 

 

 

 


    "code": "CNTR" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

37

 

 

 

 

GOV

 

 

 

 

Rule Name: Block government service merchants 
This rule blocks transactions to MCCs with Government Services.

 

 

 

 

No

 

 

 

 

N/A

 

 

 

 


    "code": "GOV" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

38

 

 

 

 

RETL

 

 

 

 

Rule Name: Block retail merchants 
This rule blocks transactions to MCCs with Retail Outlet Services.

 

 

 

 

No

 

 

 

 

N/A

 

 

 

 


    "code": "RETL" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

39

 

 

 

 

TOLRNC

 

 

 

 

Rule Name: Allow transaction amount value range 
This rule establishes a tolerance range for transactions. Transactions with an amount outside the tolerance range will be blocked. 

 

 

 

 

Yes

 

 

 

 

1

 

 

 

 


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

 

 

 

 

minValue - Specifies the start amount of the range for payment amount. 
maxValue - Specifies the end amount of the range for payment amount. 
Note:  The request level currency will apply to this amount value.

 

 

 

 

The specified amount limit must be within the configured amount.  
Decimals are allowed. 
The minAmount must be less than or equal to maxAmount.

 

 

 

 

40

 

 

 

 

VPAS

 

 

 

 

Rule Name: Allow exact purchase amounts 
This is the Exact Match rule. 

 

 

 

 

Yes

 

 

 

 

200

 

 

 

 


    "code": "VPAS", 
    "amountValues": [ 
        "700", 
        "800", 
        "900" 
    ] 
}

 

 

 

 

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

 

 

 

 

The specified amount limit must be within the configured amount range.  
Decimals are allowed. 
 
Note:  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 trasaction 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." 
 
Decimals are allowed. 
 
Note:  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.

 

 

 

 

41

 

 

 

 

PROF

 

 

 

 

Rule Name: Block professional services and member organizations 
This rule blocks transactions to MCCs with Professional Services and Membership Organizations.

 

 

 

 

No

 

 

 

 

N/A

 

 

 

 


    "code": "PROF" 
}

 

 

 

 

Field: code* 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

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.

 

 

 

 

42

 

 

 

 

MCCB

 

 

 

 

Rule Name: Block merchants by their category code 
This rule blocks all transactions within a specified range of MCCs. 

 

 

 

 

Yes

 

 

 

 

15

 

 

 

 


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

 

 

 

 

minMCC - Provides the start MCC value of the range. 
maxMCC - Provides the end MCC value of the range. 
Note:  To specify single MCC, provide minMCC and maxMCC as same value.

 

 

 

 

Maximum 15 ranges. 
Each MCC value must be between 0 to 9999. 
minMCC must be less than or equal to maxMCC. 
MCCB cannot be used with any "Allow" MCG rules or with MCCX rule

 

 

 

 

43

 

 

 

 

DOMB

 

 

 

 

Rule Name: Block states (applicable for United States of America) 
This rule blocks card-present transactions at the state-level

 

 

 

 

Yes

 

 

 

 

1

 

 

 

 


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

 

 

 

 

stateCodes*: 
type: string 
description: Only applicable for the United States of America. For the 50 states in the USA, FIPS numeric codes are used. For outlying areas of the USA, freely associated states, and individual outlying island territories, refer to the rule description document under States Codes. 

 

 

 

 

The specified state codes must be valid.  
DOMB and DOM cannot be used together due to conflicting rule nature. 
Note: The rule supports blocking purchases within a single state for an account.

 

 

 

 

44

 

 

 

 

CAIDB

 

 

 

 

Rule Name: Block merchants by Card Acceptor Code 
This rules blocks Card Acceptor Codes

 

 

 

 

 Yes

 

 

 

 

 1

 

 

 

 


    "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" 
            ] 
        } 
    ] 

 
The above mention request is for CAID with acquiring Ids. user can specify only one or multiple card acceptor codes without acquiring ids

 

 

 

 

The Acquiring Institution ID is a numeric value used to identify the acquring institution.  
Card Acceptor ID is an acquirer-assigned code that identifies the card acceptor for the transaction. It can represent a merchant, a merchant location or a merchant location terminal.  
At least one (1) CAID value is required. A maximum of 200 values, including Acquiring IDs, are allowed.  
There can be multiple groups of the Acquiring Institution ID and corresponding Card Acceptor Institution ID values. 

 

 

 

 

Acquiring Institution ID has these attributes:  
 
Optional  
11 numeric characters 
Cannot be left blank 
Cannot be duplicated 
 
Card Acceptor ID has these attributes:  
 
15 alphanumeric characters 
Cannot be left blank 
Duplicate CAID values within the same Acquiring ID is 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.

 

 

 

 

45

 

 

 

 

MCCX

 

 

 

 

Rule Name: Allow merchants by category code  
This rule allows all transactions within the specified list of MCCs.

 

 

 

 

Yes 

 

 

 

 

15

 

 

 

 


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

 

 

 

 

minMCC - Contains the start MCC value of the range. 
maxMCC - Contains the end MCC value of the range. 
Note: To specify a single MCC, provide minMCC and maxMCC as same value.

 

 

 

 

Maximum 15 ranges 
Each MCC value must be between 0-9999 
minMCC value must be less than or equal to the maxMCC value 
MCCX cannot be used with any MCG rules or with MCCB rule

 

 

 

 

46

 

 

 

 

TCUX

 

 

 

 

Rule Code: Allow currencies 
This rule allows a specified currency.

 

 

 

 

Yes

 

 

 

 

10

 

 

 

 


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

 

 

 

 

currencyCodes* 
Type: 3-digit number 
ISO currency codes 
Note: You can define up to 10 currencies.

 

 

 

 

 

 

 

 

47

 

 

 

 

ACCB

 

 

 

 

This rule will allow clients to block all authorization transactions on an account.

 

 

 

 

No

 

 

 

 

N/A

 

 

 

 


    "code": "ACCB" 
}

 

 

 

 

Code*: 
pattern: '^[a-zA-Z0-9]{1,10}$' 
type: string 
description: Specifies the VPC rule code

 

 

 

 

 

 

 

 

48

 

 

 

 

SPP

 

 

 

 

Rule Name: Spend Policy type restriction 
This is the Spend Policy Rule.  Use this rule 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 codes (MCC) ranges

 

 

 

 

Yes

 

 

 

 

10

 

 

 

 

 {

 

 

            "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"

 

 

                        } 

 

 

                    ]

 

 

 

 

 

                }

 

 

            ]

 

 

        }

 

 

 

 

 

 

 

1. spendLimitAmount - Specifies the amount limit to be set (per policy group). 

 

 

 
2. maxAuth - Specifies the number of authorizations that can be performed (per policy group). 

 

 

 
3. dayOfTheWeek - In case of WEEKLY, the dayOfTheWeek must be provided to refresh the rule on that day of the week.

 

 

 

 

 

4.recurringDay - In case of RECURRING, the recurring day must be provided to refresh the rule on that day of the month.

 

 

 

 

 

5. dayOfTheQuarter - In case of QUARTERLY, the dayOfTheQuarter must be provided to refresh the rule on that day of the quarter.

 

 

 
6. dayOfTheYear - In case of YEARLY, the dayOfTheYear must be provided to refresh the rule on that day of the year. 

 

 

 
7. rangeType - Specifies the rule refresh criteria. There are 6 options:  
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)

 

 

 
8. accumulatedSpendResetIndicator

 

 

 - Specifies if the rule update the accrual data or keep it. 
NO - updates the rule data keeping the accrual data as is.  
YES - update the rule data and the accrual data and start the accruals fresh. 

 

 

 

 

 

9. merchantCategoryGroups – Array of merchant category group

 

 

 

 

 

10. merchantCategoryRanges – Array of merchant category ranges

 

 

minMCC – Specifies start MCC range

 

 

maxMCC – Specifies end MCC range 
 

 

 

11. consumedAmount - Specifies the consumed transaction amount (read-only field).

 

 

  
12. consumedAuthCount - Specifies the consumed transaction count (read-only field). 
 
Note: The request level timezone is applicable for all rules including SPP. Timezone is optional field and the default value for timezone is GMT. 

 

 

 

 

 

Note: 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. 

 

 

 

 

spendLimitAmount cannot be blank. Decimals are allowed.

 

 

 
If the maxAuth value is zero, there is no limit.

 

 

 

 

 

The dayOfTheWeek must be one of these values: 
MON 
TUE 
WED 
THU 
FRI 
SAT 
SUN 
This field must be present when the rangetype is WEEKLY.

 

 

 

 

 

The recurringDay must be a day in a month. Allowed value 1-28. This field must be present when the range type selected is RECURRING.

 

 

 

 

 

The dayOfTheQuarter must be a day in a quarter. Allowed value between1-88. This field must be present when the range type selected is QUARTERLY.

 

 

 

 

 

The dayOfTheYear must be a day in a year. Allowed value between 1-365. This field must be present when the range type selected is YEARLY. 
 

 

 

Range types must be one of these values: 
WEEKLY 
DAILY

 

 

MONTHLY  
RECURRING

 

 

QUARTERLY

 

 

YEARLY. 
 

 

 

accumulatedSpendResetIndicator must be one of these values:  
YES

 

 

NO. 
Note: The SPP Rule will be renewed (or terminated in the case of endDate specified). This is based on the timeZone and respective range type. 
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. 
 

 

 

Merchant Category Groups must be valid as per merchant groups. user can specify max 10 groups in every spend policy group.

 

 

 

 

 

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.

 

 

The SPP rule supports maximum of 10 different spend policies.