# Visa Subscription Manager
Visa Subscription Manager can help provide cardholders with transparency, ease and control over managing their finances through their issuer’s mobile application, potentially eliminating the need to contact the issuer call center.It provides issuers a fast, easy integration to implement recurring payment management capabilities within their consumer facing applications. 

## Version: 1

### Servers

| URL | Description |
| --- | ----------- |
| https://sandbox.api.visa.com | Sandbox server |

---
## Visa Subscription Manager API
Visa Subscription Manager API bundle

### [POST] /vsps/add/merchant
**Add Merchant**

Add one or more merchant level stop instructions

#### Request Body

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"pan"**: string, **"duration"**: integer, **"startDate"**: dateTime, **"additional"**: { **"additionalNotes"**: string, **"paymentFrequency"**: string, <br>**Available values:** "One off", "Weekly", "Monthly", "Quarterly", "Biannual", "Annual", "Other" }, **"oneTimeStop"**: boolean, **"transactionAmount"**: { **"maxAmount"**: number, **"minAmount"**: number, **"exactAmount"**: number }, **"cancelSubscription"**: boolean, **"merchantIdentifiers"**: { **"grouped"**: [ { **"merchantName"**: string, **"cardAcceptorId"**: string, **"paymentFacilitator"**: { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string } } ], **"merchantNames"**: [ string ], **"cardAcceptorIds"**: [ string ], **"paymentFacilitators"**: [ { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string } ] }, **"merchantCategoryCode"**: string, **"recurringAndInstallmentIndicator"**: boolean, <br>**Default:** true }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Successful operation | **application/json**: { **"responseCode"**: string, <br>**Available values:** "00", "01", "02", **"stopInstructions"**: [ { **"result"**: { **"resultCode"**: string, **"resultMessage"**: string }, **"merchantName"**: string, **"cardAcceptorId"**: string, **"stopInstructionId"**: string, **"paymentFacilitator"**: { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string }, **"conflictingStopInstructionId"**: string } ], **"responseDescription"**: string, <br>**Available values:** "Success", "Partial Success", "Error" }<br> |
| 400 | Bad request | **application/json**: { **"guid"**: string, **"errors"**: [ { **"field"**: string, **"description"**: string } ], **"httpStatus"**: string }<br> |
| 403 | Forbidden |  |

### [POST] /vsps/search
**Search**

Search for stop instructions by PAN

#### Request Body

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"pan"**: string, **"includeInactive"**: boolean }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Successful operation | **application/json**: { **"result"**: { **"resultCode"**: string, **"resultMessage"**: string }, **"searchedStopInstructions"**: [ { **"status"**: string, <br>**Available values:** "Active", "Pending", "Expired", "Cancelled", "Unknown", **"endDate"**: date, **"startDate"**: date, **"additional"**: { **"additionalNotes"**: string, **"paymentFrequency"**: string, <br>**Available values:** "One off", "Weekly", "Monthly", "Quarterly", "Biannual", "Annual", "Other" }, **"oneTimeStop"**: boolean, **"auditInformation"**: { **"createdByUser"**: string, **"originChannel"**: string, <br>**Available values:** "User Interface", "API", "VAU", "Batch/Bulk", "System", **"updatedByUser"**: string, **"extendedByUser"**: string, **"cancelledByUser"**: string, **"updatedDateTime"**: dateTime, **"creationDateTime"**: dateTime, **"extendedDateTime"**: dateTime, **"lastUpdateChannel"**: string, <br>**Available values:** "User Interface", "API", "VAU", "Batch/Bulk", "System", **"cancellationDateTime"**: dateTime }, **"stopInstructionId"**: string, **"transactionAmount"**: { **"maxAmount"**: number, **"minAmount"**: number, **"exactAmount"**: number }, **"merchantIdentifier"**: { **"merchantName"**: string, **"cardAcceptorId"**: string, **"paymentFacilitator"**: { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string }, **"merchantCategoryCode"**: string }, **"stopInstructionType"**: string, <br>**Available values:** "Merchant", "MCC", "PAN", **"previousStopInstructionId"**: string, **"recurringAndInstallmentIndicator"**: boolean } ] }<br> |
| 400 | Bad request | **application/json**: { **"guid"**: string, **"errors"**: [ { **"field"**: string, **"description"**: string } ], **"httpStatus"**: string }<br> |
| 403 | Forbidden |  |

### [POST] /vsps/cancel
**Cancel**

Cancel multiple stop instructions

#### Request Body

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"cancelStopInstructions"**: [ string ] }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Successful operation | **application/json**: { **"responseCode"**: string, <br>**Available values:** "00", "01", "02", **"responseDescription"**: string, <br>**Available values:** "Success", "Partial Success", "Error", **"cancelledStopInstructions"**: [ { **"result"**: { **"resultCode"**: string, **"resultMessage"**: string }, **"stopInstructionId"**: string } ] }<br> |
| 400 | Bad request | **application/json**: { **"guid"**: string, **"errors"**: [ { **"field"**: string, **"description"**: string } ], **"httpStatus"**: string }<br> |
| 403 | Forbidden |  |

---
## Card-On-File Data Service API
Card-On-File Data API allows to enable digital control capabilities in Issuer’s online mobile application or web application to provide visibility to the consumers where their card (PAN)/token credentials are stored to initiate Card-On-File Data API/e-commerce transactions and where the credentials are updated in case of a card reissuance or token status updates

### [POST] /cofds-web/v1/datainfo
**Card-on-File Merchant Aggregation**

The API will return data layer aggregated at cleansed merchant name level.

#### Request Body

Card-On-File Data request query for merchants

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"requestData"**: { **"pANs"**: [ string ], **"group"**: string, <br>**Available values:** "STANDARD" }, **"requestHeader"**: { **"messageDateTime"**: string, **"requestMessageId"**: string } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Successful | **application/json**: { **"status"**: { **"statusCode"**: string, **"statusDescription"**: string }, **"responseData"**: { **"group"**: string, <br>**Available values:** "STANDARD", **"panList"**: [ { **"panData"**: { **"pAN"**: string, **"merchants"**: [ { **"mCC"**: string, **"mrchRef"**: string, **"mrchURL"**: string, **"mrchAddr"**: string, **"mrchName"**: string, **"mrchDbaId"**: string, **"lastTranAmt"**: string, **"mrchDbaName"**: string, **"mrchLogoURL"**: string, **"mrchPhoneNum"**: string, **"confidenceInd"**: string, **"tokenReqstrId"**: string, **"cardAcceptorId"**: string, **"lastMrchTranDt"**: string, **"lastTranAmtUSD"**: string, **"totalTranCount"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"vAUUpdateStatus"**: string, **"acctNumOld4Digit"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"vAULastUpdateDate"**: string, **"sponsoredMerchantId"**: string, **"lastTranBillCurrency"**: string, **"paymentFacilitatorId"**: string, **"lastTranAmtBillCurrency"**: string, **"tokenPANReplacementDate"**: string, **"tokenPANReplacementStatus"**: string } ], **"panResponseMsg"**: string } } ] }, **"responseHeader"**: { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } }<br> |
| 400 | Invalid request | **application/json**: { **"status"**: { **"statusCode"**: string, **"statusDescription"**: string }, **"responseData"**: { **"group"**: string, <br>**Available values:** "STANDARD", **"panList"**: [ { **"panData"**: { **"pAN"**: string, **"merchants"**: [ { **"mCC"**: string, **"mrchRef"**: string, **"mrchURL"**: string, **"mrchAddr"**: string, **"mrchName"**: string, **"mrchDbaId"**: string, **"lastTranAmt"**: string, **"mrchDbaName"**: string, **"mrchLogoURL"**: string, **"mrchPhoneNum"**: string, **"confidenceInd"**: string, **"tokenReqstrId"**: string, **"cardAcceptorId"**: string, **"lastMrchTranDt"**: string, **"lastTranAmtUSD"**: string, **"totalTranCount"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"vAUUpdateStatus"**: string, **"acctNumOld4Digit"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"vAULastUpdateDate"**: string, **"sponsoredMerchantId"**: string, **"lastTranBillCurrency"**: string, **"paymentFacilitatorId"**: string, **"lastTranAmtBillCurrency"**: string, **"tokenPANReplacementDate"**: string, **"tokenPANReplacementStatus"**: string } ], **"panResponseMsg"**: string } } ] }, **"responseHeader"**: { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } }<br> |
| 401 | Unauthorized request | **application/json**: { **"status"**: { **"statusCode"**: string, **"statusDescription"**: string }, **"responseData"**: { **"group"**: string, <br>**Available values:** "STANDARD", **"panList"**: [ { **"panData"**: { **"pAN"**: string, **"merchants"**: [ { **"mCC"**: string, **"mrchRef"**: string, **"mrchURL"**: string, **"mrchAddr"**: string, **"mrchName"**: string, **"mrchDbaId"**: string, **"lastTranAmt"**: string, **"mrchDbaName"**: string, **"mrchLogoURL"**: string, **"mrchPhoneNum"**: string, **"confidenceInd"**: string, **"tokenReqstrId"**: string, **"cardAcceptorId"**: string, **"lastMrchTranDt"**: string, **"lastTranAmtUSD"**: string, **"totalTranCount"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"vAUUpdateStatus"**: string, **"acctNumOld4Digit"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"vAULastUpdateDate"**: string, **"sponsoredMerchantId"**: string, **"lastTranBillCurrency"**: string, **"paymentFacilitatorId"**: string, **"lastTranAmtBillCurrency"**: string, **"tokenPANReplacementDate"**: string, **"tokenPANReplacementStatus"**: string } ], **"panResponseMsg"**: string } } ] }, **"responseHeader"**: { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } }<br> |
| 500 | Internal service failure | **application/json**: { **"status"**: { **"statusCode"**: string, **"statusDescription"**: string }, **"responseData"**: { **"group"**: string, <br>**Available values:** "STANDARD", **"panList"**: [ { **"panData"**: { **"pAN"**: string, **"merchants"**: [ { **"mCC"**: string, **"mrchRef"**: string, **"mrchURL"**: string, **"mrchAddr"**: string, **"mrchName"**: string, **"mrchDbaId"**: string, **"lastTranAmt"**: string, **"mrchDbaName"**: string, **"mrchLogoURL"**: string, **"mrchPhoneNum"**: string, **"confidenceInd"**: string, **"tokenReqstrId"**: string, **"cardAcceptorId"**: string, **"lastMrchTranDt"**: string, **"lastTranAmtUSD"**: string, **"totalTranCount"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"vAUUpdateStatus"**: string, **"acctNumOld4Digit"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"vAULastUpdateDate"**: string, **"sponsoredMerchantId"**: string, **"lastTranBillCurrency"**: string, **"paymentFacilitatorId"**: string, **"lastTranAmtBillCurrency"**: string, **"tokenPANReplacementDate"**: string, **"tokenPANReplacementStatus"**: string } ], **"panResponseMsg"**: string } } ] }, **"responseHeader"**: { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } }<br> |

### [POST] /cofds-web/v1/datainfo/merchants
**Card-on-File Raw Merchant Details**

The API will return data layer aggregated at raw merchant name level.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| mrchRef | query | Correlation ID to uniquely identify the merchant. The reference ID is not static and may change. | Yes | string | Yes |

#### Request Body

Card-On-File Data request query for raw merchants

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"requestData"**: { **"pAN"**: string }, **"requestHeader"**: { **"messageDateTime"**: string, **"requestMessageId"**: string } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Successful | **application/json**: { **"status"**: { **"statusCode"**: string, **"statusDescription"**: string }, **"responseData"**: { **"mrchRef"**: string, **"responseMsg"**: string, **"rawMerchants"**: [ { **"mrchLogoURL"**: string, **"rawMrchName"**: string, **"tokenReqstrId"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastCardAcceptorId"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"predictedPayments"**: { **"nextPaymentAmt"**: string, **"nextPaymentDate"**: string, **"paymentFrequency"**: string, <br>**Available values:** "WEEKLY, BIWEEKLY, SEMIMONTHLY, MONTHLY, BIMONTHLY, QUARTERLY, SEMIANNUALLY, ANNUALLY, IRREGULAR" }, **"sponsoredMerchantId"**: string, **"paymentFacilitatorId"**: string } ] }, **"responseHeader"**: { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } }<br> |
| 400 | Invalid request | **application/json**: { **"status"**: { **"statusCode"**: string, **"statusDescription"**: string }, **"responseData"**: { **"mrchRef"**: string, **"responseMsg"**: string, **"rawMerchants"**: [ { **"mrchLogoURL"**: string, **"rawMrchName"**: string, **"tokenReqstrId"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastCardAcceptorId"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"predictedPayments"**: { **"nextPaymentAmt"**: string, **"nextPaymentDate"**: string, **"paymentFrequency"**: string, <br>**Available values:** "WEEKLY, BIWEEKLY, SEMIMONTHLY, MONTHLY, BIMONTHLY, QUARTERLY, SEMIANNUALLY, ANNUALLY, IRREGULAR" }, **"sponsoredMerchantId"**: string, **"paymentFacilitatorId"**: string } ] }, **"responseHeader"**: { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } }<br> |
| 401 | Unauthorized request | **application/json**: { **"status"**: { **"statusCode"**: string, **"statusDescription"**: string }, **"responseData"**: { **"mrchRef"**: string, **"responseMsg"**: string, **"rawMerchants"**: [ { **"mrchLogoURL"**: string, **"rawMrchName"**: string, **"tokenReqstrId"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastCardAcceptorId"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"predictedPayments"**: { **"nextPaymentAmt"**: string, **"nextPaymentDate"**: string, **"paymentFrequency"**: string, <br>**Available values:** "WEEKLY, BIWEEKLY, SEMIMONTHLY, MONTHLY, BIMONTHLY, QUARTERLY, SEMIANNUALLY, ANNUALLY, IRREGULAR" }, **"sponsoredMerchantId"**: string, **"paymentFacilitatorId"**: string } ] }, **"responseHeader"**: { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } }<br> |
| 500 | Internal service failure | **application/json**: { **"status"**: { **"statusCode"**: string, **"statusDescription"**: string }, **"responseData"**: { **"mrchRef"**: string, **"responseMsg"**: string, **"rawMerchants"**: [ { **"mrchLogoURL"**: string, **"rawMrchName"**: string, **"tokenReqstrId"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastCardAcceptorId"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"predictedPayments"**: { **"nextPaymentAmt"**: string, **"nextPaymentDate"**: string, **"paymentFrequency"**: string, <br>**Available values:** "WEEKLY, BIWEEKLY, SEMIMONTHLY, MONTHLY, BIMONTHLY, QUARTERLY, SEMIANNUALLY, ANNUALLY, IRREGULAR" }, **"sponsoredMerchantId"**: string, **"paymentFacilitatorId"**: string } ] }, **"responseHeader"**: { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } }<br> |

---
### Schemas

#### TranType Schema

List of transaction details by transaction type. Each transaction type can appear once and only if there’s an associated transaction.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| tranType | string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION" | The transaction type code.<br>*Enum:* `"SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION"`<br>*Example:* `"MERCHANT_COF"` | Yes |
| tranCount | long | Transaction count for the type.<br>*Example:* `10` | Yes |
| lastTranAmt | string | Last transaction amount in currency used in transaction for the type.<br>*Example:* `"22.72"` | Yes |
| lastTranAmtUSD | string | Last transaction amount in USD.<br>*Example:* `"15.22"` | No |
| lastTranCurrency | string | Currency used in last transaction for the type.  Format: ISO 4217 standard<br>*Example:* `"AUD"` | No |
| lastTranDateTime | string | Date and time of last transaction timestamp for the type in UTC time zone.  Format: yyyy-MM-dd HH:mm:ss.SSS (ISO 8601 standard)<br>*Example:* `"2021-07-11 07:05:04.000"` | No |
| lastTranBillCurrency | string | Billing currency of last transaction.  Format: ISO 4217 standard<br>*Example:* `"AUD"` | No |
| lastTranAmtBillCurrency | string | Last transaction amount in billing currency.<br>*Example:* `"22.72"` | No |

#### BaseResponseHeader Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| messageDateTime | string | Date and time at which response is sent (up to milliseconds in UTC).  Format: yyyy-MM-dd HH:mm:ss.SSS (ISO 8601 standard) <br>*Example:* `"2018-09-19 06:01:00.601"` | Yes |
| requestMessageId | string | A string that uniquely identifies the service request. Response will contain the same message ID as received from requesting application.<br>*Example:* `"6da60e1b8b024532a2e0eacb1af5858132a2e0eacb1af58581"` | Yes |
| responseMessageId | string | Correlation id which uniquely identifies the current request-response processing<br>*Example:* `"1561737829_569_743208831_l55c014_VDP_WS"` | Yes |

#### SearchLinkedStopsRsp Schema

Response containing all the stop instruction information for the provided PAN and stopid

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| responseCode | string, <br>**Available values:** "00", "01", "02" | Required. Valid values - '00', '01', '02'<br>*Enum:* `"00"`, `"01"`, `"02"`<br>*Example:* `"01"` | Yes |
| responseDescription | string, <br>**Available values:** "Success", "Partial Success", "Error" | Required. Valid values - 'Success', 'Partial Success', 'Error'<br>*Enum:* `"Success"`, `"Partial Success"`, `"Error"`<br>*Example:* `"Partial Success"` | Yes |
| vauStopInstructions | { **"result"**: { **"resultCode"**: string, **"resultMessage"**: string }, **"stopInstructionIds"**: [ string ] } |  | No |
| transactionStopInstructions | { **"result"**: { **"resultCode"**: string, **"resultMessage"**: string }, **"stopInstructionIds"**: [ string ] } |  | No |

#### StopInstructionDetail-1 Schema

Detailed stop instruction information

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | string, <br>**Available values:** "Active", "Pending", "Expired", "Cancelled", "Unknown" | Status of the stop instruction. - Active means the stop instruction is currently in operation - Pending means the stop instruction will become active in the future - Expired means that the stop instruction was active in the past and the end date has now passed - Cancelled means that the stop instruction has been cancelled - Unknown means that an error has occurred whilst creating or modifying the stop instruction Note that only active and pending stop instructions can be modified.<br>*Enum:* `"Active"`, `"Pending"`, `"Expired"`, `"Cancelled"`, `"Unknown"`<br>*Example:* `"Active"` | Yes |
| endDate | date | The date when the stop instruction expires | Yes |
| startDate | date | The date when the stop instruction becomes active | Yes |
| additional | { **"additionalNotes"**: string, **"paymentFrequency"**: string, <br>**Available values:** "One off", "Weekly", "Monthly", "Quarterly", "Biannual", "Annual", "Other" } | Optional. This is a parent attribute. | No |
| oneTimeStop | boolean | Returns true if the stop instruction is to be applied as a one-time-stop<br>*Example:* `false` | Yes |
| auditInformation | { **"createdByUser"**: string, **"originChannel"**: string, <br>**Available values:** "User Interface", "API", "VAU", "Batch/Bulk", "System", **"updatedByUser"**: string, **"extendedByUser"**: string, **"cancelledByUser"**: string, **"updatedDateTime"**: dateTime, **"creationDateTime"**: dateTime, **"extendedDateTime"**: dateTime, **"lastUpdateChannel"**: string, <br>**Available values:** "User Interface", "API", "VAU", "Batch/Bulk", "System", **"cancellationDateTime"**: dateTime } | An object listing audit information about the stop instruction such as who created the stop instruction | Yes |
| stopInstructionId | string | The stop instruction ID<br>*Example:* `"1234567"` | Yes |
| transactionAmount | { **"maxAmount"**: number, **"minAmount"**: number, **"exactAmount"**: number } | The transaction value to create stop instructions on | No |
| merchantIdentifier | { **"merchantName"**: string, **"cardAcceptorId"**: string, **"paymentFacilitator"**: { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string }, **"merchantCategoryCode"**: string } | The detailed merchant Identifier | No |
| stopInstructionType | string, <br>**Available values:** "Merchant", "MCC", "PAN" | The type of stop instruction<br>*Enum:* `"Merchant"`, `"MCC"`, `"PAN"`<br>*Example:* `"Merchant"` | Yes |
| previousStopInstructionId | string | The previous stop instruction id if the stop instruction was cancelled and recreated. E.g. from a VAU update<br>*Example:* `"1234560"` | No |
| recurringAndInstallmentIndicator | boolean | Specifies if this stop should stop all transaction types or just reoccurring and installment transaction types<br>*Example:* `false` | Yes |

#### PaymentFacilitator Schema

Payment Facilitator ID and Sub-merchant Id

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| subMerchantId | string | The subMerchantId<br>*Example:* `"001010101010102"` | Yes |
| paymentFacilitatorId | string | The payment facilitator id<br>*Example:* `"PAIPAL"` | Yes |

#### MResponseData Schema

Response data, which includes merchant information for the requested PANs.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| group | string, <br>**Available values:** "STANDARD" | Identifies the set of response fields the customer is eligible to receive.<br>*Enum:* `"STANDARD"`<br>*Example:* `"STANDARD"` | Yes |
| panList | [ { **"panData"**: { **"pAN"**: string, **"merchants"**: [ { **"mCC"**: string, **"mrchRef"**: string, **"mrchURL"**: string, **"mrchAddr"**: string, **"mrchName"**: string, **"mrchDbaId"**: string, **"lastTranAmt"**: string, **"mrchDbaName"**: string, **"mrchLogoURL"**: string, **"mrchPhoneNum"**: string, **"confidenceInd"**: string, **"tokenReqstrId"**: string, **"cardAcceptorId"**: string, **"lastMrchTranDt"**: string, **"lastTranAmtUSD"**: string, **"totalTranCount"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"vAUUpdateStatus"**: string, **"acctNumOld4Digit"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"vAULastUpdateDate"**: string, **"sponsoredMerchantId"**: string, **"lastTranBillCurrency"**: string, **"paymentFacilitatorId"**: string, **"lastTranAmtBillCurrency"**: string, **"tokenPANReplacementDate"**: string, **"tokenPANReplacementStatus"**: string } ], **"panResponseMsg"**: string } } ] | An array of response objects for each PAN. | Yes |

#### PANData Schema

Response Object for a single PAN

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pAN | string | The request account number (PAN value).<br>*Example:* `"4000123456789010"` | Yes |
| merchants | [ { **"mCC"**: string, **"mrchRef"**: string, **"mrchURL"**: string, **"mrchAddr"**: string, **"mrchName"**: string, **"mrchDbaId"**: string, **"lastTranAmt"**: string, **"mrchDbaName"**: string, **"mrchLogoURL"**: string, **"mrchPhoneNum"**: string, **"confidenceInd"**: string, **"tokenReqstrId"**: string, **"cardAcceptorId"**: string, **"lastMrchTranDt"**: string, **"lastTranAmtUSD"**: string, **"totalTranCount"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"vAUUpdateStatus"**: string, **"acctNumOld4Digit"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"vAULastUpdateDate"**: string, **"sponsoredMerchantId"**: string, **"lastTranBillCurrency"**: string, **"paymentFacilitatorId"**: string, **"lastTranAmtBillCurrency"**: string, **"tokenPANReplacementDate"**: string, **"tokenPANReplacementStatus"**: string } ] | List of merchants who have Card-On-File Data for the requested PAN. | No |
| panResponseMsg | string | Indicates whether data retrieval for a given PAN was successful; field contains either "Success" or the reason for the error if data retrieval was not successful.<br>*Example:* `"Success"` | Yes |

#### StoppedTransactionForPanRsp Schema

Response containing all the stopped transaction information for the provided clear PAN

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| result | { **"resultCode"**: string, **"resultMessage"**: string } | An object describing if the result was successful, or not | Yes |
| stoppedTransactions | [ { **"mcc"**: string, **"system"**: string, **"networkId"**: string, **"txnAmount"**: number, **"acquirerBid"**: number, **"acquirerBin"**: number, **"acquirerName"**: string, **"merchantName"**: string, **"stopDateTime"**: date, **"billingAmount"**: number, **"subMerchantId"**: string, **"transactionId"**: number, **"cardAcceptorId"**: string, **"stopInstructionId"**: string, **"paymentFacilitatorId"**: string, **"txnCurrencyAlphaCode"**: string, **"billingAmountCurrencyAlphaCode"**: string } ] | List of stopped transactions | Yes |

#### MRequestData Schema

Request body for querying Card-on-file merchant.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pANs | [ string ] | List of PANs for requesting merchant data. The PAN has a format of 12–19 decimal digits starting with a "4" (indicating Visa accounts).<br>*Example:* `["4000123456789010"]` | Yes |
| group | string, <br>**Available values:** "STANDARD" | Identifies the set of response fields the customer is eligible to receive. If the group name is "STANDARD", all available response fields are included.<br>*Enum:* `"STANDARD"`<br>*Example:* `"STANDARD"` | Yes |

#### PanStopApiRqst Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pan | string | Account number, should be a valid Visa PAN<br>*Example:* `"4111111111111111"` | Yes |
| duration | integer | The number of months the stop instruction will be active for. The end date will be set, to be the startDate + duration and rounded to the end of that month.<br>*Example:* `13` | Yes |
| startDate | dateTime | The date when the stop instruction will become active. Date must be today or up to 13 months from today. Date will be in the format yyyy-mm-dd. | Yes |
| additional | { **"additionalNotes"**: string, **"paymentFrequency"**: string, <br>**Available values:** "One off", "Weekly", "Monthly", "Quarterly", "Biannual", "Annual", "Other" } | Optional. This is a parent attribute. | No |

#### SearchLinkedStopsRqst Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| searchType | integer, <br>**Available values:** 0, 1, 2 | Search for stop instructions created by VAU, linked by transaction ID of both<br>*Enum:* `0`, `1`, `2`<br>*Example:* `1` | Yes |
| stopInstructionId | string | The stop instruction ID<br>*Example:* `"1234567"` | Yes |

#### ApiMerchantStopInstruction Schema

The stop instruction detail response for each supplied merchant identifier

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| result | { **"resultCode"**: string, **"resultMessage"**: string } | An object describing if the result was successful, or not | Yes |
| merchantName | string | The merchant name provided<br>*Example:* `"FLIXNET"` | No |
| cardAcceptorId | string | The card acceptor Id provided<br>*Example:* `"12569990002222"` | No |
| stopInstructionId | string | Generated stop instruction id if the stop instruction was created successfully. Will not be present if there was an error<br>*Example:* `"456767690"` | No |
| paymentFacilitator | { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string } | Payment Facilitator ID and Sub-merchant Id | No |
| conflictingStopInstructionId | string | If the creation of a stop instruction for this merchant identifier failed due to a conflict, then the conflicting stop instruction will be present<br>*Example:* `"456790"` | No |

#### EligibleTransactionApiRqst Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pan | string | Account number, should be a valid Visa PAN<br>*Example:* `"4111111111111111"` | Yes |
| range | integer, <br>**Available values:** 30, 60, 90, 120, 150, 180 | The date range in which to search for transactions<br>*Enum:* `30`, `60`, `90`, `120`, `150`, `180` | Yes |
| startDate | dateTime | The earliest date to search for transactions from. Date must be in the past and not earlier than 18 months ago, in the format yyyy-mm-dd | Yes |
| recurringAndInstalment | boolean | Return just recurring and instalment transactions or all transactions<br>*Example:* `true` | No |

#### RetrieveStopsApiRsp-1 Schema

Response containing all the stop instruction information for the provided PAN and stopid

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| result | { **"resultCode"**: string, **"resultMessage"**: string } | An object describing if the result was successful, or not | Yes |
| stopInstruction | { **"pan"**: string, **"status"**: string, <br>**Available values:** "Active", "Pending", "Expired", "Cancelled", "Unknown", **"endDate"**: date, **"startDate"**: date, **"additional"**: { **"additionalNotes"**: string, **"paymentFrequency"**: string, <br>**Available values:** "One off", "Weekly", "Monthly", "Quarterly", "Biannual", "Annual", "Other" }, **"oneTimeStop"**: boolean, **"auditInformation"**: { **"createdByUser"**: string, **"originChannel"**: string, <br>**Available values:** "User Interface", "API", "VAU", "Batch/Bulk", "System", **"updatedByUser"**: string, **"extendedByUser"**: string, **"cancelledByUser"**: string, **"updatedDateTime"**: dateTime, **"creationDateTime"**: dateTime, **"extendedDateTime"**: dateTime, **"lastUpdateChannel"**: string, <br>**Available values:** "User Interface", "API", "VAU", "Batch/Bulk", "System", **"cancellationDateTime"**: dateTime }, **"transactionAmount"**: { **"maxAmount"**: number, **"minAmount"**: number, **"exactAmount"**: number }, **"merchantIdentifier"**: { **"merchantName"**: string, **"cardAcceptorId"**: string, **"paymentFacilitator"**: { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string }, **"merchantCategoryCode"**: string }, **"stopInstructionType"**: string, <br>**Available values:** "One Time", "Merchant", "MCC", "PAN", **"previousStopInstructionId"**: string, **"recurringAndInstallmentIndicator"**: boolean } |  | No |

#### Status Schema

Status details, which include the application status code and corresponding message.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| statusCode | string | Status Code of the Service Request.<br>*Example:* `"CDI000"` | Yes |
| statusDescription | string | A string description of the statusCode element. A brief description indicating the result of the service request.<br>*Example:* `"COF Service - Success"` | Yes |

#### MerchantStopApiRsp Schema

Response containing the details of the stop instructions created

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| responseCode | string, <br>**Available values:** "00", "01", "02" | Required. Valid values - '00', '01', '02'<br>*Enum:* `"00"`, `"01"`, `"02"`<br>*Example:* `"01"` | Yes |
| stopInstructions | [ { **"result"**: { **"resultCode"**: string, **"resultMessage"**: string }, **"merchantName"**: string, **"cardAcceptorId"**: string, **"stopInstructionId"**: string, **"paymentFacilitator"**: { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string }, **"conflictingStopInstructionId"**: string } ] | List of stop instructions processed<br>*Example:* `[{"result":{"resultCode":"00","resultMessage":"Success"},"merchantName":"FLIXNET","stopInstructionId":"90"},{"result":{"resultCode":"01","resultMessage":"Duplicate"},"merchantName":"FLIXNET UK","conflictingStopInstructionId":"456767690"},{"result":{"resultCode":"00","resultMessage":"Success"},"cardAcceptorId":12569990001111,"stopInstructionId":"1234568"}]` | Yes |
| responseDescription | string, <br>**Available values:** "Success", "Partial Success", "Error" | Required. Valid values - 'Success', 'Partial Success', 'Error'<br>*Enum:* `"Success"`, `"Partial Success"`, `"Error"`<br>*Example:* `"Partial Success"` | Yes |

#### PANDataWrapper Schema

An array of response objects for each PAN.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| panData | { **"pAN"**: string, **"merchants"**: [ { **"mCC"**: string, **"mrchRef"**: string, **"mrchURL"**: string, **"mrchAddr"**: string, **"mrchName"**: string, **"mrchDbaId"**: string, **"lastTranAmt"**: string, **"mrchDbaName"**: string, **"mrchLogoURL"**: string, **"mrchPhoneNum"**: string, **"confidenceInd"**: string, **"tokenReqstrId"**: string, **"cardAcceptorId"**: string, **"lastMrchTranDt"**: string, **"lastTranAmtUSD"**: string, **"totalTranCount"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"vAUUpdateStatus"**: string, **"acctNumOld4Digit"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"vAULastUpdateDate"**: string, **"sponsoredMerchantId"**: string, **"lastTranBillCurrency"**: string, **"paymentFacilitatorId"**: string, **"lastTranAmtBillCurrency"**: string, **"tokenPANReplacementDate"**: string, **"tokenPANReplacementStatus"**: string } ], **"panResponseMsg"**: string } | Response Object for a single PAN | No |

#### StoppedTransactionForStopIdRsp Schema

Response containing all the stopped transaction information for the provided stopid

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| result | { **"resultCode"**: string, **"resultMessage"**: string } | An object describing if the result was successful, or not | Yes |
| stoppedTransactions | [ { **"mcc"**: string, **"system"**: string, **"networkId"**: string, **"txnAmount"**: number, **"acquirerBid"**: number, **"acquirerBin"**: number, **"acquirerName"**: string, **"merchantName"**: string, **"stopDateTime"**: date, **"billingAmount"**: number, **"subMerchantId"**: string, **"transactionId"**: number, **"cardAcceptorId"**: string, **"paymentFacilitatorId"**: string, **"txnCurrencyAlphaCode"**: string, **"billingAmountCurrencyAlphaCode"**: string } ] | List of stopped transactions | Yes |

#### ResponseHeader Schema

Fields contained in the header of each response.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ResponseHeader | { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } | Fields contained in the header of each response. |  |

#### EligibleTransactionResult Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| resultCode | string | A code representing the result. 00 means success<br>*Example:* `"00"` | Yes |
| resultMessage | string | A message explaining the result<br>*Example:* `"Success"` | Yes |

#### TransactionStopInstructions Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| result | { **"resultCode"**: string, **"resultMessage"**: string } | An object describing if the result was successful, or not | Yes |
| stopInstructionIds | [ string ] | List of stop instruction ids which have been created by Linked by Transaction | No |

#### StopInstructionResult Schema

An object describing if the result was successful, or not

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| resultCode | string | A code representing the result. 00 means success<br>*Example:* `"00"` | Yes |
| resultMessage | string | A message explaining the result<br>*Example:* `"Success"` | Yes |

#### TranIdStopDetails Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| identifierType | string | *Example:* `"Merchant Name"` | No |
| identifierValue | string | *Example:* `"PFID | SMID"` | No |
| stopInstructionId | string | *Example:* `"1234567"` | No |

#### CancelledStopsApiRsp Schema

Response containing the details of the stop instructions cancelled

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| responseCode | string, <br>**Available values:** "00", "01", "02" | Required. Valid values - '00', '01', '02'<br>*Enum:* `"00"`, `"01"`, `"02"`<br>*Example:* `"00"` | Yes |
| responseDescription | string, <br>**Available values:** "Success", "Partial Success", "Error" | Required. Valid values - 'Success', 'Partial Success', 'Error'<br>*Enum:* `"Success"`, `"Partial Success"`, `"Error"`<br>*Example:* `"Success"` | Yes |
| cancelledStopInstructions | [ { **"result"**: { **"resultCode"**: string, **"resultMessage"**: string }, **"stopInstructionId"**: string } ] | List of stop instructions processed by VSPS | Yes |

#### SearchStopApiRqst Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pan | string | Account number, must be a valid VISA pan<br>*Example:* `"4111111111111111"` | Yes |
| includeInactive | boolean | If true, include the expired and cancelled stop instructions as well as the active or pending stop instructions. If false, only the active and pending stop instructions will be returned for the pan<br>*Example:* `true` | No |

#### RawMerchantTranType Schema

List of transaction details by transaction type. Each transaction type can appear once and only if there’s an associated transaction.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| tranType | string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION" | The transaction type code.<br>*Enum:* `"SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION"`<br>*Example:* `"MERCHANT_COF"` | Yes |
| tranCount | long | Transaction count for the type.<br>*Example:* `10` | Yes |
| lastTranAmt | string | Last transaction amount in currency used in transaction for the type.<br>*Example:* `"22.72"` | Yes |
| lastTranAmtUSD | string | Last transaction amount in USD.<br>*Example:* `"15.22"` | No |
| lastTranCurrency | string | Currency used in last transaction for the type.  Format: ISO 4217 standard<br>*Example:* `"AUD"` | No |
| lastTranDateTime | string | Date and time of last transaction timestamp for the type in UTC time zone.  Format: yyyy-MM-dd HH:mm:ss.SSS (ISO 8601 standard)<br>*Example:* `"2021-07-11 07:05:04.000"` | No |
| lastCardAcceptorId | string | Card Acceptor ID of last transaction.<br>*Example:* `"44186224"` | No |
| lastTranBillCurrency | string | Billing currency of last transaction.  Format: ISO 4217 standard<br>*Example:* `"AUD"` | No |
| lastTranAmtBillCurrency | string | Last transaction amount in billing currency.<br>*Example:* `"22.72"` | No |

#### MerchantDataResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | { **"statusCode"**: string, **"statusDescription"**: string } | Status details, which include the application status code and corresponding message. | Yes |
| responseData | { **"group"**: string, <br>**Available values:** "STANDARD", **"panList"**: [ { **"panData"**: { **"pAN"**: string, **"merchants"**: [ { **"mCC"**: string, **"mrchRef"**: string, **"mrchURL"**: string, **"mrchAddr"**: string, **"mrchName"**: string, **"mrchDbaId"**: string, **"lastTranAmt"**: string, **"mrchDbaName"**: string, **"mrchLogoURL"**: string, **"mrchPhoneNum"**: string, **"confidenceInd"**: string, **"tokenReqstrId"**: string, **"cardAcceptorId"**: string, **"lastMrchTranDt"**: string, **"lastTranAmtUSD"**: string, **"totalTranCount"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"vAUUpdateStatus"**: string, **"acctNumOld4Digit"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"vAULastUpdateDate"**: string, **"sponsoredMerchantId"**: string, **"lastTranBillCurrency"**: string, **"paymentFacilitatorId"**: string, **"lastTranAmtBillCurrency"**: string, **"tokenPANReplacementDate"**: string, **"tokenPANReplacementStatus"**: string } ], **"panResponseMsg"**: string } } ] } | Response data, which includes merchant information for the requested PANs. | No |
| responseHeader | { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } | Fields contained in the header of each response. | Yes |

#### RetrieveStopsApiRsp Schema

Response containing all the stop instruction information for the provided PAN and stopid

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| result | { **"resultCode"**: string, **"resultMessage"**: string } | An object describing if the result was successful, or not | Yes |
| stopInstruction | { **"pan"**: string, **"status"**: string, <br>**Available values:** "Active", "Pending", "Expired", "Cancelled", "Unknown", **"endDate"**: date, **"startDate"**: date, **"additional"**: { **"additionalNotes"**: string, **"paymentFrequency"**: string, <br>**Available values:** "One off", "Weekly", "Monthly", "Quarterly", "Biannual", "Annual", "Other" }, **"oneTimeStop"**: boolean, **"auditInformation"**: { **"createdByUser"**: string, **"originChannel"**: string, <br>**Available values:** "User Interface", "API", "VAU", "Batch/Bulk", "System", **"updatedByUser"**: string, **"extendedByUser"**: string, **"cancelledByUser"**: string, **"updatedDateTime"**: dateTime, **"creationDateTime"**: dateTime, **"extendedDateTime"**: dateTime, **"lastUpdateChannel"**: string, <br>**Available values:** "User Interface", "API", "VAU", "Batch/Bulk", "System", **"cancellationDateTime"**: dateTime }, **"transactionAmount"**: { **"maxAmount"**: number, **"minAmount"**: number, **"exactAmount"**: number }, **"cancelSubscription"**: boolean, **"merchantIdentifier"**: { **"merchantName"**: string, **"cardAcceptorId"**: string, **"paymentFacilitator"**: { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string }, **"merchantCategoryCode"**: string }, **"stopInstructionType"**: string, <br>**Available values:** "One Time", "Merchant", "MCC", "PAN", **"previousStopInstructionId"**: string, **"recurringAndInstallmentIndicator"**: boolean } |  | No |

#### Transaction Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| respCode | string | The response code of the transaction<br>*Example:* `"0"` | No |
| sharedCaid | boolean | Returns true if the Card Acceptor ID is suspected to be a shared CAID | Yes |
| merchantName | string | Merchant Name of the transaction<br>*Example:* `"FLIXNET"` | Yes |
| transactionId | number | The identifier of the transaction<br>*Example:* `987654321012345` | No |
| cardAcceptorId | string | Card Acceptor ID of the merchant on the transaction<br>*Example:* `"125600333594019"` | Yes |
| transactionDate | date | The date when the transaction occurred | Yes |
| transactionType | string, <br>**Available values:** "Recurring", "Installment", "Other" | The type of the transaction<br>*Enum:* `"Recurring"`, `"Installment"`, `"Other"` | No |
| transactionAmount | number | The transaction amount<br>*Example:* `100.1` | Yes |
| transactionSource | string, <br>**Available values:** "Authorization", "Clearing" | The source of the transaction<br>*Enum:* `"Authorization"`, `"Clearing"` | Yes |
| paymentFacilitator | { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string } | Payment Facilitator ID and Sub-merchant Id | No |
| transactionCurrency | string | The iso currency the transaction occurred in<br>*Example:* `"EUR"` | Yes |
| merchantCategoryCode | string | Merchant category code of the transaction<br>*Example:* `"5621"` | Yes |

#### StoppedTransactionForPan Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| mcc | string | The Merchant Category Code<br>*Example:* `"7801"` | Yes |
| system | string | Value should come from a database table so that new values can be added without any front end code from having to be modified | Yes |
| networkId | string | The ID of the network the transaction was stopped on | No |
| txnAmount | number | The transaction amount<br>*Example:* `100.1` | Yes |
| acquirerBid | number | Acquirer BID | Yes |
| acquirerBin | number | The acquirer BIN | Yes |
| acquirerName | string | The business name of the acquirer bid | Yes |
| merchantName | string | The merchant name of the stop instruction.<br>*Example:* `"FLIXNET"` | Yes |
| stopDateTime | date | The identifier of the transaction | Yes |
| billingAmount | number | The billing amount<br>*Example:* `100.1` | No |
| subMerchantId | string | The subMerchantId<br>*Example:* `"001010101010102"` | No |
| transactionId | number | The identifier of the transaction<br>*Example:* `987654321012345` | Yes |
| cardAcceptorId | string | The card acceptor Id of the stop instruction.<br>*Example:* `"12569990002222"` | Yes |
| stopInstructionId | string | The stop instruction ID<br>*Example:* `"1234567"` | Yes |
| paymentFacilitatorId | string | The payment facilitator id<br>*Example:* `"PAIPAL"` | No |
| txnCurrencyAlphaCode | string | numeric code from TXN table needs to be converted into alphanumeric code from CURRENCY table. Should return - if unavailable | No |
| billingAmountCurrencyAlphaCode | string | numeric code from TXN table needs to be converted into alphanumeric code from CURRENCY table. Should return - if unavailable | No |

#### CancelStopApiRqst Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cancelStopInstructions | [ string ] | List of stop instruction ids to cancel<br>*Example:* `["1234567"]` | Yes |

#### StoppedTxnForStopIdRqst Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| stopInstructionId | string | The stop instruction ID<br>*Example:* `"1234567"` | Yes |

#### MResponseHeader Schema

Fields contained in the header of each response.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| MResponseHeader | { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } | Fields contained in the header of each response. |  |

#### MccStopApiRqst Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pan | string | Account number, should be a valid Visa PAN<br>*Example:* `"4111111111111111"` | Yes |
| duration | integer | The number of months the stop instruction will be active for. The end date will be set, to be the startDate + duration and rounded to the end of that month.<br>*Example:* `13` | Yes |
| startDate | dateTime | The date when the stop instruction will become active. Date must be today or up to 13 months from today. Date will be in the format yyyy-mm-dd. | Yes |
| additional | { **"additionalNotes"**: string, **"paymentFrequency"**: string, <br>**Available values:** "One off", "Weekly", "Monthly", "Quarterly", "Biannual", "Annual", "Other" } | Optional. This is a parent attribute. | No |
| merchantCategoryCodes | [ string ] | List of merchant category codes. For each element, a separate stop instruction will be created.<br>*Example:* `["0799","1001","5555"]` | Yes |

#### VauStopInstructions Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| result | { **"resultCode"**: string, **"resultMessage"**: string } | An object describing if the result was successful, or not | Yes |
| stopInstructionIds | [ string ] | List of stop instruction ids which have been created by VAU | No |

#### RawMerchantDataRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| requestData | { **"pAN"**: string } | Request body for querying Card-on-file raw merchant. | Yes |
| requestHeader | { **"messageDateTime"**: string, **"requestMessageId"**: string } | Fields contained in the header of each request. | Yes |

#### MerchantDataRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| requestData | { **"pANs"**: [ string ], **"group"**: string, <br>**Available values:** "STANDARD" } | Request body for querying Card-on-file merchant. | Yes |
| requestHeader | { **"messageDateTime"**: string, **"requestMessageId"**: string } | Fields contained in the header of each request. | Yes |

#### MerchantStopApiRqst Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pan | string | Account number, should be a valid Visa PAN<br>*Example:* `"4111111111111111"` | Yes |
| duration | integer | The number of months the stop instruction will be active for. The end date will be set, to be the startDate + duration and rounded to the end of that month.<br>*Example:* `13` | Yes |
| startDate | dateTime | The date when the stop instruction will become active. Date must be today or up to 13 months from today. Date will be in the format yyyy-mm-dd. | Yes |
| additional | { **"additionalNotes"**: string, **"paymentFrequency"**: string, <br>**Available values:** "One off", "Weekly", "Monthly", "Quarterly", "Biannual", "Annual", "Other" } | Optional. This is a parent attribute. | No |
| oneTimeStop | boolean | Specifies that all of the stop instructions created are to be executed only once. If true, the duration entered will be ignored and will be set to 1 month.<br>*Example:* `false` | No |
| transactionAmount | { **"maxAmount"**: number, **"minAmount"**: number, **"exactAmount"**: number } | The transaction value to create stop instructions on | No |
| cancelSubscription | boolean | Specifies the intent of the cardholder to cancel the subscription<br>*Example:* `false` | No |
| merchantIdentifiers | { **"grouped"**: [ { **"merchantName"**: string, **"cardAcceptorId"**: string, **"paymentFacilitator"**: { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string } } ], **"merchantNames"**: [ string ], **"cardAcceptorIds"**: [ string ], **"paymentFacilitators"**: [ { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string } ] } | One or more merchant identifiers to create stop instructions for | Yes |
| merchantCategoryCode | string | Optional merchant category code to provide additional matching on. The same merchant category code will be applied on all of the stop instructions created if supplied. Should be numeric<br>*Example:* `"7801"` | No |
| recurringAndInstallmentIndicator | boolean, <br>**Default:** true | Specifies whether all the stop instructions to be created will stop only recurring and installment transaction types, or all VSPS eligible transactions. If not provided or set to true, only recurring and installment type transactions will be stopped. If set to false, all VSPS eligible transactions will be stopped.<br>*Example:* `false` | No |

#### SearchStopsApiRsp-1 Schema

Response containing all the stop instruction information for the provided PAN

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| result | { **"resultCode"**: string, **"resultMessage"**: string } | An object describing if the result was successful, or not | Yes |
| searchedStopInstructions | [ { **"status"**: string, <br>**Available values:** "Active", "Pending", "Expired", "Cancelled", "Unknown", **"endDate"**: date, **"startDate"**: date, **"additional"**: { **"additionalNotes"**: string, **"paymentFrequency"**: string, <br>**Available values:** "One off", "Weekly", "Monthly", "Quarterly", "Biannual", "Annual", "Other" }, **"oneTimeStop"**: boolean, **"auditInformation"**: { **"createdByUser"**: string, **"originChannel"**: string, <br>**Available values:** "User Interface", "API", "VAU", "Batch/Bulk", "System", **"updatedByUser"**: string, **"extendedByUser"**: string, **"cancelledByUser"**: string, **"updatedDateTime"**: dateTime, **"creationDateTime"**: dateTime, **"extendedDateTime"**: dateTime, **"lastUpdateChannel"**: string, <br>**Available values:** "User Interface", "API", "VAU", "Batch/Bulk", "System", **"cancellationDateTime"**: dateTime }, **"stopInstructionId"**: string, **"transactionAmount"**: { **"maxAmount"**: number, **"minAmount"**: number, **"exactAmount"**: number }, **"merchantIdentifier"**: { **"merchantName"**: string, **"cardAcceptorId"**: string, **"paymentFacilitator"**: { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string }, **"merchantCategoryCode"**: string }, **"stopInstructionType"**: string, <br>**Available values:** "Merchant", "MCC", "PAN", **"previousStopInstructionId"**: string, **"recurringAndInstallmentIndicator"**: boolean } ] | List of stop instructions held by VSPS | Yes |

#### MccStopApiRsp Schema

Response containing the details of the stop instructions created

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| responseCode | string, <br>**Available values:** "00", "01", "02" | Required. Valid values - '00', '01', '02'<br>*Enum:* `"00"`, `"01"`, `"02"`<br>*Example:* `"01"` | Yes |
| stopInstructions | [ { **"result"**: { **"resultCode"**: string, **"resultMessage"**: string }, **"stopInstructionId"**: string, **"merchantCategoryCode"**: string, **"conflictingStopInstructionId"**: string } ] | List of stop instructions processed<br>*Example:* `[{"result":{"resultCode":"00","resultMessage":"Success"},"stopInstructionId":"90","merchantCategoryCode":"0799"},{"result":{"resultCode":"01","resultMessage":"Duplicate"},"merchantCategoryCode":"1111","conflictingStopInstructionId":"456767690"},{"result":{"resultCode":"00","resultMessage":"Success"},"stopInstructionId":"1234568","merchantCategoryCode":"2345"}]` | Yes |
| responseDescription | string, <br>**Available values:** "Success", "Partial Success", "Error" | Required. Valid values - 'Success', 'Partial Success', 'Error'<br>*Enum:* `"Success"`, `"Partial Success"`, `"Error"`<br>*Example:* `"Partial Success"` | Yes |

#### UpdateMerchantCategoryCodeStopApiRqst Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| additional | { **"additionalNotes"**: string, **"paymentFrequency"**: string, <br>**Available values:** "One off", "Weekly", "Monthly", "Quarterly", "Biannual", "Annual", "Other" } | Optional. This is a parent attribute. | No |
| stopInstructionId | string | The stop instruction ID to update<br>*Example:* `"1234567"` | Yes |
| merchantCategoryCode | string | The Merchant Category Code to update. If no updates are required, the value should equal the existing stop instruction's mcc<br>*Example:* `"7801"` | Yes |

#### RMRequestData Schema

Request body for querying Card-on-file raw merchant.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pAN | string | PAN for requesting raw merchant data. The PAN has a format of 12–19 decimal digits starting with a "4" (indicating Visa accounts).<br>*Example:* `"4000123456789010"` | Yes |

#### ExtendStopInstruction Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| duration | integer | The number of months the stop instruction will be extended for, starting from today. Note that the end date will be rounded to the end of the month.<br>*Example:* `13` | Yes |
| stopInstructionId | string | The stop instruction ID to update.<br>*Example:* `"1234567"` | Yes |

#### RawMerchant Schema

List of raw merchants who have Card-On-File Data for the requested PAN and mrchRef.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| mrchLogoURL | string | Merchant Logo URL.  Note: This field may return an empty string.<br>*Example:* `"www.anymerchant.com/logo"` | No |
| rawMrchName | string | Raw Merchant Name.<br>*Example:* `"AnyRawMerchant"` | Yes |
| tokenReqstrId | string | The token requestor ID of the merchant or payment facilitator, if any, assigned by Visa Token Service.  Note: This field may return 00000000 when tokenReqstrId is unknown.<br>*Example:* `"1234567890"` | No |
| tranTypeDetails | [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastCardAcceptorId"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ] | List of transaction details by transaction type. Each transaction type can appear once and only if there’s an associated transaction. | No |
| predictedPayments | { **"nextPaymentAmt"**: string, **"nextPaymentDate"**: string, **"paymentFrequency"**: string, <br>**Available values:** "WEEKLY, BIWEEKLY, SEMIMONTHLY, MONTHLY, BIMONTHLY, QUARTERLY, SEMIANNUALLY, ANNUALLY, IRREGULAR" } | Predicted upcoming payment based on the transaction history. | No |
| sponsoredMerchantId | string | Sponsored Merchant ID.<br>*Example:* `"1234567890"` | No |
| paymentFacilitatorId | string | Payment Facilitator ID.<br>*Example:* `"1234567890"` | No |

#### SearchStopsApiRsp Schema

Response containing all the stop instruction information for the provided PAN

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| result | { **"resultCode"**: string, **"resultMessage"**: string } | An object describing if the result was successful, or not | Yes |
| searchedStopInstructions | [ { **"status"**: string, <br>**Available values:** "Active", "Pending", "Expired", "Cancelled", "Unknown", **"endDate"**: date, **"startDate"**: date, **"additional"**: { **"additionalNotes"**: string, **"paymentFrequency"**: string, <br>**Available values:** "One off", "Weekly", "Monthly", "Quarterly", "Biannual", "Annual", "Other" }, **"oneTimeStop"**: boolean, **"auditInformation"**: { **"createdByUser"**: string, **"originChannel"**: string, <br>**Available values:** "User Interface", "API", "VAU", "Batch/Bulk", "System", **"updatedByUser"**: string, **"extendedByUser"**: string, **"cancelledByUser"**: string, **"updatedDateTime"**: dateTime, **"creationDateTime"**: dateTime, **"extendedDateTime"**: dateTime, **"lastUpdateChannel"**: string, <br>**Available values:** "User Interface", "API", "VAU", "Batch/Bulk", "System", **"cancellationDateTime"**: dateTime }, **"stopInstructionId"**: string, **"transactionAmount"**: { **"maxAmount"**: number, **"minAmount"**: number, **"exactAmount"**: number }, **"cancelSubscription"**: boolean, **"merchantIdentifier"**: { **"merchantName"**: string, **"cardAcceptorId"**: string, **"paymentFacilitator"**: { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string }, **"merchantCategoryCode"**: string }, **"stopInstructionType"**: string, <br>**Available values:** "Merchant", "MCC", "PAN", **"previousStopInstructionId"**: string, **"recurringAndInstallmentIndicator"**: boolean } ] | List of stop instructions held by VSPS | Yes |

#### Merchant Schema

List of merchants who have Card-On-File Data for the requested PAN.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| mCC | string | Merchant Category Code.  Note: This field may return an empty string.<br>*Example:* `"5942"` | Yes |
| mrchRef | string | Correlation ID to uniquely identify the merchant. The reference ID is not static and may change.<br>*Example:* `"MTIzNDU2Nzg5MDEyMzQ1Njc4OTpBTUFaT04="` | Yes |
| mrchURL | string | Merchant URL.  Note: This field may return an empty string.<br>*Example:* `"www.anymerchant.com"` | Yes |
| mrchAddr | string | Merchant address.  Note: This field may return an empty string.<br>*Example:* `"111 Any St AnyCity 90000 AnyState USA"` | Yes |
| mrchName | string | Cleansed Merchant Name.<br>*Example:* `"ABC"` | Yes |
| mrchDbaId | string | "Doing Business As" (DBA) ID of the merchant. Use mrchName instead; this field may become deprecated.  Note: This field may return an empty string.<br>*Example:* `"148"` | Yes |
| lastTranAmt | string | Last transaction amount in currency used in transaction; not applicable for “AUTH_VERIFICATION” transaction type.<br>*Example:* `"22.34"` | Yes |
| mrchDbaName | string | Merchant "Doing Business As" name. Use mrchName instead; this field may become deprecated.<br>*Example:* `"ANYMERCHANT"` | Yes |
| mrchLogoURL | string | Merchant Logo URL.  Note: This field may return an empty string.<br>*Example:* `"www.anymerchant.com/logo"` | No |
| mrchPhoneNum | string | Merchant phone number.  Note: This field may return an empty string.<br>*Example:* `"5551212"` | Yes |
| confidenceInd | string | Confidence indicator.  C - Highly likely a COF merchant  M - May be a COF merchant  E - Not a COF merchant<br>*Example:* `"C"` | Yes |
| tokenReqstrId | string | The token requestor ID of the merchant or payment facilitator, if any, assigned by Visa Token Service.  Note: This field may return an empty string.<br>*Example:* `"00000000"` | Yes |
| cardAcceptorId | string | Card Acceptor ID (CAID) of the merchant. The value reflects the most recent CAID included in the last transaction.  Note: This field may return an empty string.<br>*Example:* `"235251000762203"` | Yes |
| lastMrchTranDt | string | Date when the last transaction was made with the merchant in UTC time zone; not applicable for “AUTH_VERIFICATION” transaction type.  Note: This field may return an empty string.  Format: yyyy-MM-dd<br>*Example:* `"2018-07-18"` | Yes |
| lastTranAmtUSD | string | Last transaction amount in USD; not applicable for “AUTH_VERIFICATION” transaction type.<br>*Example:* `"25.68"` | No |
| totalTranCount | string | Total transaction count for all transaction type.<br>*Example:* `"3"` | Yes |
| tranTypeDetails | [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ] | List of transaction details by transaction type. Each transaction type can appear once and only if there’s an associated transaction. | No |
| vAUUpdateStatus | string | Visa Account Updater (VAU) polling status.  Y - PAN update was polled by the merchant.  N - No PAN update was polled by the merchant.  NA - Issuer has not reissued a PAN nor updated expiry date.  Note: <li>Issuers must be subscribed to VAU to provide updates. Merchants must be subscribed to VAU in order to receive updates.<li>This field may return an empty string.<br>*Example:* `"Y"` | Yes |
| acctNumOld4Digit | string | Last 4 digits of the old account number in Visa Account Updater (VAU).  Note: This field may return an empty string.<br>*Example:* `"1234"` | Yes |
| lastTranCurrency | string | Currency used in last transaction; not applicable for “AUTH_VERIFICATION” transaction type.  Format: ISO 4217 standard<br>*Example:* `"AUD"` | No |
| lastTranDateTime | string | Date and time of last transaction timestamp in UTC time zone; not applicable for “AUTH_VERIFICATION” transaction type.  Format: yyyy-MM-dd HH:mm:ss.SSS (ISO 8601 standard)<br>*Example:* `"2018-10-05 09:45:17.000"` | No |
| vAULastUpdateDate | string | Date when merchant last polled Visa Account Updater (VAU) for new PAN data in UTC time zone.  Note: <li>Issuers must be subscribed to VAU to provide updates. Merchants must be subscribed to VAU in order to receive updates.<li>This field may return an empty string.  Format: yyyy-MM-dd<br>*Example:* `"2018-07-18"` | Yes |
| sponsoredMerchantId | string | Sponsored Merchant ID.<br>*Example:* `"7494990"` | No |
| lastTranBillCurrency | string | Billing currency of last transaction; not applicable for “AUTH_VERIFICATION” transaction type.  Format: ISO 4217 standard<br>*Example:* `"AUD"` | No |
| paymentFacilitatorId | string | Payment Facilitator ID.<br>*Example:* `"10071854"` | No |
| lastTranAmtBillCurrency | string | Last transaction amount in billing currency; not applicable for “AUTH_VERIFICATION” transaction type.<br>*Example:* `"22.34"` | No |
| tokenPANReplacementDate | string | tokenPANReplacementStatus update date in UTC time zone.  Note: This field may return an empty string.  Format: yyyy-MM-dd<br>*Example:* `"2018-07-18"` | Yes |
| tokenPANReplacementStatus | string | Status of whether the token’s underlying PAN has been updated, based on issuer updates sent to Visa.  Y - PAN was updated.  N - PAN was not updated.  Note: This field may return an empty string.<br>*Example:* `"N"` | Yes |

#### StoppedTransaction Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| mcc | string | The Merchant Category Code<br>*Example:* `"7801"` | Yes |
| system | string | Value should come from a database table so that new values can be added without any front end code from having to be modified | Yes |
| networkId | string | The ID of the network the transaction was stopped on | No |
| txnAmount | number | The transaction amount<br>*Example:* `100.1` | Yes |
| acquirerBid | number | Acquirer BID | Yes |
| acquirerBin | number | The acquirer BIN | Yes |
| acquirerName | string | The business name of the acquirer bid | Yes |
| merchantName | string | The merchant name of the stop instruction.<br>*Example:* `"FLIXNET"` | Yes |
| stopDateTime | date | The identifier of the transaction | Yes |
| billingAmount | number | The billing amount<br>*Example:* `100.1` | No |
| subMerchantId | string | The subMerchantId<br>*Example:* `"001010101010102"` | No |
| transactionId | number | The identifier of the transaction<br>*Example:* `987654321012345` | Yes |
| cardAcceptorId | string | The card acceptor Id of the stop instruction.<br>*Example:* `"12569990002222"` | Yes |
| paymentFacilitatorId | string | The payment facilitator id<br>*Example:* `"PAIPAL"` | No |
| txnCurrencyAlphaCode | string | numeric code from TXN table needs to be converted into alphanumeric code from CURRENCY table. Should return - if unavailable | No |
| billingAmountCurrencyAlphaCode | string | numeric code from TXN table needs to be converted into alphanumeric code from CURRENCY table. Should return - if unavailable | No |

#### UpdateMerchantStopApiRqst-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| additional | { **"additionalNotes"**: string, **"paymentFrequency"**: string, <br>**Available values:** "One off", "Weekly", "Monthly", "Quarterly", "Biannual", "Annual", "Other" } | Optional. This is a parent attribute. | No |
| stopInstructionId | string | The stop instruction ID to update<br>*Example:* `"1234567"` | Yes |
| transactionAmount | { **"maxAmount"**: number, **"minAmount"**: number, **"exactAmount"**: number } | The transaction value to create stop instructions on | No |
| merchantIdentifier | { **"merchantName"**: string, **"cardAcceptorId"**: string, **"paymentFacilitator"**: { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string } } | The merchant Identifier to update. One identifier must be provided | Yes |
| merchantCategoryCode | string | Optional mcc to provide additional matching on. If no updates are required, the value should equal the existing stop instruction's mcc<br>*Example:* `"7801"` | No |
| recurringAndInstallmentIndicator | boolean | Specifies whether all the stop instructions to be created will stop only recurring and installment transaction types, or all VSPS eligible transactions. If not provided or set to true, only recurring and installment type transactions will be stopped. If set to false, all VSPS eligible transactions will be stopped. | No |

#### AuditInfo Schema

An object listing audit information about the stop instruction such as who created the stop instruction

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| createdByUser | string | The userId of the person who created the stop instruction<br>*Example:* `"createUser"` | Yes |
| originChannel | string, <br>**Available values:** "User Interface", "API", "VAU", "Batch/Bulk", "System" | Represents what source created the stop instruction<br>*Enum:* `"User Interface"`, `"API"`, `"VAU"`, `"Batch/Bulk"`, `"System"`<br>*Example:* `"API"` | Yes |
| updatedByUser | string | The userId of the person who last made a change to the stop instruction<br>*Example:* `"updateUser"` | Yes |
| extendedByUser | string | The userId of the person who last extended the stop instruction<br>*Example:* `"extendedUser"` | No |
| cancelledByUser | string | The userId of the person who cancelled the stop instruction. Might be null<br>*Example:* `"cancelledUser"` | No |
| updatedDateTime | dateTime | The time when the stop instruction was last changed | Yes |
| creationDateTime | dateTime | The time when the stop instruction was created. | Yes |
| extendedDateTime | dateTime | The time when the stop instruction was last extended | No |
| lastUpdateChannel | string, <br>**Available values:** "User Interface", "API", "VAU", "Batch/Bulk", "System" | Represents what source last updated the stop instruction<br>*Enum:* `"User Interface"`, `"API"`, `"VAU"`, `"Batch/Bulk"`, `"System"`<br>*Example:* `"API"` | Yes |
| cancellationDateTime | dateTime | The time when the stop instruction was cancelled. Might be null | No |

#### RetrieveStopInstruction-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pan | string | Account number in plaintext<br>*Example:* `"4111111111111111"` | Yes |
| status | string, <br>**Available values:** "Active", "Pending", "Expired", "Cancelled", "Unknown" | Status of the stop instruction. - Active means the stop instruction is currently in operation - Pending means the stop instruction will become active in the future - Expired means that the stop instruction was active in the past and the end date has now passed - Cancelled means that the stop instruction has been cancelled - Unknown means that an error has occurred whilst creating or modifying the stop instruction Note that only active and pending stop instructions can be modified.<br>*Enum:* `"Active"`, `"Pending"`, `"Expired"`, `"Cancelled"`, `"Unknown"` | Yes |
| endDate | date | The date when the stop instruction expires | Yes |
| startDate | date | The date when the stop instruction becomes active | Yes |
| additional | { **"additionalNotes"**: string, **"paymentFrequency"**: string, <br>**Available values:** "One off", "Weekly", "Monthly", "Quarterly", "Biannual", "Annual", "Other" } | Optional. This is a parent attribute. | No |
| oneTimeStop | boolean | Returns true if the stop instruction is to be applied as a one-time-stop<br>*Example:* `false` | Yes |
| auditInformation | { **"createdByUser"**: string, **"originChannel"**: string, <br>**Available values:** "User Interface", "API", "VAU", "Batch/Bulk", "System", **"updatedByUser"**: string, **"extendedByUser"**: string, **"cancelledByUser"**: string, **"updatedDateTime"**: dateTime, **"creationDateTime"**: dateTime, **"extendedDateTime"**: dateTime, **"lastUpdateChannel"**: string, <br>**Available values:** "User Interface", "API", "VAU", "Batch/Bulk", "System", **"cancellationDateTime"**: dateTime } | An object listing audit information about the stop instruction such as who created the stop instruction | Yes |
| transactionAmount | { **"maxAmount"**: number, **"minAmount"**: number, **"exactAmount"**: number } | The transaction value to create stop instructions on | No |
| merchantIdentifier | { **"merchantName"**: string, **"cardAcceptorId"**: string, **"paymentFacilitator"**: { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string }, **"merchantCategoryCode"**: string } | The detailed merchant Identifier | No |
| stopInstructionType | string, <br>**Available values:** "One Time", "Merchant", "MCC", "PAN" | The type of stop instruction<br>*Enum:* `"One Time"`, `"Merchant"`, `"MCC"`, `"PAN"`<br>*Example:* `"Merchant"` | Yes |
| previousStopInstructionId | string | The previous stop instruction id if the stop instruction was cancelled and recreated. E.g. from a VAU update<br>*Example:* `"1234560"` | No |
| recurringAndInstallmentIndicator | boolean | Specifies if this stop should stop all transaction types or just reoccurring and installment transaction types | Yes |

#### RMResponseData Schema

Response data, which includes raw merchant information for the requested PAN and mrchRef.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| mrchRef | string | Correlation ID to uniquely identify the merchant. The reference ID is not static and may change.<br>*Example:* `"MTIzNDU2Nzg5MDEyMzQ1Njc4OTpBTUFaT04="` | Yes |
| responseMsg | string | Indicates whether data retrieval for a given PAN and mrchRef was successful; field contains either "Success" or the reason for the error if data retrieval was not successful.<br>*Example:* `"Success"` | Yes |
| rawMerchants | [ { **"mrchLogoURL"**: string, **"rawMrchName"**: string, **"tokenReqstrId"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastCardAcceptorId"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"predictedPayments"**: { **"nextPaymentAmt"**: string, **"nextPaymentDate"**: string, **"paymentFrequency"**: string, <br>**Available values:** "WEEKLY, BIWEEKLY, SEMIMONTHLY, MONTHLY, BIMONTHLY, QUARTERLY, SEMIANNUALLY, ANNUALLY, IRREGULAR" }, **"sponsoredMerchantId"**: string, **"paymentFacilitatorId"**: string } ] | List of raw merchants who have Card-On-File Data for the requested PAN and mrchRef. | No |

#### Error Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| field | string | The field in the request which is causing the error<br>*Example:* `"pan"` | No |
| description | string | The reason why it is in error<br>*Example:* `"Pan is not valid"` | No |

#### RMResponseHeader Schema

Fields contained in the header of each response.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| RMResponseHeader | { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } | Fields contained in the header of each response. |  |

#### RetrieveStopInstruction Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pan | string | Account number in plaintext<br>*Example:* `"4111111111111111"` | Yes |
| status | string, <br>**Available values:** "Active", "Pending", "Expired", "Cancelled", "Unknown" | Status of the stop instruction. - Active means the stop instruction is currently in operation - Pending means the stop instruction will become active in the future - Expired means that the stop instruction was active in the past and the end date has now passed - Cancelled means that the stop instruction has been cancelled - Unknown means that an error has occurred whilst creating or modifying the stop instruction Note that only active and pending stop instructions can be modified.<br>*Enum:* `"Active"`, `"Pending"`, `"Expired"`, `"Cancelled"`, `"Unknown"` | Yes |
| endDate | date | The date when the stop instruction expires | Yes |
| startDate | date | The date when the stop instruction becomes active | Yes |
| additional | { **"additionalNotes"**: string, **"paymentFrequency"**: string, <br>**Available values:** "One off", "Weekly", "Monthly", "Quarterly", "Biannual", "Annual", "Other" } | Optional. This is a parent attribute. | No |
| oneTimeStop | boolean | Returns true if the stop instruction is to be applied as a one-time-stop<br>*Example:* `false` | Yes |
| auditInformation | { **"createdByUser"**: string, **"originChannel"**: string, <br>**Available values:** "User Interface", "API", "VAU", "Batch/Bulk", "System", **"updatedByUser"**: string, **"extendedByUser"**: string, **"cancelledByUser"**: string, **"updatedDateTime"**: dateTime, **"creationDateTime"**: dateTime, **"extendedDateTime"**: dateTime, **"lastUpdateChannel"**: string, <br>**Available values:** "User Interface", "API", "VAU", "Batch/Bulk", "System", **"cancellationDateTime"**: dateTime } | An object listing audit information about the stop instruction such as who created the stop instruction | Yes |
| transactionAmount | { **"maxAmount"**: number, **"minAmount"**: number, **"exactAmount"**: number } | The transaction value to create stop instructions on | No |
| cancelSubscription | boolean | Specifies the intent of the cardholder to cancel the subscription<br>*Example:* `false` | No |
| merchantIdentifier | { **"merchantName"**: string, **"cardAcceptorId"**: string, **"paymentFacilitator"**: { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string }, **"merchantCategoryCode"**: string } | The detailed merchant Identifier | No |
| stopInstructionType | string, <br>**Available values:** "One Time", "Merchant", "MCC", "PAN" | The type of stop instruction<br>*Enum:* `"One Time"`, `"Merchant"`, `"MCC"`, `"PAN"`<br>*Example:* `"Merchant"` | Yes |
| previousStopInstructionId | string | The previous stop instruction id if the stop instruction was cancelled and recreated. E.g. from a VAU update<br>*Example:* `"1234560"` | No |
| recurringAndInstallmentIndicator | boolean | Specifies if this stop should stop all transaction types or just reoccurring and installment transaction types | Yes |

#### ExtendedStopsApiRsp Schema

Response containing the details of the stop instructions extended

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| responseCode | string, <br>**Available values:** "00", "01", "02" | Required. Valid values - '00', '01', '02'<br>*Enum:* `"00"`, `"01"`, `"02"`<br>*Example:* `"00"` | Yes |
| responseDescription | string, <br>**Available values:** "Success", "Partial Success", "Error" | Required. Valid values - 'Success', 'Partial Success', 'Error'<br>*Enum:* `"Success"`, `"Partial Success"`, `"Error"`<br>*Example:* `"Success"` | Yes |
| extendedStopInstructions | [ { **"result"**: { **"resultCode"**: string, **"resultMessage"**: string }, **"stopInstructionId"**: string, **"conflictingStopInstructionId"**: string } ] | List of stop instructions processed by VSPS | Yes |

#### RetrieveStopsApiRqst Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| stopInstructionId | string | The stop instruction ID<br>*Example:* `"1234567"` | Yes |

#### BadRequestRsp Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| guid | string | A unique identifer that can be used to track errors<br>*Example:* `"05eab1ab-ddb5-45a0-b70a-6e52847d1eab"` | No |
| errors | [ { **"field"**: string, **"description"**: string } ] | Shows a list of errors. | No |
| httpStatus | string | A description of the http status code<br>*Example:* `"Bad Request"` | No |

#### TransactionAmount Schema

The transaction value to create stop instructions on

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| maxAmount | number | The maximum amount that the stop instructions will stop. Should be numeric to a maximum of 2 decimal places. If more than 2 decimal places are provided, it will be truncated. If provided, exactAmount should be empty.  If minAmount is also provided, the stop instruction will stop transactions between the min and max.<br>*Example:* `500` | No |
| minAmount | number | The minimum amount that the stop instructions will stop. Should be numeric with up to 2 decimal places. If more than 2 decimal places are provided, it will be truncated. If provided, exactAmount should not be sent.  If maxAmount is also provided, the stop instruction will stop transactions between the min and max.<br>*Example:* `50.5` | No |
| exactAmount | number | The transaction amount the stop instructions should be matched exactly against. Should be numeric with up to 2 decimal places. If more than 2 decimal places are provided, it will be truncated. If provided, minAmount and maxAmount should not be sent<br>*Example:* `100` | No |

#### StoppedTxnForPanRqst Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pan | string | Account number, must be a valid VISA pan<br>*Example:* `"4111111111111111"` | Yes |

#### MerchantStopApiRqst-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pan | string | Account number, should be a valid Visa PAN<br>*Example:* `"4111111111111111"` | Yes |
| duration | integer | The number of months the stop instruction will be active for. The end date will be set, to be the startDate + duration and rounded to the end of that month.<br>*Example:* `13` | Yes |
| startDate | dateTime | The date when the stop instruction will become active. Date must be today or up to 13 months from today. Date will be in the format yyyy-mm-dd. | Yes |
| additional | { **"additionalNotes"**: string, **"paymentFrequency"**: string, <br>**Available values:** "One off", "Weekly", "Monthly", "Quarterly", "Biannual", "Annual", "Other" } | Optional. This is a parent attribute. | No |
| oneTimeStop | boolean | Specifies that all of the stop instructions created are to be executed only once. If true, the duration entered will be ignored and will be set to 1 month.<br>*Example:* `false` | No |
| transactionAmount | { **"maxAmount"**: number, **"minAmount"**: number, **"exactAmount"**: number } | The transaction value to create stop instructions on | No |
| merchantIdentifiers | { **"grouped"**: [ { **"merchantName"**: string, **"cardAcceptorId"**: string, **"paymentFacilitator"**: { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string } } ], **"merchantNames"**: [ string ], **"cardAcceptorIds"**: [ string ], **"paymentFacilitators"**: [ { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string } ] } | One or more merchant identifiers to create stop instructions for | Yes |
| merchantCategoryCode | string | Optional merchant category code to provide additional matching on. The same merchant category code will be applied on all of the stop instructions created if supplied. Should be numeric<br>*Example:* `"7801"` | No |
| recurringAndInstallmentIndicator | boolean, <br>**Default:** true | Specifies whether all the stop instructions to be created will stop only recurring and installment transaction types, or all VSPS eligible transactions. If not provided or set to true, only recurring and installment type transactions will be stopped. If set to false, all VSPS eligible transactions will be stopped.<br>*Example:* `false` | No |

#### Additional Schema

Optional. This is a parent attribute.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| additionalNotes | string | Optional field for providing additional notes about the stop instruction. Should not contain any scripting tags<br>*Example:* `"Notes entered by the user"` | No |
| paymentFrequency | string, <br>**Available values:** "One off", "Weekly", "Monthly", "Quarterly", "Biannual", "Annual", "Other" | Optional field for providing information about the stop instruction<br>*Enum:* `"One off"`, `"Weekly"`, `"Monthly"`, `"Quarterly"`, `"Biannual"`, `"Annual"`, `"Other"`<br>*Example:* `"One off"` | No |

#### MerchantIdentifier Schema

The merchant Identifier to update. One identifier must be provided

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| merchantName | string | The merchant name to create a stop instruction for. If no updates are required, the value should equal the existing stop instruction's merchantName<br>*Example:* `"FLIXNET"` | No |
| cardAcceptorId | string | The card acceptor Id to create a stop instruction for. If no updates are required, the value should equal the existing stop instruction's cardAcceptorId<br>*Example:* `"12569990002222"` | No |
| paymentFacilitator | { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string } | Payment Facilitator ID and Sub-merchant Id | No |

#### StopInstructionApiRsp Schema

Response containing the details of the stop instructions created

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| result | { **"resultCode"**: string, **"resultMessage"**: string } | An object describing if the result was successful, or not | Yes |
| stopInstructionId | string | Generated stop instruction id if the stop instruction was created successfully. If the stop instruction is a duplicate with an existing stop instruction then this will be the stop instruction id of the existing stop instruction. For other error scenarios, no stopInstructionId will be returned<br>*Example:* `"456767690"` | No |
| conflictingStopInstructionId | string | If this request would result in a conflict, this will be the stop instruction id causing the conflict<br>*Example:* `"4567676"` | No |

#### ApiMccStopInstruction Schema

The stop instruction created

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| result | { **"resultCode"**: string, **"resultMessage"**: string } | An object describing if the result was successful, or not | Yes |
| stopInstructionId | string | Generated stop instruction id if the stop instruction was created successfully. No stopInstructionId will be returned if creationg failed<br>*Example:* `"456767690"` | No |
| merchantCategoryCode | string | *Example:* `"0799"` | Yes |
| conflictingStopInstructionId | string | If creating this stop instruction would have resulted in a conflict, the conflicting stop instruction Id will be returned<br>*Example:* `"12344"` | No |

#### ExtendStopApiRqst Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| extendStopInstructions | [ { **"duration"**: integer, **"stopInstructionId"**: string } ] | List of stop instruction ids and duration pairs. For each stop instruction ID, the stop instruction will be extended. | Yes |

#### UpdateMerchantStopApiRqst Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| additional | { **"additionalNotes"**: string, **"paymentFrequency"**: string, <br>**Available values:** "One off", "Weekly", "Monthly", "Quarterly", "Biannual", "Annual", "Other" } | Optional. This is a parent attribute. | No |
| stopInstructionId | string | The stop instruction ID to update<br>*Example:* `"1234567"` | Yes |
| transactionAmount | { **"maxAmount"**: number, **"minAmount"**: number, **"exactAmount"**: number } | The transaction value to create stop instructions on | No |
| cancelSubscription | boolean | Specifies the intent of the cardholder to cancel the subscription<br>*Example:* `false` | No |
| merchantIdentifier | { **"merchantName"**: string, **"cardAcceptorId"**: string, **"paymentFacilitator"**: { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string } } | The merchant Identifier to update. One identifier must be provided | Yes |
| merchantCategoryCode | string | Optional mcc to provide additional matching on. If no updates are required, the value should equal the existing stop instruction's mcc<br>*Example:* `"7801"` | No |
| recurringAndInstallmentIndicator | boolean | Specifies whether all the stop instructions to be created will stop only recurring and installment transaction types, or all VSPS eligible transactions. If not provided or set to true, only recurring and installment type transactions will be stopped. If set to false, all VSPS eligible transactions will be stopped. | No |

#### MerchantIdentifierDetail Schema

The detailed merchant Identifier

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| merchantName | string | The merchant name of the stop instruction.<br>*Example:* `"FLIXNET"` | No |
| cardAcceptorId | string | The card acceptor Id of the stop instruction.<br>*Example:* `"12569990002222"` | No |
| paymentFacilitator | { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string } | Payment Facilitator ID and Sub-merchant Id | No |
| merchantCategoryCode | string | The merchant category code of the stop instruction.<br>*Example:* `"0799"` | No |

#### CancelStopInstructionApiRsp Schema

Response containing the details of the stop instructions created

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| result | { **"resultCode"**: string, **"resultMessage"**: string } | An object describing if the result was successful, or not | Yes |
| stopInstructionId | string | Generated stop instruction id if the stop instruction was created successfully. If the stop instruction is a duplicate with an existing stop instruction then this will be the stop instruction id of the existing stop instruction. For other error scenarios, no stopInstructionId will be returned<br>*Example:* `"456767690"` | Yes |

#### RequestHeader Schema

Fields contained in the header of each request.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| messageDateTime | string | Date and time at which request is sent (up to milliseconds in UTC).  Format: yyyy-MM-dd HH:mm:ss.SSS (ISO 8601 standard)<br>*Example:* `"2018-09-19 06:01:00.601"` | Yes |
| requestMessageId | string | A string that uniquely identifying the service request. The requesting application creates this unique message ID.<br>*Example:* `"6da60e1b8b024532a2e0eacb1af5858132a2e0eacb1af58581"` | Yes |

#### EligibleTransactionApiRsp Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| result | { **"resultCode"**: string, **"resultMessage"**: string } |  | Yes |
| txnCount | integer | The total number of transactions | Yes |
| transactions | [ { **"respCode"**: string, **"sharedCaid"**: boolean, **"merchantName"**: string, **"transactionId"**: number, **"cardAcceptorId"**: string, **"transactionDate"**: date, **"transactionType"**: string, <br>**Available values:** "Recurring", "Installment", "Other", **"transactionAmount"**: number, **"transactionSource"**: string, <br>**Available values:** "Authorization", "Clearing", **"paymentFacilitator"**: { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string }, **"transactionCurrency"**: string, **"merchantCategoryCode"**: string } ] |  | Yes |

#### StopInstructionDetail Schema

Detailed stop instruction information

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | string, <br>**Available values:** "Active", "Pending", "Expired", "Cancelled", "Unknown" | Status of the stop instruction. - Active means the stop instruction is currently in operation - Pending means the stop instruction will become active in the future - Expired means that the stop instruction was active in the past and the end date has now passed - Cancelled means that the stop instruction has been cancelled - Unknown means that an error has occurred whilst creating or modifying the stop instruction Note that only active and pending stop instructions can be modified.<br>*Enum:* `"Active"`, `"Pending"`, `"Expired"`, `"Cancelled"`, `"Unknown"`<br>*Example:* `"Active"` | Yes |
| endDate | date | The date when the stop instruction expires | Yes |
| startDate | date | The date when the stop instruction becomes active | Yes |
| additional | { **"additionalNotes"**: string, **"paymentFrequency"**: string, <br>**Available values:** "One off", "Weekly", "Monthly", "Quarterly", "Biannual", "Annual", "Other" } | Optional. This is a parent attribute. | No |
| oneTimeStop | boolean | Returns true if the stop instruction is to be applied as a one-time-stop<br>*Example:* `false` | Yes |
| auditInformation | { **"createdByUser"**: string, **"originChannel"**: string, <br>**Available values:** "User Interface", "API", "VAU", "Batch/Bulk", "System", **"updatedByUser"**: string, **"extendedByUser"**: string, **"cancelledByUser"**: string, **"updatedDateTime"**: dateTime, **"creationDateTime"**: dateTime, **"extendedDateTime"**: dateTime, **"lastUpdateChannel"**: string, <br>**Available values:** "User Interface", "API", "VAU", "Batch/Bulk", "System", **"cancellationDateTime"**: dateTime } | An object listing audit information about the stop instruction such as who created the stop instruction | Yes |
| stopInstructionId | string | The stop instruction ID<br>*Example:* `"1234567"` | Yes |
| transactionAmount | { **"maxAmount"**: number, **"minAmount"**: number, **"exactAmount"**: number } | The transaction value to create stop instructions on | No |
| cancelSubscription | boolean | Specifies the intent of the cardholder to cancel the subscription<br>*Example:* `false` | No |
| merchantIdentifier | { **"merchantName"**: string, **"cardAcceptorId"**: string, **"paymentFacilitator"**: { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string }, **"merchantCategoryCode"**: string } | The detailed merchant Identifier | No |
| stopInstructionType | string, <br>**Available values:** "Merchant", "MCC", "PAN" | The type of stop instruction<br>*Enum:* `"Merchant"`, `"MCC"`, `"PAN"`<br>*Example:* `"Merchant"` | Yes |
| previousStopInstructionId | string | The previous stop instruction id if the stop instruction was cancelled and recreated. E.g. from a VAU update<br>*Example:* `"1234560"` | No |
| recurringAndInstallmentIndicator | boolean | Specifies if this stop should stop all transaction types or just reoccurring and installment transaction types<br>*Example:* `false` | Yes |

#### MerchantIdentifiersWithGrouping Schema

One or more merchant identifiers to create stop instructions for

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| grouped | [ { **"merchantName"**: string, **"cardAcceptorId"**: string, **"paymentFacilitator"**: { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string } } ] | List of identifiers that are considered grouped | No |
| merchantNames | [ string ] | List of merchant names. For each element, a separate stop instruction will be created<br>*Example:* `["FLIXNET"]` | No |
| cardAcceptorIds | [ string ] | List of card acceptor ids. For each element, a separate stop instruction will be created<br>*Example:* `["12569990001111"]` | No |
| paymentFacilitators | [ { **"subMerchantId"**: string, **"paymentFacilitatorId"**: string } ] | List of pfid & smid pairs. For each element, a separate stop instruction will be created | No |

#### RawMerchantDataResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| status | { **"statusCode"**: string, **"statusDescription"**: string } | Status details, which include the application status code and corresponding message. | Yes |
| responseData | { **"mrchRef"**: string, **"responseMsg"**: string, **"rawMerchants"**: [ { **"mrchLogoURL"**: string, **"rawMrchName"**: string, **"tokenReqstrId"**: string, **"tranTypeDetails"**: [ { **"tranType"**: string, <br>**Available values:** "SCHEDULED_RECURRING, UNSCHEDULED_RECURRING, INSTALLMENT, MERCHANT_COF, CUSTOMER_COF, UNKNOWN_COF, MAIL_TELEPHONE, BILL_PAY, ECOM_OTHER, AUTH_VERIFICATION", **"tranCount"**: long, **"lastTranAmt"**: string, **"lastTranAmtUSD"**: string, **"lastTranCurrency"**: string, **"lastTranDateTime"**: string, **"lastCardAcceptorId"**: string, **"lastTranBillCurrency"**: string, **"lastTranAmtBillCurrency"**: string } ], **"predictedPayments"**: { **"nextPaymentAmt"**: string, **"nextPaymentDate"**: string, **"paymentFrequency"**: string, <br>**Available values:** "WEEKLY, BIWEEKLY, SEMIMONTHLY, MONTHLY, BIMONTHLY, QUARTERLY, SEMIANNUALLY, ANNUALLY, IRREGULAR" }, **"sponsoredMerchantId"**: string, **"paymentFacilitatorId"**: string } ] } | Response data, which includes raw merchant information for the requested PAN and mrchRef. | No |
| responseHeader | { **"messageDateTime"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string } & { **"numRecordsReturned"**: integer } | Fields contained in the header of each response. | Yes |
