# Visa Stop Payment Service
Visa Stop Payment Service

## Version: 1

### Servers

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

---
## Visa Stop Payment Service API
Visa Stop Payment Service API

### [POST] /vsps/stoppedTransactions/stopId
**Stopped Transactions by Stop ID**

Allows clients to retrieve stopped transactions by ID (via VDP) programmatically without having to use the user interface

#### Request Body

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

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Successful operation | **application/json**: { **"result"**: { **"resultCode"**: string, **"resultMessage"**: string }, **"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 } ] }<br> |
| 400 | Bad request | **application/json**: { **"guid"**: string, **"errors"**: [ { **"field"**: string, **"description"**: string } ], **"httpStatus"**: string }<br> |
| 403 | Forbidden |  |

---
### Schemas

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

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

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

#### 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 }, **"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 |

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

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

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

#### 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 }, **"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 |

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

#### 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 |
| 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 }, **"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 |

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

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

#### 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 }, **"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 |

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

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

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

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

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

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