# Visa Direct request to pay
Visa Direct request to pay

## Version: 1

### Servers

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

---
## Request to Pay
Request to Pay

### [POST] /rtx/api/v1/requestToPay/referenceData
**Reference Data**

This API will return reference data available (mainly participant details)

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Content-Type | header |  | Yes | string | No |
| keyID | header | VDP project key ID used to manage access to the Request to Pay service and identify associated encryption keys. | Yes | string | No |

#### Request Body

*Reference API* is used by service provider to get R2P program participants list from Visa.
 This API will return details of other active R2P participants such as Visa identifier and name of the participant.
---  

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"referenceDataTypes"**: [ string ] }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Response Payload from Visa to the Service Provider | **application/json**: { **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string, **"availableParticipants"**: [ { **"participantId"**: string, **"participantName"**: string, **"supportedFeatures"**: [ string ] } ] }<br> |
| 400 | Error response | **application/json**: { **"code"**: string, **"details"**: [ { **"field"**: string, **"reason"**: string } ], **"message"**: string, **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string }<br> |

### [POST] /rtx/api/v1/requestToPay/{originalPaymentRequestId}/refund
**Refund R2P**

Refund a Request to Pay

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Content-Type | header |  | Yes | string | No |
| keyID | header | VDP project key ID used to manage access to the Request to Pay service and identify associated encryption keys. | Yes | string | No |
| x-request-affinity | header | Visa provided value for transaction affinity handling. This value will be provided by Visa in the response to this API call for use in subsequent calls related to the Request to Pay transactions. | No | string | No |
| originalPaymentRequestId | path | Original Payment RequestId is provided in parent transaction by Visa for which refund is requested. | Yes | string | No |

#### Request Body

*Refund Request to Pay* is used by payee service providers to create Refund R2P transactions for their end users. It is also used by payer service providers to be notified by Visa of R2P transactions relevant to their end users.

This is used to raise refund request against previously settled Request to Pay. The request payload for an *Refund Request to Pay* contains the basic elements required to process a Refund Request. These include creditor/payee details,paymentRequests and options that the creditor can accept to settle the request (e.g. creditor card).

---

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"creditor"**: { **"creditorId"**: string, **"creditorIdType"**: string }, **"paymentRequests"**: [ { **"endToEndId"**: string, **"requestedAmount"**: number } ], **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"settlementOptions"**: [ { **"settlementSystem"**: string, **"primaryAccountNumber"**: string } ] }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 201 | The response payload for an Refund Request to Pay provides the status of the Request to Pay transactions initiated together with the Visa references for them. | **application/json**: { **"paymentRequests"**: [ { **"debtorId"**: string, **"endToEndId"**: string, **"debtorIdType"**: string, **"paymentRequestId"**: string, **"transactionStatus"**: string } ], **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string }<br> |
| 400 | Error response | **application/json**: { **"code"**: string, **"details"**: [ { **"field"**: string, **"reason"**: string } ], **"message"**: string, **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string }<br> |

### [GET] /rtx/api/v1/requestToPay/{paymentRequestId}
**Retrieve R2P**

The Retrieve Request to Pay API is used to retrieve the full and current details of a request to pay. While Retrieve Request to Pay is keyed using the paymentRequestId, the 'Retrieve multiple Request to Pays' API can be used where you need to use the endToEndId.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Content-Type | header |  | Yes | string | No |
| keyID | header | VDP project key ID used to manage access to the Request to Pay service and identify associated encryption keys. | Yes | string | No |
| x-request-affinity | header | Visa provided value for transaction affinity handling. This value is provided during the Initiate Request to Pay API flow. | No | string | No |
| paymentRequestId | path | Request to Pay transaction ID previously provided by Visa. | Yes | string | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | This retrieves the full details for a single Request to Pay transaction from the Visa platform. | **application/json**: { **"dueDate"**: date, **"message"**: string, **"product"**: string, **"useCase"**: string, **"creditor"**: { **"creditorId"**: string, **"creditorMCC"**: string, **"creditorAlias"**: string, **"creditorTaxId"**: string, **"creditorIdType"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"nationalIdentifiers"**: [ { **"type"**: string, **"value"**: string } ], **"creditorAgentCountry"**: string, **"creditorBusinessName"**: string }, **"statusReason"**: string, **"requestReason"**: { **"message"**: string, **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"unicodeEmoji"**: string, **"paymentPurpose"**: string }, **"paymentRequest"**: { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"acceptedAmount"**: number, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"acceptedAmountCurrency"**: string, **"requestedAmountCurrency"**: string }, **"requestOptions"**: { **"reminderSchedule"**: [ dateTime ], **"allowMultiplePayments"**: boolean, **"closeWithFirstPayment"**: boolean }, **"creationDateTime"**: dateTime, **"responseMessageId"**: string, **"settlementDetails"**: [ { **"message"**: string, **"unicodeEmoji"**: string, **"settledAmount"**: number, **"creditorAckEmoji"**: string, **"settlementSystem"**: string, **"creditorAckMessage"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string } ], **"settlementOptions"**: [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ], **"transactionStatus"**: string, **"paymentRequestCreationDateTime"**: dateTime }<br> |
| 404 | Retrieve response payload | **application/json**: { **"code"**: string, **"details"**: [ { **"field"**: string, **"reason"**: string } ], **"message"**: string, **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string }<br> |

### [PATCH] /rtx/api/v1/requestToPay/{paymentRequestId}/amend
**Amend R2P**

Amend a Request to Pay

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Content-Type | header |  | Yes | string | No |
| keyID | header | VDP project key ID used to manage access to the Request to Pay service and identify associated encryption keys. | Yes | string | No |
| x-request-affinity | header | Visa provided value for transaction affinity handling. This value is provided during the Initiate Request to Pay API flow. | Yes | string | No |
| paymentRequestId | path | Request to Pay transaction ID previously provided by Visa. | Yes | string | No |

#### Request Body

*Amend Request to Pay* is used by the creditor agent to amend previously raised Request To Pay. It can be used to amend any request to pay that is not in a terminal status such as RJCT/ACSC/EXPD/CNCL.

It is also used by Visa to notify debtor agents of these updates.

---

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"dueDate"**: date, **"requestReason"**: { **"message"**: string, **"unicodeEmoji"**: string }, **"paymentRequest"**: { **"requestedAmount"**: number }, **"requestOptions"**: { **"reminderSchedule"**: [ dateTime ] }, **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"settlementOptions"**: [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Response Payload from Visa to the Payee service provider. | **application/json**: { **"creationDateTime"**: dateTime, **"paymentRequestId"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string, **"transactionStatus"**: string }<br> |
| 400 | Error response | **application/json**: { **"code"**: string, **"details"**: [ { **"field"**: string, **"reason"**: string } ], **"message"**: string, **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string }<br> |

### [POST] /rtx/api/v1/requestToPay
**Initiate R2P**

Initiate Request to Pay is used by payee service providers to create R2P transactions for their end users.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Content-Type | header |  | Yes | string | No |
| keyID | header | VDP project key ID used to manage access to the Request to Pay service and identify associated encryption keys. | Yes | string | No |
| x-request-affinity | header | Visa provided value for transaction affinity handling. This value will be provided by Visa in the response to this API call for use in subsequent calls related to the Request to Pay transactions. | No | string | No |

#### Request Body

*Initiate Request to Pay* is used by payee service providers to create R2P transactions for their end users.

The request payload for an *Initiate Request to Pay* contains the basic elements required to process a Request to Pay. These include creditor/payee details, debtor/payer details, the request reason, and options that the creditor can accept to settle the request (e.g. creditor card or bank details).

---

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"dueDate"**: date, **"product"**: string, **"useCase"**: string, **"creditor"**: { **"creditorId"**: string, **"creditorMCC"**: string, **"creditorAlias"**: string, **"creditorTaxId"**: string, **"creditorIdType"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"nationalIdentifiers"**: [ { **"type"**: string, **"value"**: string } ], **"creditorAgentCountry"**: string, **"creditorBusinessName"**: string }, **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"settlementOptions"**: [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 201 | The response payload for an Initiate Request to Pay provides the status of the Request to Pay transactions initiated together with the Visa references for them. | **application/json**: { **"paymentRequests"**: [ { **"debtorId"**: string, **"endToEndId"**: string, **"debtorIdType"**: string, **"paymentRequestId"**: string, **"transactionStatus"**: string } ], **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string }<br> |
| 400 | Error response | **application/json**: { **"code"**: string, **"details"**: [ { **"field"**: string, **"reason"**: string } ], **"message"**: string, **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string }<br> |

### [POST] rtx/api/v1/requestToPay/transaction/tag
**Transaction Tagging**

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Content-Type | header |  | Yes | string | No |
| keyID | header | VDP project key ID used to manage access to the Transaction Tagging service and identify associated encryption keys. | Yes | string | No |
| x-request-affinity | header | Visa provided value for transaction affinity handling. | No | string | No |

#### Request Body

*Transaction Tagging* enables users to attach or tag specific information to a transaction. Currently, it can be used by a payee/creditor to send a payment acknowledgment to the payer /debtor.

It is also used by Visa to notify debtor agents of these updates.

---

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"messageEvent"**: { **"creditorAckEmoji"**: string, **"creditorAckMessage"**: string }, **"taggedTransaction"**: { **"transactionId"**: string, **"transactionIdType"**: string, **"settlementSystemReferenceId"**: string, **"settlmentSystemReferenceType"**: string } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Response Payload from Visa to the Payee service provider. |  |
| 400 | Error response | **application/json**: { **"code"**: string, **"details"**: [ { **"field"**: string, **"reason"**: string } ], **"message"**: string, **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string }<br> |

### [PATCH] /rtx/api/v1/requestToPay/{paymentRequestId}/confirm
**Confirm R2P**

Confirm Request to Pay is used by payer service providers to provide an initial update to Visa on the status of the Request to Pay based on their initial processing and/or interaction with the end user. It is also used by payee service providers to be notified by Visa of these updates.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Content-Type | header |  | Yes | string | No |
| keyID | header | VDP project key ID used to manage access to the Request to Pay service and identify associated encryption keys. | Yes | string | No |
| x-request-affinity | header | Visa provided value for transaction affinity handling. This value is provided during the Initiate Request to Pay API flow. | Yes | string | No |
| paymentRequestId | path | Request to Pay transaction ID previously provided by Visa. | Yes | string | No |

#### Request Body

*Confirm Request to Pay* is used by payer service providers to provide an initial update to Visa on the status of the R2P based on their initial processing and/or interaction with the end user.

It is also used by payee service providers to be notified by Visa of these updates.

---

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"message"**: string, **"endToEndId"**: string, **"statusReason"**: string, **"acceptedAmount"**: number, **"creationDateTime"**: dateTime, **"paymentRequestId"**: string, **"requestMessageId"**: string, **"settlementDetails"**: { **"message"**: string, **"unicodeEmoji"**: string, **"settledAmount"**: number, **"settlementSystem"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string }, **"transactionStatus"**: string, **"acceptedAmountCurrency"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Response Payload from Visa to the Payer service provider. | **application/json**: { **"endToEndId"**: string, **"creationDateTime"**: dateTime, **"paymentRequestId"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string, **"transactionStatus"**: string }<br> |
| 400 | Error response | **application/json**: { **"code"**: string, **"details"**: [ { **"field"**: string, **"reason"**: string } ], **"message"**: string, **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string }<br> |

### [PATCH] /rtx/api/v1/requestToPay/{paymentRequestId}/cancel
**Cancel R2P**

Cancel a Request to Pay

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Content-Type | header |  | Yes | string | No |
| x-request-affinity | header | Visa provided value for transaction affinity handling. This value is provided during the Initiate Request to Pay API flow. | Yes | string | No |
| keyID | header | VDP project key ID used to manage access to the Request to Pay service and identify associated encryption keys. | Yes | string | No |
| paymentRequestId | path | Request to Pay transaction ID previously provided by Visa. | Yes | string | No |

#### Request Body

*Cancel Request to Pay* is used by the creditor agent to cancel previously raised Request To Pay. It can be used to cancel any requests to pay that is not in a terminal status such as RJCT.

It is also used by Visa to notify debtor agents of the cancellation.

---

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"cancellationReason"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Response Payload from Visa to the Payee Service Provider | **application/json**: { **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string, **"transactionStatus"**: string }<br> |
| 400 | Error response | **application/json**: { **"code"**: string, **"details"**: [ { **"field"**: string, **"reason"**: string } ], **"message"**: string, **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string }<br> |

### [POST] /rtx/api/v1/requestToPay/retrieve
**Retrieve Multiple R2P**

Retrieve Data for Multiple R2Ps based on EndtoEndId or PaymentRequestIds

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Content-Type | header |  | Yes | string | No |
| keyID | header | VDP project key ID used to manage access to the Request to Pay service and identify associated encryption keys. | Yes | string | No |
| x-request-affinity | header | Visa provided value for transaction affinity handling. This value is provided during the Initiate Request to Pay API flow. | No | string | No |

#### Request Body

*Retrieve multiple Request to Pays* is used to pull full Request to Pay information for a series of Request to Pay transactions. It allows the caller to retrieve the transactions using either the paymentRequestId or the associated endToEndId.

| Required | Schema |
| -------- | ------ |
|  No | **application/json**: { **"agentId"**: string, **"paymentRequestIds"**: [ string ] } or { **"agentId"**: string, **"endToEndIds"**: [ string ] }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | This retrieves the full details of one or more Request to Pay transactions from the Visa platform. | **application/json**: { **"paymentRequestDetail"**: [ { **"dueDate"**: date, **"message"**: string, **"product"**: string, **"useCase"**: string, **"creditor"**: { **"creditorId"**: string, **"creditorMcc"**: string, **"creditorAlias"**: string, **"creditorTaxId"**: string, **"creditorIdType"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"nationalIdentifiers"**: [ { **"type"**: string, **"value"**: string } ], **"creditorAgentCountry"**: string, **"creditorBusinessName"**: string }, **"statusReason"**: string, **"requestReason"**: { **"message"**: string, **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"unicodeEmoji"**: string, **"paymentPurpose"**: string }, **"paymentRequest"**: { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"acceptedAmount"**: number, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"acceptedAmountCurrency"**: string, **"requestedAmountCurrency"**: string }, **"requestOptions"**: { **"reminderSchedule"**: [ dateTime ], **"allowMultiplePayments"**: boolean, **"closeWithFirstPayment"**: boolean }, **"creationDateTime"**: dateTime, **"responseMessageId"**: string, **"settlementDetails"**: [ { **"message"**: string, **"unicodeEmoji"**: string, **"settledAmount"**: number, **"creditorAckEmoji"**: string, **"settlementSystem"**: string, **"creditorAckMessage"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string } ], **"settlementOptions"**: [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ], **"transactionStatus"**: string, **"paymentRequestCreationDateTime"**: dateTime } ] }<br> |
| 400 | Retrieve response payload | **application/json**: { **"code"**: string, **"details"**: [ { **"field"**: string, **"reason"**: string } ], **"message"**: string, **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string }<br> |

---
## Request Control 
Request Control (Request to Pay)

### [PATCH] /rtx/api/v1/requestControl/{blockReferenceId}/remove
**Request Control Remove Block**

This API is used to remove the block applied on creditor/payee in the past.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Content-Type | header |  | Yes | string | No |
| keyID | header | VDP project key ID used to manage access to the Request to Pay service and identify associated encryption keys. | Yes | string | No |
| blockReferenceId | path | Block Reference Id is the unique identifier of a block. | Yes | string | No |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Response  200 (Empty response) |  |
| 400 | Error response | **application/json**: { **"code"**: string, **"details"**: [ { **"field"**: string, **"reason"**: string } ], **"message"**: string, **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string }<br> |

### [POST] /rtx/api/v1/requestControl/view
**Request Control View Block**

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Content-Type | header |  | Yes | string | No |
| keyID | header | VDP project key ID used to manage access to the Request to Pay service and identify associated encryption keys. | Yes | string | No |

#### Request Body

*View Blocks* is used by debtor service provider to retrieve the details of active blocks a debtor has requested to be applied.
 This API will service return the details of active blocks to enable presentation as needed to debtors and provide the service provider with the information needed when submitting a Remove Block API call.
---

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"debtorId"**: string, **"debtorIdType"**: string, **"debtorAgentId"**: string, **"creationDateTime"**: dateTime, **"requestMessageId"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Response Payload from Visa to the Service Provider | **application/json**: { **"blockedPayees"**: [ { **"product"**: string, **"blockReason"**: string, **"referenceId"**: string, **"creditorAlias"**: string, **"creditorAgentId"**: string, **"blockCreatedDate"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"creditorBusinessName"**: string } ], **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string }<br> |
| 400 | Error response | **application/json**: { **"code"**: string, **"details"**: [ { **"field"**: string, **"reason"**: string } ], **"message"**: string, **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string }<br> |

---
### Webhooks

### [POST] /rtx/api/outbound/v1/requestToPay/transaction/tag
**Transaction Tagging**

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Content-Type | header |  | Yes | string | No |
| keyID | header | VDP project key ID used to manage access to the Transaction Tagging service and identify associated encryption keys. | Yes | string | No |
| x-request-affinity | header | Visa provided value for transaction affinity handling. | No | string | No |

#### Request Body

*Transaction Tagging* enables users to attach or tag specific information to a transaction. Currently, it can be used by a payee/creditor to send a payment acknowledgment to the payer /debtor.

It is also used by Visa to notify debtor agents of these updates.

---

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"messageEvent"**: { **"creditorAckEmoji"**: string, **"creditorAckMessage"**: string }, **"taggedTransaction"**: { **"transactionId"**: string, **"transactionIdType"**: string, **"settlementSystemReferenceId"**: string, **"settlmentSystemReferenceType"**: string } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Response Payload from Visa to the Payer service provider. |  |
| 400 | Error response | **application/json**: { **"code"**: string, **"details"**: [ { **"field"**: string, **"reason"**: string } ], **"message"**: string, **"creationDateTime"**: dateTime }<br> |

### [POST] /rtx/api/outbound/v1/requestToPay/{originalPaymentRequestId}/refund
**Refund R2P**

Refund a Request to Pay

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Content-Type | header |  | Yes | string | No |
| keyID | header | VDP project key ID used to identify associated encryption keys. | Yes | string | No |
| x-request-affinity | header | Visa provided value for transaction affinity handling. This value is provided for use in subsequent calls related to the Request to Pay transactions. | Yes | string | No |
| originalPaymentRequestId | path | Original Payment RequestId is provided in parent transaction by Visa for which refund is requested. | Yes | string | No |

#### Request Body

*Refund Request to Pay* is used by payee service providers to create Refund R2P transactions for their end users. It is also used by payer service providers to be notified by Visa of R2P transactions relevant to their end users.

The request payload for an *Refund Request to Pay* contains the basic elements required to process a Refund Request. These include creditor/payee details,paymentRequests and options that the creditor can accept to settle the request (e.g. creditor card).

---

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"dueDate"**: date, **"product"**: string, **"useCase"**: string, **"creditor"**: { **"creditorAlias"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"creditorAgentCountry"**: string }, **"requestReason"**: { **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"paymentPurpose"**: string }, **"paymentRequests"**: [ { **"debtorId"**: string, **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorIdType"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"paymentRequestId"**: string, **"debtorAgentCountry"**: string, **"debtorBusinessName"**: string, **"requestedAmountCurrency"**: string } ], **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"settlementOptions"**: [ { **"settlementSystem"**: string, **"primaryAccountNumber"**: string } ] }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 201 | The response payload for an Refund Request to Pay provides the status of the Request to Pay transactions initiated together with the Visa references for them. | **application/json**: { **"paymentRequests"**: [ { **"debtorId"**: string, **"endToEndId"**: string, **"debtorIdType"**: string, **"paymentRequestId"**: string, **"transactionStatus"**: string } ], **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string }<br> |
| 400 | Error response | **application/json**: { **"code"**: string, **"details"**: [ { **"field"**: string, **"reason"**: string } ], **"message"**: string, **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string }<br> |

### [PATCH] /rtx/api/outbound/v1/requestToPay/{paymentRequestId}/confirm
**Confirm R2P**

Confirm Request to Pay is used by payer service providers to provide an initial update to Visa on the status of the Request to Pay based on their initial processing and/or interaction with the end user. It is also used by payee service providers to be notified by Visa of these updates.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Content-Type | header |  | Yes | string | No |
| keyID | header | VDP project key ID used to identify associated encryption keys. | Yes | string | No |
| x-request-affinity | header | Visa provided value for transaction affinity handling. This value is provided during the Initiate Request to Pay API flow. | Yes | string | No |
| paymentRequestId | path | Request to Pay transaction ID previously provided by Visa. | Yes | string | No |

#### Request Body

*Confirm Request to Pay* is used by payer service providers to provide an initial update to Visa on the status of the R2P based on their initial processing and/or interaction with the end user.

It is also used by payee service providers to be notified by Visa of these updates.

---

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"message"**: string, **"endToEndId"**: string, **"statusReason"**: string, **"acceptedAmount"**: number, **"creationDateTime"**: dateTime, **"paymentRequestId"**: string, **"requestMessageId"**: string, **"settlementDetails"**: { **"message"**: string, **"unicodeEmoji"**: string, **"settledAmount"**: number, **"settlementSystem"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string }, **"transactionStatus"**: string, **"acceptedAmountCurrency"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Response Payload from the Payee service provider to Visa. | **application/json**: { **"endToEndId"**: string, **"creationDateTime"**: dateTime, **"paymentRequestId"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string, **"transactionStatus"**: string }<br> |
| 400 | Error response | **application/json**: { **"code"**: string, **"details"**: [ { **"field"**: string, **"reason"**: string } ], **"message"**: string, **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string }<br> |

### [PATCH] /rtx/api/outbound/v1/requestToPay/{paymentRequestId}/amend
**Amend R2P**

Amend a Request to Pay

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Content-Type | header |  | Yes | string | No |
| keyID | header | VDP project key ID used to manage access to the Request to Pay service and identify associated encryption keys. | Yes | string | No |
| x-request-affinity | header | Visa provided value for transaction affinity handling. This value is provided during the Initiate Request to Pay API flow. | Yes | string | No |
| paymentRequestId | path | Request to Pay transaction ID previously provided by Visa. | Yes | string | No |

#### Request Body

*Amend Request to Pay* is used by the creditor agent to amend previously raised Request To Pay. It can be used to amend any requests to pay that is not in a terminal status such as RJCT/ACSC/CNCL/EXPD.

It is also used by Visa to notify debtor agents of these updates.

---

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"dueDate"**: date, **"requestReason"**: { **"message"**: string, **"unicodeEmoji"**: string }, **"paymentRequest"**: { **"requestedAmount"**: number }, **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"settlementOptions"**: [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Response Payload from Payer service provider to Visa. | **application/json**: { **"creationDateTime"**: dateTime, **"paymentRequestId"**: string, **"requestMessageId"**: string, **"responseMessageId"**: string, **"transactionStatus"**: string }<br> |
| 400 | Error response | **application/json**: { **"code"**: string, **"details"**: [ { **"field"**: string, **"reason"**: string } ], **"message"**: string, **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string }<br> |

### [POST] /rtx/api/outbound/v1/requestToPay
**Initiate R2P**

Initiate Request to Pay is used by payer service providers to be notified by Visa of R2P transactions relevant to their end users.

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Content-Type | header | Must be `application/json` | Yes | <br>**Available values:** "application/json" | No |
| keyID | header | Visa's key ID used for JWE encryption. Use this to identify which of your decryption keys to use.  | Yes |  | No |
| x-request-affinity | header | Visa-generated transaction affinity ID.  **IMPORTANT**: - Echo this value in your response headers - Store this for use in subsequent R2P API calls (amend, confirm, retrieve, etc.)  | Yes |  | No |

#### Request Body

## Request from Visa → Your System

**Note**: The actual payload will be JWE encrypted. The schema below
represents the decrypted structure.

### Required Processing
1. Extract `requestMessageId` for correlation
2. Extract `x-request-affinity` header for subsequent API calls
3. Validate payer/debtor exists in your system
4. Check business rules (amount limits, account status, etc.)
5. Store R2P request for user notification

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"dueDate"**: undefined (date), **"product"**: , **"useCase"**: , **"creditor"**: { **"creditorId"**: , **"creditorMCC"**: , **"creditorAlias"**: , **"creditorTaxId"**: , **"creditorIdType"**: , **"creditorAgentId"**: , **"creditorCountry"**: , **"creditorLastName"**: , **"creditorAliasType"**: , **"creditorFirstName"**: , **"nationalIdentifiers"**: , **"creditorAgentCountry"**: , **"creditorBusinessName"**:  }, **"creationDateTime"**: undefined (date-time), **"requestMessageId"**: , **"settlementOptions"**:  }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 201 | ## Success Response  Return HTTP 201 when your system successfully accepts the R2P request.  ### Processing Completed - ✓ Decrypted and verified payload - ✓ Validated payer/debtor exists - ✓ Passed business rule checks - ✓ Stored R2P request for user notification - ✓ Assigned internal debtor ID  ### Response Requirements - Must be JWS signed then JWE encrypted - Must include `x-request-affinity` header (echoed from request) - Must return within 30 seconds - Transaction status should be "PDNG" (pending user action) <br>**Headers:**<br>**x-request-affinity**: Echo back the affinity ID from the request<br> | **application/json**: { **"paymentRequests"**: , **"creationDateTime"**: undefined (date-time), **"requestMessageId"**: , **"responseMessageId"**:  }<br> |
| 400 | ## Error Response  Return HTTP 400 when the R2P request cannot be processed.  ### Common Error Scenarios - **Unknown Payer**: Debtor/payer not found in your system - **Invalid Payload**: Malformed request structure - **Business Rule Violation**: Amount exceeds limits, account suspended, etc. - **Account Restrictions**: Payer blocked from receiving R2P  ### Response Requirements - Must be JWS signed then JWE encrypted - Must include `x-request-affinity` header (echoed from request) - Must include specific error code and details - Must return within 30 seconds <br>**Headers:**<br>**x-request-affinity**: Echo back the affinity ID from the request<br> | **application/json**: { **"code"**: , **"details"**: , **"message"**: , **"creationDateTime"**: undefined (date-time), **"requestMessageId"**: , **"responseMessageId"**:  }<br> |

### [PATCH] /rtx/api/outbound/v1/requestToPay/{paymentRequestId}/cancel
**Cancel R2P**

Cancel a Request to Pay

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Content-Type | header |  | Yes | string | No |
| x-request-affinity | header | Visa provided value for transaction affinity handling. This value is provided during the Initiate Request to Pay API flow. | Yes | string | No |
| keyID | header | VDP project key ID used to identify associated encryption keys. | Yes | string | No |
| paymentRequestId | path | Request to Pay transaction ID previously provided by Visa. | Yes | string | No |

#### Request Body

*Cancel Request to Pay* is used by the creditor agent to cancel previously raised Request To Pay. It can be used to cancel any requests to pay that is not in a terminal status such as RJCT.

It is also used by Visa to notify debtor agents of the cancellation.

---

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"cancellationReason"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Response Payload from Payer Service Provider to Visa | **application/json**: { **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string, **"transactionStatus"**: string }<br> |
| 400 | Error response | **application/json**: { **"code"**: string, **"details"**: [ { **"field"**: string, **"reason"**: string } ], **"message"**: string, **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string }<br> |

### [POST] /rtx/api/outbound/v1/requestToPay/notifications
**Notifications R2P**

Notifications For Request to Pay

#### Parameters

| Name | Located in | Description | Required | Schema | Explode |
| ---- | ---------- | ----------- | -------- | ------ | ------- |
| Content-Type | header |  | Yes | string | No |
| keyID | header | VDP project key ID used to manage access to the Request to Pay service and identify associated encryption keys. | Yes | string | No |

#### Request Body

This API is used to send reminders, scheduled by the payee, to participants (and potentially their customers) regarding pending requests to pay. Additionally, the API notifies payers about other lifecycle events related to the request to pay, such as expiration and rejection of pending requests due to applied blocks.

---

| Required | Schema |
| -------- | ------ |
|  Yes | **application/json**: { **"events"**: [ { **"eventType"**: string, **"paymentRequestId"**: string } ], **"agentId"**: string, **"creationDateTime"**: dateTime, **"requestMessageId"**: string }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | Got 200 as a successful request. |  |
| 400 | Error response | **application/json**: { **"code"**: string, **"details"**: [ { **"field"**: string, **"reason"**: string } ], **"message"**: string, **"creationDateTime"**: dateTime, **"requestMessageId"**: string, **"responseMessageId"**: string }<br> |

---
### Schemas

#### multiRetrieveError Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| code | string | Coded reason group this error response is considered part of. <table><tr><td>Value</td><td>Description</td></tr> <tr><td>RC1xxx</td><td>RC1xxx codes indicate an invalid request. Typically a syntactical issue with the API request such as a missing mandatory field incorrect field formatting.</td></tr> <tr><td>RC2xxx</td><td>RC2xxxx codes indicate a business validation failure. Typically, the request is syntactically correct but the request does not meet the business rules configured. For example, the debtor last name does not meet country specific validations.</td></tr> <tr><td>RC3xxx</td><td>RC3xxx codes indicate an authorisation failure. The request may be syntactically correct and meet the necessary business rules but breaches an additional control or configuration in place. i.e., The request is valid but not allowed at this time. Examples of reasons for this error include attempting to retrieve R2P details unrelated to the entity calling the retrieve request to pay API or submitting a B2C request when only configured for P2P requests.</td></tr> <tr><td>RC3001</td><td>Authorisation failure: The request is syntactically correct but cannot be accepted by Visa at this time as a result of an active block control.</td></tr> <tr><td>RC3002</td><td>Authorisation failure: The request is syntactically correct but cannot be accepted by Visa at this time as a result of velocity/frequency control.</td></tr> <tr><td>RC4xxx</td><td>RC4xxx codes indicate an entity in the request to pay transaction is unknown. The request involves an entity that is not known or cannot be resolved. For example, the mobile number given to route the R2P to is not known to the organisation with responsibility for resolving the number to a debtor - whether that be Visa or another organisation depending on the service configuration and request to pay transaction.</td></tr> <tr><td>RC5xxx</td><td>Server Errors. May be seen as a result of errors internal to the processing system.</td></tr></table> <br>*Example:* `"RC1000"` | Yes |
| details | [ { **"field"**: string, **"reason"**: string } ] | Additional details on specific fields that triggered the error response where relevant. | No |
| message | string | *Example:* `"Data in the request is missing or invalid"` | Yes |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string | The requestMessageId mapped across from the callers request. Note that where Visa cannot process a request sufficiently to obtain a requestMessageId, this field will be populated with using a Visa generated Id prefixed with ERR. | Yes |
| responseMessageId | string |  | Yes |

#### refundR2pRequest_fromVisa Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | dueDate indicates the date that the payment request is asked to be settled by. DueDate is set to 90 days by default. | No |
| product | string |  | Yes |
| useCase | string |  | Yes |
| creditor | { **"creditorAlias"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"creditorAgentCountry"**: string } |  | Yes |
| requestReason | { **"message"**: string, **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"unicodeEmoji"**: string, **"paymentPurpose"**: string } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| paymentRequests | [ { **"debtorId"**: string, **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorIdType"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"paymentRequestId"**: string, **"debtorAgentCountry"**: string, **"debtorBusinessName"**: string, **"requestedAmountCurrency"**: string } ] | A list of payers, and their requested amounts, that Request to Pay transactions should be sent for linked to this request. Note that while maxLength is 1, this is specified as an array for future use cases. | No |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| settlementOptions | [ { **"settlementSystem"**: string, **"primaryAccountNumber"**: string } ] |  | Yes |

#### dict_r2pEntityId-1 Schema

Visa provided ID for the given service provider.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dict_r2pEntityId-1 |  | Visa provided ID for the given service provider. |  |

**Example**
<pre>VD123445</pre>

#### endToEndIds Schema

A transaction ID, unique to the creditor, that may be used independently of Visa IDs (i.e paymentRequestId) to identify the transaction between payee and payer service providers. Note that this value is set by the entity that submits the Initiate Request to Pay to Visa and we cannot determine who in the chain between the end user and Visa set this value.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndIds | [ string ] | A transaction ID, unique to the creditor, that may be used independently of Visa IDs (i.e paymentRequestId) to identify the transaction between payee and payer service providers. Note that this value is set by the entity that submits the Initiate Request to Pay to Visa and we cannot determine who in the chain between the end user and Visa set this value. |  |

**Example**
<pre>[
  "RFPid0001",
  "RFPid0002"
]</pre>

#### initiateR2pRequest_toVisa-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| requestReason | { **"message"**: string, **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"unicodeEmoji"**: string, **"paymentPurpose"**: string } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| requestOptions | { **"reminderSchedule"**: [ dateTime ], **"allowMultiplePayments"**: boolean, **"closeWithFirstPayment"**: boolean } | Optional field for B2C/P2P use case. This field serves as an indicator for different preferences associated with the payee. | No |
| paymentRequests | [ { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"requestedAmountCurrency"**: string } ] | A list of payers, and their requested amounts, that Request to Pay transactions should be sent for linked to this request. Note that while maxLength is 1, this is specified as an array for future use cases. | Yes |

#### initiateR2pRequest_toVisa-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| requestReason | { **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"paymentPurpose"**: string } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| paymentRequests | [ { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"requestedAmountCurrency"**: string } ] | A list of payers, and their requested amounts, that Request to Pay transactions should be sent for linked to this request. Note that while maxLength is 1, this is specified as an array for future use cases. | Yes |

#### r2p_paymentRequestType-1 Schema

<b>Conditional.</b> Specifies if the R2P is of type Refund and this is applicable only for Refund request.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_paymentRequestType-1 |  | <b>Conditional.</b> Specifies if the R2P is of type Refund and this is applicable only for Refund request. |  |

**Example**
<pre>REFUND</pre>

#### initiateR2pRequest_toVisa-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| requestReason | { **"message"**: , **"references"**: , **"unicodeEmoji"**: , **"paymentPurpose"**:  } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| requestOptions | { **"reminderSchedule"**: , **"allowMultiplePayments"**: , **"closeWithFirstPayment"**:  } | Optional field for B2C/P2P use case. This field serves as an indicator for different preferences associated with the payee. | No |
| paymentRequests |  | A list of payers, and their requested amounts, that Request to Pay transactions should be sent for linked to this request. Note that while maxLength is 1, this is specified as an array for future use cases. | Yes |

#### core_vdp_contentType-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| core_vdp_contentType-1 |  |  |  |

**Example**
<pre>application/json</pre>

#### initiateR2pRequest_toVisa-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| requestReason | { **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"paymentPurpose"**: string } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| requestOptions | { **"reminderSchedule"**: [ dateTime ], **"allowMultiplePayments"**: boolean } | Optional field for B2C/P2P use case. This field serves as an indicator for different preferences associated with the payee. | No |
| paymentRequests | [ { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"requestedAmountCurrency"**: string } ] | A list of payers, and their requested amounts, that Request to Pay transactions should be sent for linked to this request. Note that while maxLength is 1, this is specified as an array for future use cases. | Yes |

#### aliasKey-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| aliasKey-1 |  |  |  |

**Example**
<pre>447709123457</pre>

#### initiateR2pRequest_toVisa-7 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| requestReason | { **"message"**: string, **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"unicodeEmoji"**: string, **"paymentPurpose"**: string } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| requestOptions | { **"reminderSchedule"**: [ dateTime ], **"allowMultiplePayments"**: boolean, **"closeWithFirstPayment"**: boolean } | Optional field for B2C/P2P use case. This field serves as an indicator for different preferences associated with the payee. | No |
| paymentRequests | [ { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"requestedAmountCurrency"**: string } ] | A list of payers, and their requested amounts, that Request to Pay transactions should be sent for linked to this request. Note that while maxLength is 1, this is specified as an array for future use cases. | Yes |

#### paymentRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| requestedAmount |  |  | No |

#### paymentRequestMinResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| debtorId | string | <b>Conditional.</b> ID that may be used to uniquely identify the payer within the context of the debtorIdType. While an optional field in certain use cases (determined by product rules outlined here), certain capabilities such as search will be limited based on provided data to ensure data security. For example protecting against MSISDN re-use in mobile telephone markets. As such, Visa strongly recommends using this field. <table><tr><td>Product</td><td>Initiate Response from Visa</td><td>Initiate Response to Visa</td></tr> <tr><td>VD</td><td>Not included</td><td>Optional</td></tr></table> The debtorId is not shared with the payee agent. When responding to a Retrieve Request to Pay call, inclusion of the debtorId will be based on the role of the caller.  | No |
| endToEndId | string |  | Yes |
| debtorIdType | string |  | No |
| paymentRequestId | string |  | Yes |
| transactionStatus | string |  | Yes |

#### TaggedTransaction Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionId | string | Relevant transaction ID from the system the data is being tagged to. For example, transaction ID for Request to Pay | Yes |
| transactionIdType | string | The type of transaction the emoji/message is being tagged to. Valid values include: <table><tr><td>Value</td><td>Description</td></tr> <tr><td>R2P</td><td>Request to Pay transaction</td></tr> </table> <br>*Example:* `"R2P"` | Yes |
| settlementSystemReferenceId | string | Conditional. Mandatory when transactionIdType is 'R2P'. Reference ID provided by the settlement system that may be used for reconciliation. <br>*Example:* `"VIP1234567890"` | No |
| settlmentSystemReferenceType | string | Conditional. This must be provided when a settlementSystemReferenceId is provided. Settlement reference type acts like a metadata for the settlementSystemReferenceID field. Currently supported values are: <table> <tr><td>Value</td><td>Description</td></tr> <tr><td>RRN</td><td>Retrieval Reference Number.<br> Use when settlementSystem is VISA_DIRECT/MASTERCARD.</td><td>Available for both P2P and B2C.</td></tr> <tr><td>TXNID</td><td>Visa or Mastercard transaction ID</td><td>Available for both P2P and B2C.</td></tr> <tr><td>YPPID</td><td>Yellow Pepper PIS payment ID.<br>Use when settlementSystem is YELLOW_PEPPER.</td><td>Available for both P2P and B2C.</td></tr> </table>        <br>*Example:* `"RRN"` | No |

#### dict_dateTimeStamp-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dict_dateTimeStamp-1 | undefined (date-time) |  |  |

**Example**
<pre>2020-12-17T09:30:47Z</pre>

#### core_responseMessageId Schema

Unique point-to-point ID specified by the responder to an API request to support message reconciliation. When Visa is responding to a request the value is a unique id generated by Visa. When an entity is sending the API response, this value is generated by their system.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| core_responseMessageId | string | Unique point-to-point ID specified by the responder to an API request to support message reconciliation. When Visa is responding to a request the value is a unique id generated by Visa. When an entity is sending the API response, this value is generated by their system. |  |

**Example**
<pre>BB123454435JH</pre>

#### dict_dateStamp Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dict_dateStamp | date |  |  |

#### core_creationDateTime-1 Schema

The creationDateTime field indicates when this message leg was created. It is set by the party that prepares the payload.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| core_creationDateTime-1 | undefined (date-time) | The creationDateTime field indicates when this message leg was created. It is set by the party that prepares the payload. |  |

**Example**
<pre>2020-12-17T09:30:47Z</pre>

#### r2p_product Schema

The product field drives business logic specific to the Request to Pay processing that has been configured for the entity by Visa. For more information on product options please contact your Visa representative. Valid values include:
<table><tr><td>Value</td><td>Description</td></tr>
<tr><td>VD</td><td>Request to Pay is used as part of entity subscribed Visa Direct service.</td></tr></table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_product | string | The product field drives business logic specific to the Request to Pay processing that has been configured for the entity by Visa. For more information on product options please contact your Visa representative. Valid values include: <table><tr><td>Value</td><td>Description</td></tr> <tr><td>VD</td><td>Request to Pay is used as part of entity subscribed Visa Direct service.</td></tr></table>  |  |

**Example**
<pre>VD</pre>

#### r2p_transactionStatus Schema

Overall status of the Request to Pay transaction. 
It is expected that a successful Initiate Request to Pay will only return PDNG. Changes to the transaction status will be communicated in subsequent messages.
Valid values are:
<table><tr><td>Value</td><td>Description</td></tr>
<tr><td>PDNG</td><td>R2P has been created and is valid but has not been processed further by the payer.</td></tr>
<tr><td>RJCT</td><td>R2P could not be conveyed to the payer or the payer has rejected it. See the full transaction information for more detail.</td></tr>
<tr><td>ACCP</td><td>R2P has been accepted by the payer and a partial payment has been made. See the full transaction information for more detail.</td></tr>
<tr><td>ACSC</td><td>R2P has been accepted by the payer and payment has been confirmed as made. See the full transaction information for more detail.</td></tr>
<tr><td>CNCL</td><td>R2P has been cancelled by the payee. See the full transaction information for more detail.</td></tr>
<tr><td>EXPD</td><td>R2P has expired (i.e. the dueDate is in the past) and can no longer be updated.</td></tr>
</table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_transactionStatus | string | Overall status of the Request to Pay transaction.  It is expected that a successful Initiate Request to Pay will only return PDNG. Changes to the transaction status will be communicated in subsequent messages. Valid values are: <table><tr><td>Value</td><td>Description</td></tr> <tr><td>PDNG</td><td>R2P has been created and is valid but has not been processed further by the payer.</td></tr> <tr><td>RJCT</td><td>R2P could not be conveyed to the payer or the payer has rejected it. See the full transaction information for more detail.</td></tr> <tr><td>ACCP</td><td>R2P has been accepted by the payer and a partial payment has been made. See the full transaction information for more detail.</td></tr> <tr><td>ACSC</td><td>R2P has been accepted by the payer and payment has been confirmed as made. See the full transaction information for more detail.</td></tr> <tr><td>CNCL</td><td>R2P has been cancelled by the payee. See the full transaction information for more detail.</td></tr> <tr><td>EXPD</td><td>R2P has expired (i.e. the dueDate is in the past) and can no longer be updated.</td></tr> </table>  |  |

**Example**
<pre>PDNG</pre>

#### reminderEventType Schema

Indicating the event for which the notification is sending. Currently, the supported values are 'REMINDER', 'EXPIRED', 'REJECTED' and 'SETTLED'. Note :If a partial payment has been made and then the payee reduces the request to an amount less than what has already been paid, the request will be closed as 'Accepted and Settled' (ACSC). A notification with the event type as ‘SETTLED’ will then be sent to the service provider of the payer , informing them that the request the payer fulfilled has been closed. 

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reminderEventType | string | Indicating the event for which the notification is sending. Currently, the supported values are 'REMINDER', 'EXPIRED', 'REJECTED' and 'SETTLED'. Note :If a partial payment has been made and then the payee reduces the request to an amount less than what has already been paid, the request will be closed as 'Accepted and Settled' (ACSC). A notification with the event type as ‘SETTLED’ will then be sent to the service provider of the payer , informing them that the request the payer fulfilled has been closed.  |  |

**Example**
<pre>REMINDER, EXPIRED, REJECTED, SETTLED</pre>

#### settlementDetails Schema

<b>Conditional - Required if the Request to Pay is settled.</b> The list of payments received for the associated Request to Pay.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| settlementDetails | [ { **"message"**: string, **"unicodeEmoji"**: string, **"settledAmount"**: number, **"creditorAckEmoji"**: string, **"settlementSystem"**: string, **"creditorAckMessage"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string } ] | <b>Conditional - Required if the Request to Pay is settled.</b> The list of payments received for the associated Request to Pay.  |  |

#### initiateSettlementOption Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| receivingAlias | string | Conditional. This field is required when settlementSystem is DEFERRED_TO_ALIAS. Format and length validation are in place. | No |
| settlementSystem | string |  | Yes |
| receivingAliasType | string | Conditional. This field is required when receivingAlias is present. This indicates the type of alias provided and thus validation logic and business rules that will be applied to it. Should be supporting EMAIL,MOBL as aliasType. | No |
| primaryAccountNumber | string | Conditional. Primary Account Number (PAN) payment can be made to for this Request to Pay. For example, the creditors PAN or an agent allowed to receive funds for them. Validations limited to MOD10 checks. If Settlement System is Visa Direct or Mastercard, this field is required. | No |

#### transactionId Schema

Visa generated transaction ID. For example, transaction ID for Request to Pay.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionId | string | Visa generated transaction ID. For example, transaction ID for Request to Pay. |  |

**Example**
<pre>RFP01314</pre>

#### initiateSettlementOptions Schema

The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| initiateSettlementOptions | [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] | The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases. |  |

#### reminderEvents-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reminderEvents-1 |  |  |  |

#### agentId-1 Schema

Visa identifier for the payee/payer service provider.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| agentId-1 |  | Visa identifier for the payee/payer service provider. |  |

#### initiateR2pRequest_toVisa Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| requestReason | { **"message"**: string, **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"unicodeEmoji"**: string, **"paymentPurpose"**: string } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| requestOptions | { **"reminderSchedule"**: [ dateTime ], **"allowMultiplePayments"**: boolean, **"closeWithFirstPayment"**: boolean } | Optional field for B2C/P2P use case. This field serves as an indicator for different preferences associated with the payee. | No |
| paymentRequests | [ { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"requestedAmountCurrency"**: string } ] | A list of payers, and their requested amounts, that Request to Pay transactions should be sent for linked to this request. Note that while maxLength is 1, this is specified as an array for future use cases. | Yes |

#### multipleRetrieveR2pResponse-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequestDetail |  |  | No |

#### dict_country2 Schema

Specified using ISO3166-2.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dict_country2 | string | Specified using ISO3166-2. |  |

**Example**
<pre>UA</pre>

#### multipleRetrieveR2pResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequestDetail | [ { **"dueDate"**: date, **"message"**: string, **"product"**: string, **"useCase"**: string, **"creditor"**: { **"creditorId"**: string, **"creditorMcc"**: string, **"creditorAlias"**: string, **"creditorTaxId"**: string, **"creditorIdType"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"creditorAgentCountry"**: string, **"creditorBusinessName"**: string }, **"statusReason"**: string, **"requestReason"**: { **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"paymentPurpose"**: string }, **"paymentRequest"**: { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"requestedAmountCurrency"**: string }, **"creationDateTime"**: dateTime, **"responseMessageId"**: string, **"settlementDetails"**: [ { **"settledAmount"**: number, **"settlementSystem"**: string, **"debtorAccountDetail"**: { **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string } ], **"settlementOptions"**: [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ], **"transactionStatus"**: string, **"paymentRequestCreationDateTime"**: dateTime } ] |  | No |

#### creditor Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorId | string | <b>Conditional.</b> ID that may be used to uniquely identify the payee within the context of the creditorIdType (e.g., customer id assigned by service provider). While an optional field in certain use cases (determined by product rules outlined here), certain capabilities such as search will limited based on provided data to ensure data security. For example, protecting against MSISDN re-use in mobile telephone markets or payee having multiple telephone numbers. <table><tr><td>Product</td><td>Initiate Request to Visa</td><td>Initiate Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Omitted</td></tr></table> As seen in the table above, the creditorId is not shared with the payer agent. When responding to a Retrieve Request to Pay call, inclusion of the creditorId will be based on the role of the caller.  | No |
| creditorMcc | string | <b>Conditional.</b> Merchant Category Code applicable to the creditor for this transaction. Applicable for the B2C use case. | No |
| creditorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payee. This field may be optional in certain use cases (determined by product rules) for example where routing is driven by creditorId. Where creditorAlias is provided, creditorAliasType must also be provided. The structure and validations of the creditorAlias field are determined by the creditorAliasType value. | No |
| creditorTaxId | string | This field used to carry the tax reference applicable to the creditor or registration ID of the business entity for B2C use case. While defined as optional for the Visa API, this field is required where local regulation requires the tax ID to be compliant. | No |
| creditorIdType | string |  | No |
| creditorAgentId | string | Visa identifier for the payee service provider. | Yes |
| creditorCountry | string | Payees country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorLastName | string | <b>Conditional. Mandatory for P2P use case but optional for B2C</b>.The last name of the payee. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| creditorAliasType | string |  | No |
| creditorFirstName | string | <b>Conditional. Mandatory for P2P use case but optional for B2C</b> .The first name of the payee. | No |
| nationalIdentifiers | [ { **"type"**: string, **"value"**: string } ] | This field used to hold the national identifier (like a passport number) of a creditor in a B2C use case . While this field is optional in Visa API, it becomes mandatory where local regulation requires to send information about the registration identifier to the Payer while initiating a request to pay. | No |
| creditorAgentCountry | string | Payee service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorBusinessName | string | <b>Conditional.</b> Name of the business entity submitting the R2P request for example brand name/doing business as. Required for a B2C request. | No |

#### multipleRetrieveR2pResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequestDetail | [ { **"dueDate"**: date, **"message"**: string, **"product"**: string, **"useCase"**: string, **"creditor"**: { **"creditorId"**: string, **"creditorMcc"**: string, **"creditorAlias"**: string, **"creditorTaxId"**: string, **"creditorIdType"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"nationalIdentifiers"**: [ { **"type"**: string, **"value"**: string } ], **"creditorAgentCountry"**: string, **"creditorBusinessName"**: string }, **"statusReason"**: string, **"requestReason"**: { **"message"**: string, **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"unicodeEmoji"**: string, **"paymentPurpose"**: string }, **"paymentRequest"**: { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"acceptedAmount"**: number, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"acceptedAmountCurrency"**: string, **"requestedAmountCurrency"**: string }, **"requestOptions"**: { **"reminderSchedule"**: [ dateTime ], **"allowMultiplePayments"**: boolean, **"closeWithFirstPayment"**: boolean }, **"creationDateTime"**: dateTime, **"responseMessageId"**: string, **"settlementDetails"**: [ { **"message"**: string, **"unicodeEmoji"**: string, **"settledAmount"**: number, **"creditorAckEmoji"**: string, **"settlementSystem"**: string, **"creditorAckMessage"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string } ], **"settlementOptions"**: [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ], **"transactionStatus"**: string, **"paymentRequestCreationDateTime"**: dateTime } ] |  | No |

#### settlementSystem-1 Schema

Settlement mechanism or payment rail used for payments related to the payment request. Currently supported values are:
<table><tr><td>Value</td><td>Settlement mechanism or payment rail</td><td>Description</td></tr>
<tr><td>VISA_DIRECT</td><td>Visa Direct</td><td>Available for both P2P and B2C.</td></tr>
<tr><td>MASTERCARD</td><td>Mastercard</td><td>Available for only P2P not B2C.</td></tr>
</table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| settlementSystem-1 |  | Settlement mechanism or payment rail used for payments related to the payment request. Currently supported values are: <table><tr><td>Value</td><td>Settlement mechanism or payment rail</td><td>Description</td></tr> <tr><td>VISA_DIRECT</td><td>Visa Direct</td><td>Available for both P2P and B2C.</td></tr> <tr><td>MASTERCARD</td><td>Mastercard</td><td>Available for only P2P not B2C.</td></tr> </table>  |  |

**Example**
<pre>VISA_DIRECT</pre>

#### multipleRetrieveR2pResponse-7 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequestDetail | [ { **"dueDate"**: date, **"message"**: string, **"product"**: string, **"useCase"**: string, **"creditor"**: { **"creditorId"**: string, **"creditorMCC"**: string, **"creditorAlias"**: string, **"creditorTaxId"**: string, **"creditorIdType"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"nationalIdentifiers"**: [ { **"type"**: string, **"value"**: string } ], **"creditorAgentCountry"**: string, **"creditorBusinessName"**: string }, **"statusReason"**: string, **"requestReason"**: { **"message"**: string, **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"unicodeEmoji"**: string, **"paymentPurpose"**: string }, **"paymentRequest"**: { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"acceptedAmount"**: number, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"acceptedAmountCurrency"**: string, **"requestedAmountCurrency"**: string }, **"requestOptions"**: { **"reminderSchedule"**: [ dateTime ], **"allowMultiplePayments"**: boolean, **"closeWithFirstPayment"**: boolean }, **"creationDateTime"**: dateTime, **"responseMessageId"**: string, **"settlementDetails"**: [ { **"message"**: string, **"unicodeEmoji"**: string, **"settledAmount"**: number, **"creditorAckEmoji"**: string, **"settlementSystem"**: string, **"creditorAckMessage"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string } ], **"settlementOptions"**: [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ], **"transactionStatus"**: string, **"paymentRequestCreationDateTime"**: dateTime } ] |  | No |

#### multipleRetrieveR2pResponse-5 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequestDetail | [ { **"dueDate"**: date, **"message"**: string, **"product"**: string, **"useCase"**: string, **"creditor"**: { **"creditorId"**: string, **"creditorMcc"**: string, **"creditorAlias"**: string, **"creditorTaxId"**: string, **"creditorIdType"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"creditorAgentCountry"**: string, **"creditorBusinessName"**: string }, **"statusReason"**: string, **"requestReason"**: { **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"paymentPurpose"**: string }, **"paymentRequest"**: { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"acceptedAmount"**: number, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"acceptedAmountCurrency"**: string, **"requestedAmountCurrency"**: string }, **"requestOptions"**: { **"reminderSchedule"**: [ dateTime ], **"allowMultiplePayments"**: boolean }, **"creationDateTime"**: dateTime, **"responseMessageId"**: string, **"settlementDetails"**: [ { **"message"**: string, **"settledAmount"**: number, **"settlementSystem"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string } ], **"settlementOptions"**: [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ], **"transactionStatus"**: string, **"paymentRequestCreationDateTime"**: dateTime } ] |  | No |

#### multipleRetrieveR2pResponse-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequestDetail | [ { **"dueDate"**: date, **"message"**: string, **"product"**: string, **"useCase"**: string, **"creditor"**: { **"creditorId"**: string, **"creditorMcc"**: string, **"creditorAlias"**: string, **"creditorTaxId"**: string, **"creditorIdType"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"creditorAgentCountry"**: string, **"creditorBusinessName"**: string }, **"statusReason"**: string, **"requestReason"**: { **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"paymentPurpose"**: string }, **"paymentRequest"**: { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"acceptedAmount"**: number, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"acceptedAmountCurrency"**: string, **"requestedAmountCurrency"**: string }, **"requestOptions"**: { **"reminderSchedule"**: [ dateTime ], **"allowMultiplePayments"**: boolean }, **"creationDateTime"**: dateTime, **"responseMessageId"**: string, **"settlementDetails"**: [ { **"message"**: string, **"settledAmount"**: number, **"settlementSystem"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string } ], **"settlementOptions"**: [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ], **"transactionStatus"**: string, **"paymentRequestCreationDateTime"**: dateTime } ] |  | No |

#### retrieveR2pByPaymentRequestIdsRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| agentId | string |  | No |
| paymentRequestIds | [ string ] |  | Yes |

#### initiateR2pRequest_fromVisa-7 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| requestReason | { **"message"**: string, **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"unicodeEmoji"**: string, **"paymentPurpose"**: string } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| requestOptions | { **"allowMultiplePayments"**: boolean, **"closeWithFirstPayment"**: boolean } |  | No |
| paymentRequests | [ { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"requestedAmountCurrency"**: string } ] | A list of payers, and their requested amounts, that Request to Pay transactions should be sent for linked to this request. Note that while maxLength is 1, this is specified as an array for future use cases. | Yes |

#### settlementSystem Schema

Settlement mechanism or payment rail used for payments related to the payment request. Currently supported values are:
<table><tr><td>Value</td><td>Settlement mechanism or payment rail</td><td>Description</td></tr>
<tr><td>VISA_DIRECT</td><td>Visa Direct</td><td>Available for both P2P and B2C.</td></tr>
<tr><td>MASTERCARD</td><td>Mastercard</td><td>Available for only P2P not B2C.</td></tr>
</table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| settlementSystem | string | Settlement mechanism or payment rail used for payments related to the payment request. Currently supported values are: <table><tr><td>Value</td><td>Settlement mechanism or payment rail</td><td>Description</td></tr> <tr><td>VISA_DIRECT</td><td>Visa Direct</td><td>Available for both P2P and B2C.</td></tr> <tr><td>MASTERCARD</td><td>Mastercard</td><td>Available for only P2P not B2C.</td></tr> </table>  |  |

**Example**
<pre>VISA_DIRECT</pre>

#### TransactionTaggingRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| messageEvent | { **"creditorAckEmoji"**: , **"creditorAckMessage"**:  } | This is used to provide the information that need to be tagged to the transaction. Please note: At least one of the following attributes must be present. | Yes |
| taggedTransaction | { **"transactionId"**: , **"transactionIdType"**: , **"settlementSystemReferenceId"**: , **"settlmentSystemReferenceType"**:  } |  | Yes |

#### TransactionTaggingRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| messageEvent | { **"creditorAckEmoji"**: string, **"creditorAckMessage"**: string } | This is used to provide the information that need to be tagged to the transaction. Please note: At least one of the following attributes must be present. | Yes |
| taggedTransaction | { **"transactionId"**: string, **"transactionIdType"**: string, **"settlementSystemReferenceId"**: string, **"settlmentSystemReferenceType"**: string } |  | Yes |

#### r2p_blockReferenceId-1 Schema

Block Reference Id is the unique identifier of a block

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_blockReferenceId-1 |  | Block Reference Id is the unique identifier of a block |  |

**Example**
<pre>1166859742793422</pre>

#### initiateR2pRequest_fromVisa-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| requestReason | { **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"paymentPurpose"**: string } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| requestOptions | { **"allowMultiplePayments"**: boolean } |  | No |
| paymentRequests | [ { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"requestedAmountCurrency"**: string } ] | A list of payers, and their requested amounts, that Request to Pay transactions should be sent for linked to this request. Note that while maxLength is 1, this is specified as an array for future use cases. | Yes |

#### initiateR2pRequest_fromVisa-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| requestReason | { **"message"**: , **"references"**: , **"unicodeEmoji"**: , **"paymentPurpose"**:  } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| requestOptions | { **"allowMultiplePayments"**: , **"closeWithFirstPayment"**:  } |  | No |
| paymentRequests |  | A list of payers, and their requested amounts, that Request to Pay transactions should be sent for linked to this request. Note that while maxLength is 1, this is specified as an array for future use cases. | Yes |

#### referenceDataRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| referenceDataTypes | [ string ] | This field indicates the type of reference data in the request. Valid values include: <table><tr><td>Value</td><td>Description</td></tr> <tr><td>availableParticipants</td><td>This indicates the request is to get details of active R2P participants</td></tr></table>  | Yes |

#### blockedPayeesResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| product | string |  | Yes |
| blockReason | string | This indicates the block reason provided by payer during block operation.<br>*Example:* `"The Request to Pay is being rejected as a result of a block control"` | Yes |
| referenceId | string | Unique block referece id created during block opeartion<br>*Example:* `"116709992401522544782526"` | Yes |
| creditorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payee. This field may be optional in certain use cases (determined by product rules) for example where routing is driven by creditorId. Where creditorAlias is provided, creditorAliasType must also be provided. The structure and validations of the creditorAlias field are determined by the creditorAliasType value. | No |
| creditorAgentId | string | Visa identifier for the payee service provider. | Yes |
| blockCreatedDate | string | The blockCreatedDate field indicates the date timestamp when block has been applied on payee by the payer.<br>*Example:* `"2020-12-17T09:30:47Z"` | Yes |
| creditorLastName | string | <b>Conditional.</b>Last name of the blocked Payee. This is mandatory for blocks applied on P2P request but optional otherwise.<br>*Example:* `"Higgens"` | No |
| creditorAliasType | string |  | No |
| creditorFirstName | string | <b>Conditional.</b>First name of the blocked Payee. This is mandatory for blocks applied on P2P request but optional otherwise.<br>*Example:* `"John"` | No |
| creditorBusinessName | string | <b>Conditional.</b> Name of blocked business entity for example brand name/doing business as. This is applicable only when blocks applied by consumer on B2C request in which blocked payee will be a business entity.<br>*Example:* `"Stripe"` | No |

#### initiateR2pRequest_fromVisa-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| requestReason | { **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"paymentPurpose"**: string } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| paymentRequests | [ { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"requestedAmountCurrency"**: string } ] | A list of payers, and their requested amounts, that Request to Pay transactions should be sent for linked to this request. Note that while maxLength is 1, this is specified as an array for future use cases. | Yes |

#### referenceType Schema

Indicates the reference type. Valid values are:
<table>
<tr><td>Description</td></tr>
<tr><td>CONTRACTID</td></tr>
<tr><td>INVOICEID</td></tr>
<tr><td>ORDERID</td></tr>
<tr><td>TRACKINGID</td></tr>
<tr><td>PAYMENTID</td></tr>
<tr><td>OTHER</td></tr>
</table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| referenceType | string | Indicates the reference type. Valid values are: <table> <tr><td>Description</td></tr> <tr><td>CONTRACTID</td></tr> <tr><td>INVOICEID</td></tr> <tr><td>ORDERID</td></tr> <tr><td>TRACKINGID</td></tr> <tr><td>PAYMENTID</td></tr> <tr><td>OTHER</td></tr> </table>  |  |

**Example**
<pre>INVOICEID</pre>

#### initiateR2pRequest_fromVisa-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| requestReason | { **"message"**: string, **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"unicodeEmoji"**: string, **"paymentPurpose"**: string } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| requestOptions | { **"allowMultiplePayments"**: boolean, **"closeWithFirstPayment"**: boolean } |  | No |
| paymentRequests | [ { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"requestedAmountCurrency"**: string } ] | A list of payers, and their requested amounts, that Request to Pay transactions should be sent for linked to this request. Note that while maxLength is 1, this is specified as an array for future use cases. | Yes |

#### core_vdp_keyId-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| core_vdp_keyId-1 |  |  |  |

**Example**
<pre>1234567890-123456</pre>

#### nationalIdentifiersObject Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| type | string |  | Yes |
| value | string |  | Yes |

#### refundR2pRequest_fromVisa-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | dueDate indicates the date that the payment request is asked to be settled by. DueDate is set to 90 days by default. | No |
| product | string |  | Yes |
| useCase | string |  | Yes |
| creditor | { **"creditorAlias"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"creditorAgentCountry"**: string } |  | Yes |
| requestReason | { **"message"**: string, **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"unicodeEmoji"**: string, **"paymentPurpose"**: string } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| paymentRequests | [ { **"debtorId"**: string, **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorIdType"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"paymentRequestId"**: string, **"debtorAgentCountry"**: string, **"debtorBusinessName"**: string, **"requestedAmountCurrency"**: string } ] | A list of payers, and their requested amounts, that Request to Pay transactions should be sent for linked to this request. Note that while maxLength is 1, this is specified as an array for future use cases. | No |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| settlementOptions | [ { **"settlementSystem"**: string, **"primaryAccountNumber"**: string } ] |  | Yes |

#### initiateSettlementSystem-1 Schema

Settlement mechanism or payment rail used for payments related to the payment request. Currently supported values are:
<table><tr><td>Value</td><td>Settlement mechanism or payment rail</td><td>Description</td></tr>
<tr><td>VISA_DIRECT</td><td>Visa Direct</td><td>Available for both P2P and B2C.</td></tr>
<tr><td>MASTERCARD</td><td>Mastercard</td><td>Available for only P2P not B2C.</td></tr>
<tr><td>DEFERRED_TO_ALIAS</td><td>Deferred To Alias</td><td> Available only in LAC region now. Settlement rail is not provided with the Initiate R2P call but derived at the point of payment using the given alias. Available for only P2P not B2C.</td></tr></table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| initiateSettlementSystem-1 |  | Settlement mechanism or payment rail used for payments related to the payment request. Currently supported values are: <table><tr><td>Value</td><td>Settlement mechanism or payment rail</td><td>Description</td></tr> <tr><td>VISA_DIRECT</td><td>Visa Direct</td><td>Available for both P2P and B2C.</td></tr> <tr><td>MASTERCARD</td><td>Mastercard</td><td>Available for only P2P not B2C.</td></tr> <tr><td>DEFERRED_TO_ALIAS</td><td>Deferred To Alias</td><td> Available only in LAC region now. Settlement rail is not provided with the Initiate R2P call but derived at the point of payment using the given alias. Available for only P2P not B2C.</td></tr></table>  |  |

**Example**
<pre>VISA_DIRECT</pre>

#### amendR2pRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | Indicates the amended due date the payment request to be settled by. If this is not specified by the payee service provider as part of amend request, original due date will remain unchanged. | No |
| requestReason | { **"message"**: string, **"unicodeEmoji"**: string } | The requestReason block provides additional information to make clear to the payer what the request is for. | No |
| paymentRequest | { **"requestedAmount"**: number } |  | No |
| requestOptions | { **"reminderSchedule"**: [ dateTime ] } |  | No |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| settlementOptions | [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] |  | No |

#### r2p_useCase-1 Schema

The useCase field sets the use case that the Request to Pay is for, and combined with the product, drives specific business rules and validations for the transaction. Valid values are:
<table><tr><td>Value</td><td>Description</td></tr>
<tr><td>P2P</td><td>A Request to Pay sent from one consumer to another (i.e. Person to Person).</td></tr>
<tr><td>B2C</td><td>A Request to Pay sent from one business to a consumer.</td></tr></table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_useCase-1 |  | The useCase field sets the use case that the Request to Pay is for, and combined with the product, drives specific business rules and validations for the transaction. Valid values are: <table><tr><td>Value</td><td>Description</td></tr> <tr><td>P2P</td><td>A Request to Pay sent from one consumer to another (i.e. Person to Person).</td></tr> <tr><td>B2C</td><td>A Request to Pay sent from one business to a consumer.</td></tr></table>  |  |

**Example**
<pre>P2P</pre>

#### cancelR2pResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| responseMessageId | string |  | Yes |
| transactionStatus | string |  | Yes |

#### cancelR2pResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creationDateTime | undefined (date-time) |  | Yes |
| requestMessageId |  |  | Yes |
| responseMessageId |  |  | Yes |
| transactionStatus |  |  | Yes |

#### core_responseMessageId-1 Schema

Unique point-to-point ID specified by the responder to an API request to support message reconciliation. When Visa is responding to a request the value is a unique id generated by Visa. When an entity is sending the API response, this value is generated by their system.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| core_responseMessageId-1 |  | Unique point-to-point ID specified by the responder to an API request to support message reconciliation. When Visa is responding to a request the value is a unique id generated by Visa. When an entity is sending the API response, this value is generated by their system. |  |

**Example**
<pre>BB123454435JH</pre>

#### refundR2pRequest_fromVisa-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | undefined (date) | dueDate indicates the date that the payment request is asked to be settled by. DueDate is set to 90 days by default. | No |
| product |  |  | Yes |
| useCase |  |  | Yes |
| creditor | { **"creditorAlias"**: , **"creditorAgentId"**: , **"creditorCountry"**: , **"creditorLastName"**: , **"creditorAliasType"**: , **"creditorFirstName"**: , **"creditorAgentCountry"**:  } |  | Yes |
| requestReason | { **"message"**: , **"references"**: , **"unicodeEmoji"**: , **"paymentPurpose"**:  } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| paymentRequests |  | A list of payers, and their requested amounts, that Request to Pay transactions should be sent for linked to this request. Note that while maxLength is 1, this is specified as an array for future use cases. | No |
| creationDateTime | undefined (date-time) |  | Yes |
| requestMessageId |  |  | Yes |
| settlementOptions |  |  | Yes |

#### dict_r2pEntityId Schema

Visa provided ID for the given service provider.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dict_r2pEntityId | string | Visa provided ID for the given service provider. |  |

**Example**
<pre>VD123445</pre>

#### refundR2pRequest_fromVisa-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | dueDate indicates the date that the payment request is asked to be settled by. DueDate is set to 90 days by default. | No |
| product | string |  | Yes |
| useCase | string |  | Yes |
| creditor | { **"creditorAlias"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"creditorAgentCountry"**: string } |  | Yes |
| requestReason | { **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"paymentPurpose"**: string } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| paymentRequests | [ { **"debtorId"**: string, **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorIdType"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"paymentRequestId"**: string, **"debtorAgentCountry"**: string, **"debtorBusinessName"**: string, **"requestedAmountCurrency"**: string } ] | A list of payers, and their requested amounts, that Request to Pay transactions should be sent for linked to this request. Note that while maxLength is 1, this is specified as an array for future use cases. | No |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| settlementOptions | [ { **"settlementSystem"**: string, **"primaryAccountNumber"**: string } ] |  | Yes |

#### paymentRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| requestedAmount | number |  | No |

#### refundR2pRequest_fromVisa-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | dueDate indicates the date that the payment request is asked to be settled by. DueDate is set to 90 days by default. | No |
| product | string |  | Yes |
| useCase | string |  | Yes |
| creditor | { **"creditorAlias"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"creditorAgentCountry"**: string } |  | Yes |
| requestReason | { **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"paymentPurpose"**: string } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| paymentRequests | [ { **"debtorId"**: string, **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorIdType"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"paymentRequestId"**: string, **"debtorAgentCountry"**: string, **"debtorBusinessName"**: string, **"requestedAmountCurrency"**: string } ] | A list of payers, and their requested amounts, that Request to Pay transactions should be sent for linked to this request. Note that while maxLength is 1, this is specified as an array for future use cases. | No |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| settlementOptions | [ { **"settlementSystem"**: string, **"primaryAccountNumber"**: string } ] |  | Yes |

#### confirmR2pRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| message | string |  | No |
| endToEndId | string |  | Yes |
| statusReason | string |  | No |
| acceptedAmount | number | <b>Conditional - required if the transaction is considered accepted.</b> This is the value the payment request is accepted for. Currently it must match the requested amount except when ‘requestOptions[].closeWithFirstPayment’ flag is set to true in the Initiate R2P request.  | No |
| creationDateTime | dateTime |  | Yes |
| paymentRequestId | string |  | Yes |
| requestMessageId | string |  | Yes |
| settlementDetails | { **"message"**: string, **"unicodeEmoji"**: string, **"settledAmount"**: number, **"settlementSystem"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string } | Details of a payment received for an associated Request to Pay. | No |
| transactionStatus | string |  | Yes |
| acceptedAmountCurrency | string | <b>Conditional - required if the transaction is considered accepted.</b> Currency that the payment request is accepted in specified using ISO4217. Currently it must match the requested currency. | No |

#### dict_r2pIdType Schema

Required where a debtorId or creditorId is included, the ID type indicates who provided and can translate the related ID value. Currently valid values are:
<table><tr><td>Value</td><td>Description</td></tr>
<tr><td>AGENT</td><td>The service provider for the referenced end user provided the ID. e.g. The creditorAgent provided the creditorId.</td></tr>
<tr><td>AGENTPR</td><td>The processor/technical service provider connected to Visa on behalf of the service provider provided the ID.</td></tr></table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dict_r2pIdType | string | Required where a debtorId or creditorId is included, the ID type indicates who provided and can translate the related ID value. Currently valid values are: <table><tr><td>Value</td><td>Description</td></tr> <tr><td>AGENT</td><td>The service provider for the referenced end user provided the ID. e.g. The creditorAgent provided the creditorId.</td></tr> <tr><td>AGENTPR</td><td>The processor/technical service provider connected to Visa on behalf of the service provider provided the ID.</td></tr></table>  |  |

**Example**
<pre>AGENT</pre>

#### retrieveR2pByEndToEndIdsRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| agentId | string |  | No |
| endToEndIds | [ string ] |  | Yes |

#### dict_r2pIdType-1 Schema

Required where a debtorId or creditorId is included, the ID type indicates who provided and can translate the related ID value. Currently valid values are:
<table><tr><td>Value</td><td>Description</td></tr>
<tr><td>AGENT</td><td>The service provider for the referenced end user provided the ID. e.g. The creditorAgent provided the creditorId.</td></tr>
<tr><td>AGENTPR</td><td>The processor/technical service provider connected to Visa on behalf of the service provider provided the ID.</td></tr></table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dict_r2pIdType-1 |  | Required where a debtorId or creditorId is included, the ID type indicates who provided and can translate the related ID value. Currently valid values are: <table><tr><td>Value</td><td>Description</td></tr> <tr><td>AGENT</td><td>The service provider for the referenced end user provided the ID. e.g. The creditorAgent provided the creditorId.</td></tr> <tr><td>AGENTPR</td><td>The processor/technical service provider connected to Visa on behalf of the service provider provided the ID.</td></tr></table>  |  |

**Example**
<pre>AGENT</pre>

#### retrieveR2pByEndToEndIdsRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| agentId |  |  | No |
| endToEndIds |  |  | Yes |

#### dict_mcc Schema

Merchant Country Code values are specified as documented in ISO18245.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dict_mcc | string | Merchant Country Code values are specified as documented in ISO18245. |  |

**Example**
<pre>7995</pre>

#### r2p_product-1 Schema

The product field drives business logic specific to the Request to Pay processing that has been configured for the entity by Visa. For more information on product options please contact your Visa representative. Valid values include:
<table><tr><td>Value</td><td>Description</td></tr>
<tr><td>VD</td><td>Request to Pay is used as part of entity subscribed Visa Direct service.</td></tr></table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_product-1 |  | The product field drives business logic specific to the Request to Pay processing that has been configured for the entity by Visa. For more information on product options please contact your Visa representative. Valid values include: <table><tr><td>Value</td><td>Description</td></tr> <tr><td>VD</td><td>Request to Pay is used as part of entity subscribed Visa Direct service.</td></tr></table>  |  |

**Example**
<pre>VD</pre>

#### errorResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| code |  | Coded reason group this error response is considered part of. <table><tr><td>Value</td><td>Description</td></tr> <tr><td>RC1xxx</td><td>RC1xxx codes indicate an invalid request. Typically a syntactical issue with the API request such as a missing mandatory field incorrect field formatting.</td></tr> <tr><td>RC2xxx</td><td>RC2xxxx codes indicate a business validation failure. Typically, the request is syntactically correct but the request does not meet the business rules configured. For example, the debtor last name does not meet country specific validations.</td></tr> <tr><td>RC3xxx</td><td>RC3xxx codes indicate an authorisation failure. The request may be syntactically correct and meet the necessary business rules but breaches an additional control or configuration in place. i.e., The request is valid but not allowed at this time. Examples of reasons for this error include attempting to retrieve R2P details unrelated to the entity calling the retrieve request to pay API or submitting a B2C request when only configured for P2P requests.</td></tr> <tr><td>RC3001</td><td>Authorisation failure: The request is syntactically correct but cannot be accepted by Visa at this time as a result of an active block control.</td></tr> <tr><td>RC3002</td><td>Authorisation failure: The request is syntactically correct but cannot be accepted by Visa at this time as a result of velocity/frequency control.</td></tr> <tr><td>RC4xxx</td><td>RC4xxx codes indicate an entity in the request to pay transaction is unknown. The request involves an entity that is not known or cannot be resolved. For example, the mobile number given to route the R2P to is not known to the organisation with responsibility for resolving the number to a debtor - whether that be Visa or another organisation depending on the service configuration and request to pay transaction.</td></tr> <tr><td>RC5xxx</td><td>Server Errors. May be seen as a result of errors internal to the processing system.</td></tr></table> <br>*Example:* `"RC1000"` | Yes |
| details |  | Additional details on specific fields that triggered the error response where relevant. | No |
| message |  | *Example:* `"Data in the request is missing or invalid"` | Yes |
| creationDateTime | undefined (date-time) |  | Yes |
| requestMessageId |  | The requestMessageId mapped across from the callers request. Note that where Visa cannot process a request sufficiently to obtain a requestMessageId, this field will be populated with using a Visa generated Id prefixed with ERR. | Yes |
| responseMessageId |  |  | Yes |

#### paymentRequestForRetrieve-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndId |  |  | Yes |
| debtorAlias |  | <b>Conditional.</b> The alias used to identify and route to the payer. Where debtorAlias is provided, debtorAliasType must also be provided. The structure and validations of the debtorAlias field are determined by the debtorAliasType value. <table><tr><td>Product</td><td>Initiate Request to Visa</td><td>Initiate Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Mandatory</td></tr></table> | No |
| debtorAgentId |  | Visa identifier for the payer service provider. | Yes |
| debtorCountry |  | Payers country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| acceptedAmount |  |  | No |
| debtorLastName |  | The last name of the payer. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| debtorAliasType |  |  | No |
| debtorFirstName |  | The first name of the payer.</b> | No |
| requestedAmount |  |  | Yes |
| debtorAgentCountry |  | Payer service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| acceptedAmountCurrency |  |  | No |
| requestedAmountCurrency |  |  | Yes |

#### paymentRequestForRetrieve-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndId | string |  | Yes |
| debtorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payer. Where debtorAlias is provided, debtorAliasType must also be provided. The structure and validations of the debtorAlias field are determined by the debtorAliasType value. <table><tr><td>Product</td><td>Initiate Request to Visa</td><td>Initiate Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Mandatory</td></tr></table> | No |
| debtorAgentId | string | Visa identifier for the payer service provider. | Yes |
| debtorCountry | string | Payers country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| acceptedAmount | number |  | No |
| debtorLastName | string | <b>Conditional.</b> The last name of the payer.Mandatory for P2P and B2C request but optional for refund of B2C request. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| debtorAliasType | string |  | No |
| debtorFirstName | string | <b>Conditional.</b> The first name of the payer. Mandatory for P2P and B2C request but optional for refund of B2C request. | No |
| requestedAmount | number |  | Yes |
| debtorAgentCountry | string | Payer service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| acceptedAmountCurrency | string |  | No |
| requestedAmountCurrency | string |  | Yes |

#### paymentRequestForRetrieve-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndId | string |  | Yes |
| debtorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payer. Where debtorAlias is provided, debtorAliasType must also be provided. The structure and valiations of the debtorAlias field are determined by the debtorAliasType value. <table><tr><td>Product</td><td>Initiate Request to Visa</td><td>Initiate Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Mandatory</td></tr></table> | No |
| debtorAgentId | string | Visa identifier for the payer service provider. | Yes |
| debtorCountry | string | Payers country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| debtorLastName | string | <b>Conditional.</b> The last name of the payer.Mandatory for P2P and B2C request but optional for refund of B2C request. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| debtorAliasType | string |  | No |
| debtorFirstName | string | <b>Conditional.</b> The first name of the payer. Mandatory for P2P and B2C request but optional for refund of B2C request. | No |
| requestedAmount | number |  | Yes |
| debtorAgentCountry | string | Payer service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| requestedAmountCurrency | string |  | Yes |

#### paymentRequest_initiated-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| debtorId | string | <b>Conditional.</b> ID that may be used to uniquely identify the payer within the context of the debtorIdType. While an optional field in certain use cases (determined by product rules outlined here), certain capabilities such as search will be limited based on provided data to ensure data security. For example protecting against MSISDN re-use in mobile telephone markets. As such, Visa strongly recommends using this field.  The debtorId is not shared with the payee agent. When responding to a Retrieve Request to Pay call, inclusion of the debtorId will be based on the role of the caller.  | No |
| debtorIdType | string |  | No |
| paymentRequestId | string |  | Yes |
| debtorBusinessName | string | <b>Conditional.</b> Name of the business entity to whom refund R2P is requested. This field is applicable only for refund of B2C request. | No |
| paymentRequestType | string |  | No |
| originalPaymentRequestId | string | <b>Conditional.</b> Original Payment RequestId is provided in parent transaction by Visa for which refund is requested.This field is applicable only for refund request. | No |

#### core_creationDateTime Schema

The creationDateTime field indicates when this message leg was created. It is set by the party that prepares the payload.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| core_creationDateTime | dateTime | The creationDateTime field indicates when this message leg was created. It is set by the party that prepares the payload. |  |

**Example**
<pre>2020-12-17T09:30:47Z</pre>

#### paymentRequest_initiated-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| debtorId |  | <b>Conditional.</b> ID that may be used to uniquely identify the payer within the context of the debtorIdType. While an optional field in certain use cases (determined by product rules outlined here), certain capabilities such as search will be limited based on provided data to ensure data security. For example protecting against MSISDN re-use in mobile telephone markets. As such, Visa strongly recommends using this field.  The debtorId is not shared with the payee agent. When responding to a Retrieve Request to Pay call, inclusion of the debtorId will be based on the role of the caller.  | No |
| debtorIdType |  |  | No |
| paymentRequestId |  |  | Yes |
| debtorBusinessName |  | <b>Conditional.</b> Name of the business entity to whom refund R2P is requested. This field is applicable only for refund of B2C request. | No |
| paymentRequestType |  |  | No |
| originalPaymentRequestId |  | <b>Conditional.</b> Original Payment RequestId is provided in parent transaction by Visa for which refund is requested. This field is applicable only for refund request. | No |

#### viewBlockResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| blockedPayees | [ { **"product"**: string, **"blockReason"**: string, **"referenceId"**: string, **"creditorAlias"**: string, **"creditorAgentId"**: string, **"blockCreatedDate"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"creditorBusinessName"**: string } ] | Following the view block request from payer/debtor,Visa R2P service will return details of active blocks(only) the payer/debtor had applied on payee in the past. | Yes |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| responseMessageId | string |  | Yes |

#### paymentRequest_initiated-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| debtorId | string | <b>Conditional.</b> ID that may be used to uniquely identify the payer within the context of the debtorIdType. While an optional field in certain use cases (determined by product rules outlined here), certain capabilities such as search will be limited based on provided data to ensure data security. For example protecting against MSISDN re-use in mobile telephone markets. As such, Visa strongly recommends using this field.  The debtorId is not shared with the payee agent. When responding to a Retrieve Request to Pay call, inclusion of the debtorId will be based on the role of the caller.  | No |
| debtorIdType | string |  | No |
| paymentRequestId | string |  | Yes |
| debtorBusinessName | string | <b>Conditional.</b> Name of the business entity to whom refund R2P is requested. This field is applicable only for refund of B2C request. | No |
| paymentRequestType | string |  | No |
| originalPaymentRequestId | string | <b>Conditional.</b> Original Payment RequestId is provided in parent transaction by Visa for which refund is requested. This field is applicable only for refund request. | No |

#### paymentRequest_initiated Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| debtorId | string | <b>Conditional.</b> ID that may be used to uniquely identify the payer within the context of the debtorIdType. While an optional field in certain use cases (determined by product rules outlined here), certain capabilities such as search will be limited based on provided data to ensure data security. For example protecting against MSISDN re-use in mobile telephone markets. As such, Visa strongly recommends using this field.  The debtorId is not shared with the payee agent. When responding to a Retrieve Request to Pay call, inclusion of the debtorId will be based on the role of the caller.  | No |
| debtorIdType | string |  | No |
| paymentRequestId | string |  | Yes |
| debtorBusinessName | string | <b>Conditional.</b> Name of the business entity to whom refund R2P is requested. This field is applicable only for refund of B2C request. | No |
| paymentRequestType | string |  | No |
| originalPaymentRequestId | string | <b>Conditional.</b> Original Payment RequestId is provided in parent transaction by Visa for which refund is requested. This field is applicable only for refund request. | No |

#### requestOptionsAmend-1 Schema

Optional field for B2C/P2P use case. This field serves as an indicator for different preferences associated with the payee. At present, it is utilized to facilitate the feature of scheduling reminders.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reminderSchedule |  | This enables payees to set automated reminders for a request to pay. Currently maximum of 3 reminders, 1 per day can be scheduled. Reminders can be scheduled via Initiate or Amend API. Through the Amend API, the payee can modify or remove future scheduled reminders. However, reminders that have already been sent cannot be changed or removed during amendment. Given future reminders associated with a request, blank reminder list will result in the deletion of all reminders linked to the respective request.<br>*Example:* `["2023-05-30T09:30:47Z","2023-06-11T11:22:33Z","2023-07-11T11:22:33Z"]` | No |

#### settlementOptions-1 Schema

The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| settlementOptions-1 | [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] | The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases. |  |

#### settlementOptions-2 Schema

The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| settlementOptions-2 |  | The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases. |  |

#### notificationR2pRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| events | [ { **"eventType"**: string, **"paymentRequestId"**: string } ] |  | Yes |
| agentId | string | Visa identifier for the service provider to whom the notification is sending. | Yes |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |

#### dict_paymentCurrency Schema

Currency request or payment is denominated in, specified using ISO4217. For domestic transactions the currency is expected to be the local currency for the country.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dict_paymentCurrency | string | Currency request or payment is denominated in, specified using ISO4217. For domestic transactions the currency is expected to be the local currency for the country. |  |

**Example**
<pre>UAH</pre>

#### refund_paymentAmount Schema

Value that the refund request or refund payment is for. This should be less than or equal to the original Request to Pay settled amount. Note that while this field supports ISO20022 decimal references (12.5), consideration should be given to the supported values in other contexts such as settlement options. For example card payments processed in an ISO8583 environment where values can only support 9.3 formats.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| refund_paymentAmount | number | Value that the refund request or refund payment is for. This should be less than or equal to the original Request to Pay settled amount. Note that while this field supports ISO20022 decimal references (12.5), consideration should be given to the supported values in other contexts such as settlement options. For example card payments processed in an ISO8583 environment where values can only support 9.3 formats. |  |

**Example**
<pre>100</pre>

#### MessageEvent-1 Schema

This is used to provide the information that need to be tagged to the transaction. Please note: At least one of the following attributes must be present.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorAckEmoji | string | This allows the payee to send a single, compliance-approved emoji as an acknowledgement for the payment they received to the payer. Please refer the implementation guide for the list of approved emojis. | No |
| creditorAckMessage | string | This allows the payee to send a single, pre-approved message as an acknowledgement for the payment they received to the payer. Please refer the implementation guide for the list of approved text messages. | No |

#### MessageEvent-2 Schema

This is used to provide the information that need to be tagged to the transaction. Please note: At least one of the following attributes must be present.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorAckEmoji |  | This allows the payee to send a single emoji as an acknowledgement for the payment they received to the payer. Please refer the implementation guide for the list of supported emojis. | No |
| creditorAckMessage |  | This allows the payee to send a single message as an acknowledgement for the payment they received to the payer. Please refer the implementation guide for the list of supported pre-defined messages. | No |

#### viewBlockRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| debtorId |  | The debtorID originally provided by the users agent or their processor when responding to the Initiate Request to Pay call.  | Yes |
| debtorIdType |  |  | Yes |
| debtorAgentId |  | <b>Conditional.</b>. Required when this API is called by an agents processor, the debtorAgentId indicates what service provider they are calling on behalf of.<br>*Example:* `455200923457` | No |
| creationDateTime | undefined (date-time) |  | Yes |
| requestMessageId |  |  | Yes |

#### amendSettlementOptions Schema

The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| amendSettlementOptions | [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] | The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases. |  |

#### type-2 Schema

This indicates the type of National Identifier provided. Currently the valid value is 'PASSPORT'.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| type-2 |  | This indicates the type of National Identifier provided. Currently the valid value is 'PASSPORT'. |  |

**Example**
<pre>PASSPORT</pre>

#### type-1 Schema

National identifier type information. Only PASSPORT type is supported as a valid type.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| type-1 | string | National identifier type information. Only PASSPORT type is supported as a valid type. |  |

**Example**
<pre>PASSPORT</pre>

#### creditorForRetrieve Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorId | string | <b>Conditional.</b> ID that may be used to uniquely identify the payee within the context of the creditorIdType (e.g., customer id assigned by service provider). While an optional field in certain use cases (determined by product rules outlined here), certain capabilities such as search will limited based on provided data to ensure data security. For example, protecting against MSISDN re-use in mobile telephone markets. <table><tr><td>Product</td><td>Initiate/Refund Request to Visa</td><td>Initiate/Refund Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Omitted</td></tr></table> As seen in the table above, the creditorId is not shared with the payer agent. When responding to a Retrieve Request to Pay call, inclusion of the creditorId will be based on the role of the caller.  | No |
| creditorMcc | string |  <b>Conditional.</b> Merchant Category Code applicable to the creditor for this transaction. Required for a B2C request. | No |
| creditorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payee. This field may be optional in certain use cases (determined by product rules) for example where routing is driven by creditorId. Where creditorAlias is provided, creditorAliasType must also be provided. The structure and validations of the creditorAlias field are determined by the creditorAliasType value. | No |
| creditorTaxId | string | The tax reference applicable to the creditor or registration ID of the business entity in B2C use case. While defined as optional for the Visa API, this field is required where local regulation requires the tax ID to be compliant. | No |
| creditorIdType | string |  | No |
| creditorAgentId | string | Visa identifier for the payee service provider. | Yes |
| creditorCountry | string | Payees country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorLastName | string | <b>Conditional.</b> Mandatory for P2P use case but optional otherwise. The last name of the payee. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| creditorAliasType | string |  | No |
| creditorFirstName | string | <b>Conditional.</b> Mandatory for P2P use case but optional otherwise. The first name of the payee. | No |
| nationalIdentifiers | [ { **"type"**: string, **"value"**: string } ] | This field used to hold the national identifier (like a passport number) of a creditor in a B2C use case . While this field is optional in Visa API, it becomes mandatory where local regulation requires to send information about the registration identifier to the Payer while initiating a request to pay. This information is present in the response only if creditor sends the information during request to pay initiation. | No |
| creditorAgentCountry | string | Payee service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorBusinessName | string | <b>Conditional.</b> Name of the business entity submitting the R2P request for example brand name/doing business as. Required for a B2C request. | No |

#### initiateR2pResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequests | [ { **"debtorId"**: string, **"endToEndId"**: string, **"debtorIdType"**: string, **"paymentRequestId"**: string, **"transactionStatus"**: string } ] | The list of Request to Pay transactions created by the request including current status. Please note: * paymentRequestIds must match those provided in the Initiate R2P request. * While maxLength is 1, this is specified as an array for future use cases.  | Yes |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| responseMessageId | string |  | Yes |

#### settlementOptions Schema

The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| settlementOptions | [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] | The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases. |  |

#### settlementRecordRetrieve-2 Schema

Details of a payment received for an associated Request to Pay.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| message |  | Allows the payer to include a single message as part of the payment confirmation to the payee. Please refer the implementation guide for the list of supported pre-defined messages. | No |
| unicodeEmoji |  | Allows the payer to include a single emoji as part of the payment confirmation to the payee. Please refer the implementation guide for the list of supported emojis. | No |
| settledAmount |  | This is the value the payment is for. | Yes |
| creditorAckEmoji |  | Allows the payee to send a single emoji as an acknowledgement for the payment they received to the payer. Please refer the implementation guide for the list of supported emojis. | No |
| settlementSystem |  |  | Yes |
| creditorAckMessage |  | Allows the payee to send a single message as an acknowledgement for the payment they received to the payer. Please refer the implementation guide for the list of supported pre-defined messages. | No |
| debtorAccountDetail | { **"debtorTaxId"**: , **"primaryAccountNumber"**:  } | Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. For example, when selecting VISA_DIRECT as the settlementSystem for the payment, primaryAccountNumber is required. Parameter debtorTaxId is optional. | No |
| creditorAccountDetail | { **"receivingAlias"**: , **"receivingAliasType"**: , **"primaryAccountNumber"**:  } | Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. | Yes |
| settledAmountCurrency |  | Currency that the payment is in, specified using ISO4217. Currently it must match the requested currency. | Yes |
| settlementSystemReferenceId |  | Reference ID provided by the settlement system that may be used for reconciliation.  <br>*Example:* `"VIP1234567890"` | Yes |
| settlementSystemReferenceType |  |  | No |

#### settlementRecordRetrieve-1 Schema

Details of a payment received for an associated Request to Pay.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| message | string | Allows the payer to include a single, compliance approved, message as part of the payment confirmation to the payee. Please refer the implementation guide for the list of approved text messages. | No |
| unicodeEmoji | string | Allows the payer to include a single, compliance approved, emoji as part of the payment confirmation to the payee. Please refer the implementation guide for the list of approved emojis. | No |
| settledAmount | number | This is the value the payment is for. | Yes |
| creditorAckEmoji | string | Allows the payee to send a single, compliance-approved emoji as an acknowledgement for the payment they received to the payer. Please refer the implementation guide for the list of approved emojis. | No |
| settlementSystem | string |  | Yes |
| creditorAckMessage | string | Allows the payee to send a single, pre-approved message as an acknowledgement for the payment they received to the payer. Please refer the implementation guide for the list of approved text messages. | No |
| debtorAccountDetail | { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string } | Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. For example, when selecting VISA_DIRECT as the settlementSystem for the payment, primaryAccountNumber is required. Parameter debtorTaxId is optional. | No |
| creditorAccountDetail | { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } | Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. | Yes |
| settledAmountCurrency | string | Currency that the payment is in, specified using ISO4217. Currently it must match the requested currency. | Yes |
| settlementSystemReferenceId | string | Reference ID provided by the settlement system that may be used for reconciliation. <br>*Example:* `"VIP1234567890"` | Yes |
| settlementSystemReferenceType | string |  | No |

#### r2p_originalPaymentRequestId-1 Schema

Visa generated transaction ID for the original R2P transaction. Note that while this field supports up to 35 characters, Request to Pay IDs generated by Visa are 21 characters long.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_originalPaymentRequestId-1 |  | Visa generated transaction ID for the original R2P transaction. Note that while this field supports up to 35 characters, Request to Pay IDs generated by Visa are 21 characters long. |  |

**Example**
<pre>RFP01314</pre>

#### core_requestMessageId Schema

Unique point-to-point ID specified by the API requestor. Included in responses to support request/response reconciliation, the requestMessageId is mapped directly from the inbound request. When an entity sends the API request  to Visa the value is generated by their system; conversely when Visa sends the API request the value is generated by Visa.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| core_requestMessageId | string | Unique point-to-point ID specified by the API requestor. Included in responses to support request/response reconciliation, the requestMessageId is mapped directly from the inbound request. When an entity sends the API request  to Visa the value is generated by their system; conversely when Visa sends the API request the value is generated by Visa. |  |

**Example**
<pre>GG9983636387737JH</pre>

#### settlementRecordRetrieve-3 Schema

Details of a payment received for an associated Request to Pay.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| message | string | Payee to include a single, compliance approved, message as part of a Request to Pay to a payer. | No |
| settledAmount | number | This is the value the payment is for. Currently it must match the requested amount." | Yes |
| settlementSystem | string |  | Yes |
| debtorAccountDetail | { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string } | Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. For example, when selecting VISA_DIRECT as the settlementSystem for the payment, primaryAccountNumber is required. Parameter debtorTaxId is optional. | No |
| creditorAccountDetail | { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } | Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. | Yes |
| settledAmountCurrency | string | Currency that the payment is in, specified using ISO4217. Currently it must match the requested currency. | Yes |
| settlementSystemReferenceId | string | Reference ID provided by the settlement system that may be used for reconciliation. Visa recommends the following sources of information: <table> <tr><td><b>settlementSystem</b></td><td><b>Reference ID source</b></td></tr> <tr><td>VISA_DIRECT</td><td>RRN</td></tr> <tr><td>MASTERCARD</td><td>RRN</td></tr> <tr><td>YELLOW_PEPPER</td><td>paymentId</td></tr> </table> <br>*Example:* `"VIP1234567890"` | Yes |
| settlementSystemReferenceType | string |  | No |

#### nationalIdentifiers Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| nationalIdentifiers | [ { **"type"**: string, **"value"**: string } ] |  |  |

#### referenceBlock-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| referenceDate | undefined (date) | Indicates the date relevant for the mentioned references | No |
| referenceType |  |  | Yes |
| referenceValue |  |  | Yes |

#### referenceDataRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| referenceDataTypes | [ string ] | This field indicates the type of reference data in the request. Valid values include: <table><tr><td>Value</td><td>Description</td></tr> <tr><td>availableParticipants</td><td>This indicates the request is to get details of active R2P participants</td></tr></table>  | Yes |

#### paymentRequest_toVisa Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndId | string |  | Yes |
| debtorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payer. Where debtorAlias is provided, debtorAliasType must also be provided. The structure and validations of the debtorAlias field are determined by the debtorAliasType value. <table><tr><td>Product</td><td>Initiate Request to Visa</td><td>Initiate Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Mandatory</td></tr></table> | No |
| debtorAgentId | string | <b>Conditional.</b> Visa identifier for the payer service provider.While this may be omitted by the creditor agent if they have subscribed to in-flight resolution for debtor routing, it will be included by Visa when routing to the debtor agent.If provided by the Creditor Agent then that will be used for R2P routing. | No |
| debtorCountry | string | Payers country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| debtorLastName | string | The last name of the payer. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| debtorAliasType | string |  | No |
| debtorFirstName | string | The first name of the payer. | No |
| requestedAmount | number |  | Yes |
| debtorAgentCountry | string | Payer service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| requestedAmountCurrency | string |  | Yes |

#### referenceDataRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creationDateTime | undefined (date-time) |  | Yes |
| requestMessageId |  |  | Yes |
| referenceDataTypes |  | This field indicates the type of reference data in the request. Valid values include: <table><tr><td>Value</td><td>Description</td></tr> <tr><td>availableParticipants</td><td>This indicates the request is to get details of active R2P participants</td></tr></table>  | Yes |

#### requestReason Schema

The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| message | string | This field allows the payee to include a single message as part of the request to pay to the payer. Please refer the implementation guide for the list of supported pre-defined messages.  | No |
| references | [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ] | A list of references send by Payee to be linked to this request. | No |
| unicodeEmoji | string | This field allows the payee to include a single emoji as part of the request to pay to the payer. Please refer the implementation guide for the list of supported emojis. | No |
| paymentPurpose | string | Regulatory Payment Purpose indicator. The value of this field will be determined by regulatory environment that the creditor and debtor are subject to. Typically these values will be defined by the central bank or other responsible regulator for the creditors country of business. While defined as optional in the Visa API, it will be required where the creditors country legally mandates it. | No |

#### paymentPurpose-1 Schema

Regulatory Payment Purpose indicator. The value of this field will be determined by regulatory environment that the creditor and debtor are subject to. Typically these values will be defined by the central bank or other responsibile regulator for the creditors country of business. While defined as optional in the Visa API, it will be required where the creditors country legally mandates it.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentPurpose-1 | string | Regulatory Payment Purpose indicator. The value of this field will be determined by regulatory environment that the creditor and debtor are subject to. Typically these values will be defined by the central bank or other responsibile regulator for the creditors country of business. While defined as optional in the Visa API, it will be required where the creditors country legally mandates it. |  |

#### paymentPurpose-2 Schema

Regulatory Payment Purpose indicator. The value of this field will be determined by regulatory environment that the creditor and debtor are subject to. Typically these values will be defined by the central bank or other responsible regulator for the creditors country of business. While defined as optional in the Visa API, it will be required where the creditors country legally mandates it.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentPurpose-2 |  | Regulatory Payment Purpose indicator. The value of this field will be determined by regulatory environment that the creditor and debtor are subject to. Typically these values will be defined by the central bank or other responsible regulator for the creditors country of business. While defined as optional in the Visa API, it will be required where the creditors country legally mandates it. |  |

#### core_vdp_keyId Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| core_vdp_keyId | string |  |  |

**Example**
<pre>1234567890-123456</pre>

#### retrieveR2pByEndToEndIdsRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| agentId | string |  | No |
| endToEndIds | [ string ] |  | Yes |

#### firstName Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| firstName | string |  |  |

**Example**
<pre>Alex</pre>

#### amendR2pRequest-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | undefined (date) | Indicates the amended due date the payment request to be settled by. If this is not specified by the payee service provider as part of amend request, original due date will remain unchanged. | No |
| requestReason | { **"message"**: , **"unicodeEmoji"**:  } | The requestReason block provides additional information to make clear to the payer what the request is for. | No |
| paymentRequest | { **"requestedAmount"**:  } |  | No |
| requestOptions | { **"reminderSchedule"**:  } |  | No |
| creationDateTime | undefined (date-time) |  | Yes |
| requestMessageId |  |  | Yes |
| settlementOptions |  |  | No |

#### amendR2pRequest-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | Indicates the amended due date the payment request to be settled by. If this is not specified by the payee service provider as part of amend request, original due date will remain unchanged. | No |
| paymentRequest | { **"requestedAmount"**: number } |  | No |
| requestOptions | { **"reminderSchedule"**: [ dateTime ] } |  | No |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |

#### amendR2pRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | Indicates the amended due date the payment request to be settled by. If this is not specified by the payee service provider as part of amend request, original due date will remain unchanged. | No |
| requestReason | { **"message"**: string, **"unicodeEmoji"**: string } | The requestReason block provides additional information to make clear to the payer what the request is for. | No |
| paymentRequest | { **"requestedAmount"**: number } |  | No |
| requestOptions | { **"reminderSchedule"**: [ dateTime ] } |  | No |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |

#### amendR2pRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | Indicates the amended due date the payment request to be settled by. If this is not specified by the payee service provider as part of amend request, original due date will remain unchanged. | No |
| paymentRequest | { **"requestedAmount"**: number } |  | No |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |

#### taxId Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| taxId | string |  |  |

**Example**
<pre>HMRC1234567890</pre>

#### errorDetails Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| field | string | The field from the payload related to the described issue.<br>*Example:* `"$.requestMessageId"` | Yes |
| reason | string | Additional information on why this field is causing the issue outlined by the error code.<br>*Example:* `"does not match the regex pattern"` | Yes |

#### transactionId-1 Schema

Visa generated transaction ID. For example, transaction ID for Request to Pay.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionId-1 |  | Visa generated transaction ID. For example, transaction ID for Request to Pay. |  |

**Example**
<pre>RFP01314</pre>

#### refundSettlementOptions-1 Schema

The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| refundSettlementOptions-1 |  | The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases. |  |

#### settlementOption-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| receivingAlias |  | Conditional. This field is required when settlementSystem is DEFERRED_TO_ALIAS. Format and length validation are in place. | No |
| settlementSystem |  |  | Yes |
| receivingAliasType |  | Conditional. This field is required when receivingAlias is present. This indicates the type of alias provided and thus validation logic and business rules that will be applied to it. Should be supporting EMAIL,MOBL as aliasType. | No |
| primaryAccountNumber |  | Conditional. Primary Account Number (PAN) payment can be made to for this Request to Pay. For example, the creditors PAN or an agent allowed to receive funds for them. Validations limited to MOD10 checks. If Settlement System is Visa Direct or Mastercard, this field is required. | No |

#### settlementOption-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| receivingAlias | string | Conditional. This field is required when settlementSystem is DEFERRED_TO_ALIAS.Format and length validation are in place. | No |
| settlementSystem | string |  | Yes |
| receivingAliasType | string | Conditional. This field is required when receivingAlias is present.This indicates the type of alias provided and thus validation logic and business rules that will be applied to it.Should be supporting EMAIL,MOBL as aliasType. | No |
| primaryAccountNumber | string | Conditional. Primary Account Number (PAN) payment can be made to for this Request to Pay. For example, the creditors PAN or an agent allowed to receive funds for them. Validations limited to MOD10 checks. If Settlement System is Visa Direct or Mastercard, this field is required. | No |

#### r2p_blockReferenceId Schema

Block Reference Id is the unique identifier of a block

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_blockReferenceId | string | Block Reference Id is the unique identifier of a block |  |

**Example**
<pre>1166859742793422</pre>

#### refundR2pRequest_toVisa-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditor | { **"creditorId"**: , **"creditorIdType"**:  } |  | Yes |
| paymentRequests |  | A list of payers, and their requested amounts, that Request to Pay transactions should be sent for linked to this request. Note that while maxLength is 1, this is specified as an array for future use cases. | Yes |
| creationDateTime | undefined (date-time) |  | Yes |
| requestMessageId |  |  | Yes |
| settlementOptions |  |  | Yes |

#### refundR2pRequest_toVisa-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditor | { **"creditorId"**: string, **"creditorIdType"**: string } |  | Yes |
| paymentRequests | [ { **"endToEndId"**: string, **"requestedAmount"**: number } ] | A list of payers, and their requested amounts, that Request to Pay transactions should be sent for linked to this request. Note that while maxLength is 1, this is specified as an array for future use cases. | Yes |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| settlementOptions | [ { **"settlementSystem"**: string, **"primaryAccountNumber"**: string } ] |  | Yes |

#### notificationR2pRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| events |  |  | Yes |
| agentId |  | Visa identifier for the service provider to whom the notification is sending. | Yes |
| creationDateTime | undefined (date-time) |  | Yes |
| requestMessageId |  |  | Yes |

#### dict_paymentAmount-1 Schema

Value that the request or payment is for. Note that while this field supports ISO20022 decimal references (12.5), consideration should be given to the supported values in other contexts such as settlement options. For example card payments processed in an ISO8583 environment where values can only support 9.3 formats.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dict_paymentAmount-1 |  | Value that the request or payment is for. Note that while this field supports ISO20022 decimal references (12.5), consideration should be given to the supported values in other contexts such as settlement options. For example card payments processed in an ISO8583 environment where values can only support 9.3 formats. |  |

**Example**
<pre>100</pre>

#### taxId-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| taxId-1 |  |  |  |

**Example**
<pre>HMRC1234567890</pre>

#### referenceValue Schema

Indicates the value corresponding to mentioned reference type. Only numeric values allowed now 

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| referenceValue | string | Indicates the value corresponding to mentioned reference type. Only numeric values allowed now  |  |

**Example**
<pre>1234567890</pre>

#### amendSettlementOptions-1 Schema

The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| amendSettlementOptions-1 |  | The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases. |  |

#### refundR2pResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequests | [ { **"debtorId"**: string, **"endToEndId"**: string, **"debtorIdType"**: string, **"paymentRequestId"**: string, **"transactionStatus"**: string } ] | The list of Request to Pay transactions created by the request including current status. Note that while maxLength is 1, this is specified as an array for future use cases. | Yes |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| responseMessageId | string |  | Yes |

#### refundR2pResponse-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequests |  | The list of Request to Pay transactions created by the request including current status. Note that while maxLength is 1, this is specified as an array for future use cases. | Yes |
| creationDateTime | undefined (date-time) |  | Yes |
| requestMessageId |  |  | Yes |
| responseMessageId |  |  | Yes |

#### reminderEventObject Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| eventType | string |  | Yes |
| paymentRequestId | string |  | Yes |

#### refundR2pResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequests | [ { **"debtorId"**: string, **"endToEndId"**: string, **"debtorIdType"**: string, **"paymentRequestId"**: string, **"transactionStatus"**: string } ] | The list of Request to Pay transactions created by the request including current status. Note that while maxLength is 1, this is specified as an array for future use cases. | Yes |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| responseMessageId | string |  | Yes |

#### r2p_originalPaymentRequestId Schema

Visa generated transaction ID for the original R2P transaction. Note that while this field supports up to 35 characters, Request to Pay IDs generated by Visa are 21 characters long.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_originalPaymentRequestId | string | Visa generated transaction ID for the original R2P transaction. Note that while this field supports up to 35 characters, Request to Pay IDs generated by Visa are 21 characters long. |  |

**Example**
<pre>RFP01314</pre>

#### cancelR2pRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creationDateTime | undefined (date-time) |  | Yes |
| requestMessageId |  |  | Yes |
| cancellationReason |  |  | Yes |

#### firstName-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| firstName-1 |  |  |  |

**Example**
<pre>Alex</pre>

#### errorResponseTagTxn-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| code |  | Coded reason group this error response is considered part of. <table><tr><td>Value</td><td>Description</td></tr> <tr><td>RC1xxx</td><td>RC1xxx codes indicate an invalid request. Typically a syntactical issue with the API request such as a missing mandatory field incorrect field formatting.</td></tr> <tr><td>RC2xxx</td><td>RC2xxxx codes indicate a business validation failure. Typically, the request is syntactically correct but the request does not meet the business rules configured. For example, the debtor last name does not meet country specific validations.</td></tr> <tr><td>RC3xxx</td><td>RC3xxx codes indicate an authorisation failure. The request may be syntactically correct and meet the necessary business rules but breaches an additional control or configuration in place. i.e., The request is valid but not allowed at this time. Examples of reasons for this error include attempting to retrieve R2P details unrelated to the entity calling the retrieve request to pay API or submitting a B2C request when only configured for P2P requests.</td></tr> <tr><td>RC3001</td><td>Authorisation failure: The request is syntactically correct but cannot be accepted by Visa at this time as a result of an active block control.</td></tr> <tr><td>RC3002</td><td>Authorisation failure: The request is syntactically correct but cannot be accepted by Visa at this time as a result of velocity/frequency control.</td></tr> <tr><td>RC4xxx</td><td>RC4xxx codes indicate an entity in the request to pay transaction is unknown. The request involves an entity that is not known or cannot be resolved. For example, the mobile number given to route the R2P to is not known to the organisation with responsibility for resolving the number to a debtor - whether that be Visa or another organisation depending on the service configuration and request to pay transaction.</td></tr> <tr><td>RC5xxx</td><td>Server Errors. May be seen as a result of errors internal to the processing system.</td></tr></table> <br>*Example:* `"RC1000"` | Yes |
| details |  | Additional details on specific fields that triggered the error response where relevant. | No |
| message |  | *Example:* `"Data in the request is missing or invalid"` | Yes |
| creationDateTime | undefined (date-time) |  | Yes |

#### errorResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| code | string | Coded reason group this error response is considered part of. <table><tr><td>Value</td><td>Description</td></tr> <tr><td>RC1xxx</td><td>RC1xxx codes indicate an invalid request. Typically a syntactical issue with the API request such as a missing mandatory field incorrect field formatting.</td></tr> <tr><td>RC2xxx</td><td>RC2xxxx codes indicate a business validation failure. Typically, the request is syntactically correct but the request does not meet the business rules configured. For example, the debtor last name does not meet country specific validations.</td></tr> <tr><td>RC3xxx</td><td>RC3xxx codes indicate an authorisation failure. The request may be syntactically correct and meet the necessary business rules but breaches an additional control or configuration in place. i.e., The request is valid but not allowed at this time. Examples of reasons for this error include attempting to retrieve R2P details unrelated to the entity calling the retrieve request to pay API or submitting a B2C request when only configured for P2P requests.</td></tr> <tr><td>RC3001</td><td>Authorisation failure: The request is syntactically correct but cannot be accepted by Visa at this time as a result of an active block control.</td></tr> <tr><td>RC3002</td><td>Authorisation failure: The request is syntactically correct but cannot be accepted by Visa at this time as a result of velocity/frequency control.</td></tr> <tr><td>RC4xxx</td><td>RC4xxx codes indicate an entity in the request to pay transaction is unknown. The request involves an entity that is not known or cannot be resolved. For example, the mobile number given to route the R2P to is not known to the organisation with responsibility for resolving the number to a debtor - whether that be Visa or another organisation depending on the service configuration and request to pay transaction.</td></tr> <tr><td>RC5xxx</td><td>Server Errors. May be seen as a result of errors internal to the processing system.</td></tr></table> <br>*Example:* `"RC1000"` | Yes |
| details | [ { **"field"**: string, **"reason"**: string } ] | Additional details on specific fields that triggered the error response where relevant. | No |
| message | string | *Example:* `"Data in the request is missing or invalid"` | Yes |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string | The requestMessageId mapped across from the callers request. Note that where Visa cannot process a request sufficiently to obtain a requestMessageId, this field will be populated with using a Visa generated Id prefixed with ERR. | Yes |
| responseMessageId | string |  | Yes |

#### r2p_cancellationReason Schema

Coded cancellation reason information for a transaction status update. Valid values are:
<table>
<tr><td><strong><u>Value</u></strong></td><td><strong><u>Description</u></strong></td></tr>
<tr><td>ERRAMT</td><td>Incorrect amount requested.</td></tr>
<tr><td>ERRDRINFO</td><td>Incorrect debtor information on for the Request to Pay.</td></tr>
<tr><td>PAID</td><td>Already Paid/Paid via alternate route.</td></tr>
<tr><td>DRTP</td><td>Duplicate request.</td></tr>
<tr><td>ERR</td><td>Erroneous request.</td></tr>
<tr><td>SVNR</td><td>Services not rendered.</td></tr>
<tr><td>FRAUD</td><td>Fraud</td></tr>
<tr><td>OTHR</td><td>Other</td></tr>
</table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_cancellationReason | string | Coded cancellation reason information for a transaction status update. Valid values are: <table> <tr><td><strong><u>Value</u></strong></td><td><strong><u>Description</u></strong></td></tr> <tr><td>ERRAMT</td><td>Incorrect amount requested.</td></tr> <tr><td>ERRDRINFO</td><td>Incorrect debtor information on for the Request to Pay.</td></tr> <tr><td>PAID</td><td>Already Paid/Paid via alternate route.</td></tr> <tr><td>DRTP</td><td>Duplicate request.</td></tr> <tr><td>ERR</td><td>Erroneous request.</td></tr> <tr><td>SVNR</td><td>Services not rendered.</td></tr> <tr><td>FRAUD</td><td>Fraud</td></tr> <tr><td>OTHR</td><td>Other</td></tr> </table>  |  |

**Example**
<pre>ERRAMT</pre>

#### refundR2pRequest_toVisa Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditor | { **"creditorId"**: string, **"creditorIdType"**: string } |  | Yes |
| paymentRequests | [ { **"endToEndId"**: string, **"requestedAmount"**: number } ] | A list of payers, and their requested amounts, that Request to Pay transactions should be sent for linked to this request. Note that while maxLength is 1, this is specified as an array for future use cases. | Yes |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| settlementOptions | [ { **"settlementSystem"**: string, **"primaryAccountNumber"**: string } ] |  | Yes |

#### dict_primaryAccountNumber-1 Schema

Primary Account Number (PAN) for a card credential.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dict_primaryAccountNumber-1 |  | Primary Account Number (PAN) for a card credential. |  |

**Example**
<pre>4145125553222</pre>

#### initiateR2pResponse-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequests |  | The list of Request to Pay transactions created by the request including current status. Please note: * paymentRequestIds must match those provided in the Initiate R2P request. * While maxLength is 1, this is specified as an array for future use cases.  | Yes |
| creationDateTime | undefined (date-time) |  | Yes |
| requestMessageId |  |  | Yes |
| responseMessageId |  |  | Yes |

#### accountDetails-1 Schema

Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. For example, when selecting VISA_DIRECT as the settlementSystem for the payment, primaryAccountNumber is required.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| primaryAccountNumber | string | Primary Account Number (PAN) for a card credential. Note that this may be masked by Visa in certain scenarios. | No |

#### initiateR2pResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequests | [ { **"debtorId"**: string, **"endToEndId"**: string, **"debtorIdType"**: string, **"paymentRequestId"**: string, **"transactionStatus"**: string } ] | The list of Request to Pay transactions created by the request including current status. Please note: * paymentRequestIds must match those provided in the Initiate R2P request. * While maxLength is 1, this is specified as an array for future use cases.  | Yes |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| responseMessageId | string |  | Yes |

#### accountDetails-2 Schema

Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. For example, when selecting VISA_DIRECT as the settlementSystem for the payment, primaryAccountNumber is required. Parameter debtorTaxId is optional.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| debtorTaxId |  | The tax reference applicable to the debtor. While defined as optional for the Visa API, this field is required where local regulation requires the tax ID to be compliant. This is applicable only for B2C use case. | No |
| primaryAccountNumber |  | Primary Account Number (PAN) for a card credential. Note that this may be masked by Visa in certain scenarios. | No |

#### initiateR2pResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequests | [ { **"debtorId"**: string, **"endToEndId"**: string, **"debtorIdType"**: string, **"paymentRequestId"**: string, **"transactionStatus"**: string } ] | The list of Request to Pay transactions created by the request including current status. Please note: * paymentRequestIds must match those provided in the Initiate R2P request. * While maxLength is 1, this is specified as an array for future use cases.  | Yes |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| responseMessageId | string |  | Yes |

#### r2p_paymentRequestType Schema

<b>Conditional.</b> Specifies if the R2P is of type Refund and this is applicable only for Refund request.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_paymentRequestType | string | <b>Conditional.</b> Specifies if the R2P is of type Refund and this is applicable only for Refund request. |  |

**Example**
<pre>REFUND</pre>

#### accountDetails Schema

Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. For example, when selecting VISA_DIRECT as the settlementSystem for the payment, primaryAccountNumber is required. Parameter debtorTaxId is optional.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| debtorTaxId | string | The tax reference applicable to the debtor. While defined as optional for the Visa API, this field is required where local regulation requires the tax ID to be compliant. This is applicable only for B2C use case. | No |
| primaryAccountNumber | string | Primary Account Number (PAN) for a card credential. Note that this may be masked by Visa in certain scenarios. | No |

#### aliasType Schema

This indicates the type of alias provided and thus validation logic and business rules that will be applied to it. The alias type must be provided in all cases an alias key is provided. Valid values are:
<table><tr><td>Value</td><td>Description</td><td>Validations and rules</td></tr>
<tr><td>MOBL</td><td>Mobile phone number</td><td>ITU-T E.164 number structure. A "+" is required in the mobile number</td></tr>
<tr><td>EMAIL</td><td>Email address</td><td>RFC 5322 email address structure</td></tr></table>
Note : 'MOBL' is only supported alias type in CIS/CEMEA region.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| aliasType | string | This indicates the type of alias provided and thus validation logic and business rules that will be applied to it. The alias type must be provided in all cases an alias key is provided. Valid values are: <table><tr><td>Value</td><td>Description</td><td>Validations and rules</td></tr> <tr><td>MOBL</td><td>Mobile phone number</td><td>ITU-T E.164 number structure. A "+" is required in the mobile number</td></tr> <tr><td>EMAIL</td><td>Email address</td><td>RFC 5322 email address structure</td></tr></table> Note : 'MOBL' is only supported alias type in CIS/CEMEA region.  |  |

**Example**
<pre>MOBL</pre>

#### settlementRecord-3 Schema

Details of a payment received for an associated Request to Pay.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| message |  | Optional; This field allows the payer to include a single message as part of the payment confirmation to the payee. Please refer the implementation guide for the list of supported pre-defined messages. | No |
| unicodeEmoji |  | Optional; This field allows the payer to include a single emoji as part of the payment confirmation to the payee. Please refer the implementation guide for the list of supported emojis. | No |
| settledAmount |  | This is the value the payment is for. It must match the requested amount if the transaction status is ACSC in the Confirm R2P call to Visa. | Yes |
| settlementSystem |  |  | Yes |
| debtorAccountDetail | { **"debtorTaxId"**: , **"primaryAccountNumber"**:  } | Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. For example, when selecting VISA_DIRECT as the settlementSystem for the payment, primaryAccountNumber is required. Parameter debtorTaxId is optional. | No |
| creditorAccountDetail | { **"receivingAlias"**: , **"receivingAliasType"**: , **"primaryAccountNumber"**:  } | Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. | Yes |
| settledAmountCurrency |  | Currency that the payment is in, specified using ISO4217. Currently it must match the requested currency. | Yes |
| settlementSystemReferenceId |  | Reference ID provided by the settlement system that may be used for reconciliation.  <br>*Example:* `"VIP1234567890"` | Yes |
| settlementSystemReferenceType |  |  | No |

#### settlementRecord-4 Schema

Details of a payment received for an associated Request to Pay.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| settledAmount | number | This is the value the payment is for. Currently it must match the requested amount." | Yes |
| settlementSystem | string |  | Yes |
| debtorAccountDetail | { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string } | Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. For example, when selecting VISA_DIRECT as the settlementSystem for the payment, primaryAccountNumber is required. Parameter debtorTaxId is optional. | No |
| creditorAccountDetail | { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } | Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. | Yes |
| settledAmountCurrency | string | Currency that the payment is in, specified using ISO4217. Currently it must match the requested currency. | Yes |
| settlementSystemReferenceId | string | Reference ID provided by the settlement system that may be used for reconciliation. Visa recommends the following sources of information: <table> <tr><td><b>settlementSystem</b></td><td><b>Reference ID source</b></td></tr> <tr><td>VISA_DIRECT</td><td>RRN</td></tr> <tr><td>MASTERCARD</td><td>RRN</td></tr> <tr><td>YELLOW_PEPPER</td><td>paymentId</td></tr> </table> <br>*Example:* `"VIP1234567890"` | Yes |
| settlementSystemReferenceType | string |  | No |

#### settlementRecord Schema

Details of a payment received for an associated Request to Pay.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| message | string | Optional; This field allows the payer to include a single message as part of the payment confirmation to the payee. Please refer the implementation guide for the list of supported pre-defined messages. | No |
| unicodeEmoji | string | Optional; This field allows the payer to include a single emoji as part of the payment confirmation to the payee. Please refer the implementation guide for the list of supported emojis. | No |
| settledAmount | number | This is the value the payment is for. It must match the requested amount if the transaction status is ACSC in the Confirm R2P call to Visa. | Yes |
| settlementSystem | string |  | Yes |
| debtorAccountDetail | { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string } | Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. For example, when selecting VISA_DIRECT as the settlementSystem for the payment, primaryAccountNumber is required. Parameter debtorTaxId is optional. | No |
| creditorAccountDetail | { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } | Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. | Yes |
| settledAmountCurrency | string | Currency that the payment is in, specified using ISO4217. Currently it must match the requested currency. | Yes |
| settlementSystemReferenceId | string | Reference ID provided by the settlement system that may be used for reconciliation.  <br>*Example:* `"VIP1234567890"` | Yes |
| settlementSystemReferenceType | string |  | No |

#### refundR2pResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequests | [ { **"debtorId"**: string, **"endToEndId"**: string, **"debtorIdType"**: string, **"paymentRequestId"**: string, **"transactionStatus"**: string } ] | The list of Request to Pay transactions created by the request including current status. Note that while maxLength is 1, this is specified as an array for future use cases. | Yes |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| responseMessageId | string |  | Yes |

#### referenceDataResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| responseMessageId | string |  | Yes |
| availableParticipants | [ { **"participantId"**: string, **"participantName"**: string, **"supportedFeatures"**: [ string ] } ] | List of active R2P participants. | Yes |

#### refundCreditor_toVisa-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorId |  | ID that may be used to uniquely identify the payee within the context of the creditorIdType (e.g., customer id assigned by service provider). This should be same as the debtorID value if present in the Initiate R2P Response  <table><tr><td>Product</td><td>Refund Request to Visa</td><td>Refund Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Omitted</td></tr></table> As seen in the table above, the creditorId is not shared with the payer agent. When responding to a Retrieve Request to Pay call, inclusion of the creditorId will be based on the role of the caller.  | Yes |
| creditorIdType |  |  | Yes |

#### core_requestMessageId-1 Schema

Unique point-to-point ID specified by the API requestor. Included in responses to support request/response reconciliation, the requestMessageId is mapped directly from the inbound request. When an entity sends the API request  to Visa the value is generated by their system; conversely when Visa sends the API request the value is generated by Visa.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| core_requestMessageId-1 |  | Unique point-to-point ID specified by the API requestor. Included in responses to support request/response reconciliation, the requestMessageId is mapped directly from the inbound request. When an entity sends the API request  to Visa the value is generated by their system; conversely when Visa sends the API request the value is generated by Visa. |  |

**Example**
<pre>GG9983636387737JH</pre>

#### settlementRecord-1 Schema

Details of a payment received for an associated Request to Pay.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| message | string | Optional; This field allows the payer to include a single, compliance approved, message as part of the payment confirmation to the payee. Please refer the implementation guide for the list of approved text messages. | No |
| unicodeEmoji | string | Optional; This field allows the payer to include a single, compliance approved, emoji as part of the payment confirmation to the payee. Please refer the implementation guide for the list of approved emojis. | No |
| settledAmount | number | This is the value the payment is for. It must match the requested amount if the transaction status is ACSC in the Confirm R2P call to Visa. | Yes |
| settlementSystem | string |  | Yes |
| debtorAccountDetail | { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string } | Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. For example, when selecting VISA_DIRECT as the settlementSystem for the payment, primaryAccountNumber is required. Parameter debtorTaxId is optional. | No |
| creditorAccountDetail | { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } | Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. | Yes |
| settledAmountCurrency | string | Currency that the payment is in, specified using ISO4217. Currently it must match the requested currency. | Yes |
| settlementSystemReferenceId | string | Reference ID provided by the settlement system that may be used for reconciliation. <br>*Example:* `"VIP1234567890"` | Yes |
| settlementSystemReferenceType | string |  | No |

#### settlementRecord-2 Schema

Details of a payment received for an associated Request to Pay.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| settledAmount | number | This is the value the payment is for. Currently it must match the requested amount." | Yes |
| settlementSystem | string |  | Yes |
| debtorAccountDetail | { **"primaryAccountNumber"**: string } | Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. For example, when selecting VISA_DIRECT as the settlementSystem for the payment, primaryAccountNumber is required. | No |
| creditorAccountDetail | { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } | Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. | Yes |
| settledAmountCurrency | string | Currency that the payment is in, specified using ISO4217. Currently it must match the requested currency. | Yes |
| settlementSystemReferenceId | string | Reference ID provided by the settlement system that may be used for reconciliation. Visa recommends the following sources of information: <table> <tr><td><b>settlementSystem</b></td><td><b>Reference ID source</b></td></tr> <tr><td>VISA_DIRECT</td><td>RRN</td></tr> <tr><td>MASTERCARD</td><td>RRN</td></tr> <tr><td>YELLOW_PEPPER</td><td>paymentId</td></tr> </table> <br>*Example:* `"VIP1234567890"` | Yes |

#### type Schema

This indicates the type of National Identifier provided. Currently the valid value is 'PASSPORT'.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| type | string | This indicates the type of National Identifier provided. Currently the valid value is 'PASSPORT'. |  |

**Example**
<pre>PASSPORT</pre>

#### endToEndId Schema

A transaction ID, unique to the creditorAgent, that may be used independently of Visa IDs (i.e paymentRequestId) to identify the transaction between payee and payer service providers. Note that this value is set by the entity that submits the Initiate Request to Pay to Visa and we cannot determine who in the chain between the end user and Visa set this value.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndId | string | A transaction ID, unique to the creditorAgent, that may be used independently of Visa IDs (i.e paymentRequestId) to identify the transaction between payee and payer service providers. Note that this value is set by the entity that submits the Initiate Request to Pay to Visa and we cannot determine who in the chain between the end user and Visa set this value. |  |

**Example**
<pre>RFPid0001</pre>

#### paymentRequestForRetrieve Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndId | string |  | Yes |
| debtorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payer. Where debtorAlias is provided, debtorAliasType must also be provided. The structure and validations of the debtorAlias field are determined by the debtorAliasType value. <table><tr><td>Product</td><td>Initiate Request to Visa</td><td>Initiate Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Mandatory</td></tr></table> | No |
| debtorAgentId | string | Visa identifier for the payer service provider. | Yes |
| debtorCountry | string | Payers country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| acceptedAmount | number |  | No |
| debtorLastName | string | The last name of the payer. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| debtorAliasType | string |  | No |
| debtorFirstName | string | The first name of the payer.</b> | No |
| requestedAmount | number |  | Yes |
| debtorAgentCountry | string | Payer service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| acceptedAmountCurrency | string |  | No |
| requestedAmountCurrency | string |  | Yes |

#### r2p_statusReason-1 Schema

Additional coded reason information for a transaction status update. Valid values are:
<table><tr><td>Value</td><td>Description</td></tr>
<tr><td colspan=2>PDNG statusReason codes</td></tr>
<tr><td>PD01</td><td>Set by Visa when the Request to Pay has been accepted by Visa but not delivered to the debtor agent or their processor.</td></tr>
<tr><td>PD02</td><td>Set by Visa when the Request to Pay has been delivered to the debtor agent or their processor.</td></tr>
<tr><td>PD03</td><td>Sent by the debtor agent (or their processor) when the Request to Pay has been delivered to the debtor.</td></tr>
<tr><td>PD04</td><td>Sent by the debtor agent (or their processor) to confirm that the debtor has seen or interacted with the Request to Pay.</td></tr>
<tr><td colspan=2>RJCT statusReason codes</td></tr>
<tr><td>RJ01</td><td>The payer could not be reached using the provided routing information.</td></tr>
<tr><td>RJ02</td><td>The payer has rejected the Request to Pay.</td></tr>
<tr><td>RJ03</td><td>The Request to Pay is being rejected as a result of a block control.</td></tr>
<tr><td colspan=2>ACSC statusReason codes</td></tr>
<tr><td>AS01</td><td>Set by Visa when the Request to Pay has been accepted by the payer and payment has been confirmed as made. </td></tr>
<tr><td colspan=2>ACCP statusReason codes</td></tr>
<tr><td>AC02</td><td>Set by Visa when the Request to Pay has been accepted by the payer and partial payment has been confirmed as made. </td></tr>
<tr><td colspan=2>CNCL statusReason codes</td></tr>
<tr><td>CN01</td><td>Set by Visa when the Request to Pay has been cancelled by the payee.</td></tr></table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_statusReason-1 | string | Additional coded reason information for a transaction status update. Valid values are: <table><tr><td>Value</td><td>Description</td></tr> <tr><td colspan=2>PDNG statusReason codes</td></tr> <tr><td>PD01</td><td>Set by Visa when the Request to Pay has been accepted by Visa but not delivered to the debtor agent or their processor.</td></tr> <tr><td>PD02</td><td>Set by Visa when the Request to Pay has been delivered to the debtor agent or their processor.</td></tr> <tr><td>PD03</td><td>Sent by the debtor agent (or their processor) when the Request to Pay has been delivered to the debtor.</td></tr> <tr><td>PD04</td><td>Sent by the debtor agent (or their processor) to confirm that the debtor has seen or interacted with the Request to Pay.</td></tr> <tr><td colspan=2>RJCT statusReason codes</td></tr> <tr><td>RJ01</td><td>The payer could not be reached using the provided routing information.</td></tr> <tr><td>RJ02</td><td>The payer has rejected the Request to Pay.</td></tr> <tr><td>RJ03</td><td>The Request to Pay is being rejected as a result of a block control.</td></tr> <tr><td colspan=2>ACSC statusReason codes</td></tr> <tr><td>AS01</td><td>Set by Visa when the Request to Pay has been accepted by the payer and payment has been confirmed as made. </td></tr> <tr><td colspan=2>ACCP statusReason codes</td></tr> <tr><td>AC02</td><td>Set by Visa when the Request to Pay has been accepted by the payer and partial payment has been confirmed as made. </td></tr> <tr><td colspan=2>CNCL statusReason codes</td></tr> <tr><td>CN01</td><td>Set by Visa when the Request to Pay has been cancelled by the payee.</td></tr></table>  |  |

**Example**
<pre>RJ02</pre>

#### r2p_statusReason-3 Schema

Additional coded reason information for a transaction status update. Valid values are:
<table><tr><td>Value</td><td>Description</td></tr>
<tr><td colspan=2>PDNG statusReason codes</td></tr>
<tr><td>PD01</td><td>Set by Visa when the Request to Pay has been accepted by Visa but not delivered to the debtor agent or their processor.</td></tr>
<tr><td>PD02</td><td>Set by Visa when the Request to Pay has been delivered to the debtor agent or their processor.</td></tr>
<tr><td>PD03</td><td>Sent by the debtor agent (or their processor) when the Request to Pay has been delivered to the debtor.</td></tr>
<tr><td>PD04</td><td>Sent by the debtor agent (or their processor) to confirm that the debtor has seen or interacted with the Request to Pay.</td></tr>
<tr><td colspan=2>RJCT statusReason codes</td></tr>
<tr><td>RJ01</td><td>The payer could not be reached using the provided routing information.</td></tr>
<tr><td>RJ02</td><td>The payer has rejected the Request to Pay.</td></tr>
<tr><td>RJ03</td><td>The Request to Pay is being rejected as a result of a block control.</td></tr>
<tr><td>RJ04</td><td>Payment cannot be completed between payee and payer using the settlementOption provided.</td></tr>
<tr><td colspan=2>ACSC statusReason codes</td></tr>
<tr><td>AS01</td><td>Set by Visa when the Request to Pay has been accepted by the payer and payment has been confirmed as made. </td></tr>
<tr><td colspan=2>ACCP statusReason codes</td></tr>
<tr><td>AC02</td><td>Set by Visa when the Request to Pay has been accepted by the payer and partial payment has been confirmed as made. </td></tr>
<tr><td colspan=2>CNCL statusReason codes</td></tr>
<tr><td>CN01</td><td>Set by Visa when the Request to Pay has been cancelled by the payee.</td></tr></table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_statusReason-3 |  | Additional coded reason information for a transaction status update. Valid values are: <table><tr><td>Value</td><td>Description</td></tr> <tr><td colspan=2>PDNG statusReason codes</td></tr> <tr><td>PD01</td><td>Set by Visa when the Request to Pay has been accepted by Visa but not delivered to the debtor agent or their processor.</td></tr> <tr><td>PD02</td><td>Set by Visa when the Request to Pay has been delivered to the debtor agent or their processor.</td></tr> <tr><td>PD03</td><td>Sent by the debtor agent (or their processor) when the Request to Pay has been delivered to the debtor.</td></tr> <tr><td>PD04</td><td>Sent by the debtor agent (or their processor) to confirm that the debtor has seen or interacted with the Request to Pay.</td></tr> <tr><td colspan=2>RJCT statusReason codes</td></tr> <tr><td>RJ01</td><td>The payer could not be reached using the provided routing information.</td></tr> <tr><td>RJ02</td><td>The payer has rejected the Request to Pay.</td></tr> <tr><td>RJ03</td><td>The Request to Pay is being rejected as a result of a block control.</td></tr> <tr><td>RJ04</td><td>Payment cannot be completed between payee and payer using the settlementOption provided.</td></tr> <tr><td colspan=2>ACSC statusReason codes</td></tr> <tr><td>AS01</td><td>Set by Visa when the Request to Pay has been accepted by the payer and payment has been confirmed as made. </td></tr> <tr><td colspan=2>ACCP statusReason codes</td></tr> <tr><td>AC02</td><td>Set by Visa when the Request to Pay has been accepted by the payer and partial payment has been confirmed as made. </td></tr> <tr><td colspan=2>CNCL statusReason codes</td></tr> <tr><td>CN01</td><td>Set by Visa when the Request to Pay has been cancelled by the payee.</td></tr></table>  |  |

**Example**
<pre>RJ02</pre>

#### r2p_statusReason-2 Schema

Additional coded reason information for a transaction status update. Valid values are:
<table><tr><td>Value</td><td>Description</td></tr>
<tr><td colspan=2>PDNG statusReason codes</td></tr>
<tr><td>PD01</td><td>Set by Visa when the Request to Pay has been accepted by Visa but not delivered to the debtor agent or their processor.</td></tr>
<tr><td>PD02</td><td>Set by Visa when the Request to Pay has been delivered to the debtor agent or their processor.</td></tr>
<tr><td>PD03</td><td>Sent by the debtor agent (or their processor) when the Request to Pay has been delivered to the debtor.</td></tr>
<tr><td>PD04</td><td>Sent by the debtor agent (or their processor) to confirm that the debtor has seen or interacted with the Request to Pay.</td></tr>
<tr><td colspan=2>RJCT statusReason codes</td></tr>
<tr><td>RJ01</td><td>The payer could not be reached using the provided routing information.</td></tr>
<tr><td>RJ02</td><td>The payer has rejected the Request to Pay.</td></tr>
<tr><td>RJ03</td><td>The Request to Pay is being rejected as a result of a block control.</td></tr>
<tr><td colspan=2>ACSC statusReason codes</td></tr>
<tr><td>AS01</td><td>Set by Visa when the Request to Pay has been accepted by the payer and payment has been confirmed as made. </td></tr>
<tr><td colspan=2>CNCL statusReason codes</td></tr>
<tr><td>CN01</td><td>Set by Visa when the Request to Pay has been cancelled by the payee.</td></tr></table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_statusReason-2 | string | Additional coded reason information for a transaction status update. Valid values are: <table><tr><td>Value</td><td>Description</td></tr> <tr><td colspan=2>PDNG statusReason codes</td></tr> <tr><td>PD01</td><td>Set by Visa when the Request to Pay has been accepted by Visa but not delivered to the debtor agent or their processor.</td></tr> <tr><td>PD02</td><td>Set by Visa when the Request to Pay has been delivered to the debtor agent or their processor.</td></tr> <tr><td>PD03</td><td>Sent by the debtor agent (or their processor) when the Request to Pay has been delivered to the debtor.</td></tr> <tr><td>PD04</td><td>Sent by the debtor agent (or their processor) to confirm that the debtor has seen or interacted with the Request to Pay.</td></tr> <tr><td colspan=2>RJCT statusReason codes</td></tr> <tr><td>RJ01</td><td>The payer could not be reached using the provided routing information.</td></tr> <tr><td>RJ02</td><td>The payer has rejected the Request to Pay.</td></tr> <tr><td>RJ03</td><td>The Request to Pay is being rejected as a result of a block control.</td></tr> <tr><td colspan=2>ACSC statusReason codes</td></tr> <tr><td>AS01</td><td>Set by Visa when the Request to Pay has been accepted by the payer and payment has been confirmed as made. </td></tr> <tr><td colspan=2>CNCL statusReason codes</td></tr> <tr><td>CN01</td><td>Set by Visa when the Request to Pay has been cancelled by the payee.</td></tr></table>  |  |

**Example**
<pre>RJ02</pre>

#### core_vdp_contentType Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| core_vdp_contentType | string |  |  |

**Example**
<pre>application/json</pre>

#### requestOptionsAmend Schema

Optional field for B2C/P2P use case. This field serves as an indicator for different preferences associated with the payee. At present, it is utilized to facilitate the feature of scheduling reminders.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reminderSchedule | [ dateTime ] | This enables payees to set automated reminders for a request to pay. Currently maximum of 3 reminders, 1 per day can be scheduled. Reminders can be scheduled via Initiate or Amend API. Through the Amend API, the payee can modify or remove future scheduled reminders. However, reminders that have already been sent cannot be changed or removed during amendment. Given future reminders associated with a request, blank reminder list will result in the deletion of all reminders linked to the respective request.<br>*Example:* `["2023-05-30T09:30:47Z","2023-06-11T11:22:33Z","2023-07-11T11:22:33Z"]` | No |

#### TaggedTransaction-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionId |  | Relevant transaction ID from the system the data is being tagged to. For example, transaction ID for Request to Pay | Yes |
| transactionIdType |  | The type of transaction the emoji/message is being tagged to. Valid values include: <table><tr><td>Value</td><td>Description</td></tr> <tr><td>R2P</td><td>Request to Pay transaction</td></tr> </table> <br>*Example:* `"R2P"` | Yes |
| settlementSystemReferenceId |  | Conditional. Mandatory when transactionIdType is 'R2P'. Reference ID provided by the settlement system that may be used for reconciliation. <br>*Example:* `"VIP1234567890"` | No |
| settlmentSystemReferenceType |  | Conditional. This must be provided when a settlementSystemReferenceId is provided. Settlement reference type acts like a metadata for the settlementSystemReferenceID field. Currently supported values are: <table> <tr><td>Value</td><td>Description</td></tr> <tr><td>RRN</td><td>Retrieval Reference Number.<br> Use when settlementSystem is VISA_DIRECT/MASTERCARD.</td><td>Available for both P2P and B2C.</td></tr> <tr><td>TXNID</td><td>Visa or Mastercard transaction ID</td><td>Available for both P2P and B2C.</td></tr> <tr><td>YPPID</td><td>Yellow Pepper PIS payment ID.<br>Use when settlementSystem is YELLOW_PEPPER.</td><td>Available for both P2P and B2C.</td></tr> </table>        <br>*Example:* `"RRN"` | No |

#### TaggedTransaction-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionId | string |  | Yes |
| transactionIdType | string | The type of transaction the emoji/message is being tagged to. Valid values include: <table><tr><td>Value</td><td>Description</td></tr> <tr><td>R2P</td><td>Request to Pay transaction</td></tr> </table> <br>*Example:* `"R2P"` | Yes |
| settlementSystemReferenceId | string | Reference ID provided by the settlement system that may be used for reconciliation. <br>*Example:* `"VIP1234567890"` | No |
| settlmentSystemReferenceType | string |  | No |

#### value-1 Schema

Creditor's national identifier value information. Right now only PASSPORT information is supported.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| value-1 | string | Creditor's national identifier value information. Right now only PASSPORT information is supported. |  |

**Example**
<pre>LB44889298222</pre>

#### value-2 Schema

Creditor's national identifier value information.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| value-2 |  | Creditor's national identifier value information. |  |

**Example**
<pre>LB44889298222</pre>

#### r2p_refund_useCase Schema

The useCase field sets the use case that the Refund Request to Pay is for, and combined with the product, drives specific business rules and validations for the transaction. Valid values are:
<table><tr><td>Value</td><td>Description</td></tr>
<tr><td>B2C</td><td>A Refund request sent from consumer to a business against a previously settled B2C request.</td></tr></table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_refund_useCase | string | The useCase field sets the use case that the Refund Request to Pay is for, and combined with the product, drives specific business rules and validations for the transaction. Valid values are: <table><tr><td>Value</td><td>Description</td></tr> <tr><td>B2C</td><td>A Refund request sent from consumer to a business against a previously settled B2C request.</td></tr></table>  |  |

**Example**
<pre>B2C</pre>

#### cancelR2pRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| cancellationReason | string |  | Yes |

#### creditorAccountDetail Schema

Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| receivingAlias | string | Conditional. This field is required when  settlementOptions[].settlementSystem is DEFERRED_TO_ALIAS in Initiate R2P Request. Format and length validation are in place. | No |
| receivingAliasType | string | Conditional. This field is required when receivingAlias is present. This indicates the type of alias provided and thus validation logic and business rules that will be applied to it. Should be supporting EMAIL,MOBL as aliasType. | No |
| primaryAccountNumber | string | Primary Account Number (PAN) for a card credential. This is optional when settlementOptions[].settlementSystem is DEFERRED_TO_ALIAS in Initiate or settlementDetails[].settlementSystem is YELLOW_PEPPER in Confirm. Note that this may be masked by Visa in certain scenarios. | No |

#### referenceBlock Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| referenceDate | date | Indicates the date relevant for the mentioned references | No |
| referenceType | string |  | Yes |
| referenceValue | string |  | Yes |

#### paymentRequestIds Schema

Visa generated transaction ID for this Request to Pay. Note that while this field supports up to 35 characters, Request to Pay IDs generated by Visa are 21 characters long.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequestIds | [ string ] | Visa generated transaction ID for this Request to Pay. Note that while this field supports up to 35 characters, Request to Pay IDs generated by Visa are 21 characters long. |  |

**Example**
<pre>[
  "RFP01314",
  "RFP01315"
]</pre>

#### creditor-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorId | string | <b>Conditional.</b> ID that may be used to uniquely identify the payee within the context of the creditorIdType (e.g., customer id assigned by service provider). While an optional field in certain use cases (determined by product rules outlined here), certain capabilities such as search will limited based on provided data to ensure data security. For example, protecting against MSISDN re-use in mobile telephone markets or payee having multiple telephone numbers. <table><tr><td>Product</td><td>Initiate Request to Visa</td><td>Initiate Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Omitted</td></tr></table> As seen in the table above, the creditorId is not shared with the payer agent. When responding to a Retrieve Request to Pay call, inclusion of the creditorId will be based on the role of the caller.  | No |
| creditorMcc | string | <b>Conditional.</b> Merchant Category Code applicable to the creditor for this transaction. Applicable for the B2C use case. | No |
| creditorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payee. This field may be optional in certain use cases (determined by product rules) for example where routing is driven by creditorId. Where creditorAlias is provided, creditorAliasType must also be provided. The structure and valiations of the creditorAlias field are determined by the creditorAliasType value. | No |
| creditorTaxId | string | The tax reference applicable to the creditor. While defined as optional for the Visa API, this field is required where local regulation requires the tax ID to be compliant. | No |
| creditorIdType | string |  | No |
| creditorAgentId | string | Visa identifier for the payee service provider. | Yes |
| creditorCountry | string | Payees country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorLastName | string | <b>Conditional. Mandatory for P2P use case but optional for B2C</b>.The last name of the payee. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| creditorAliasType | string |  | No |
| creditorFirstName | string | <b>Conditional. Mandatory for P2P use case but optional for B2C</b> .The first name of the payee. | No |
| creditorAgentCountry | string | Payee service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorBusinessName | string | <b>Conditional.</b> Name of the business entity submitting the R2P request for example brand name/doing business as. Required for a B2C request. | No |

#### r2p_refund_useCase-1 Schema

The useCase field sets the use case that the Refund Request to Pay is for, and combined with the product, drives specific business rules and validations for the transaction. Valid values are:
<table><tr><td>Value</td><td>Description</td></tr>
<tr><td>B2C</td><td>A Refund request sent from consumer to a business against a previously settled B2C request.</td></tr></table>    

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_refund_useCase-1 | string | The useCase field sets the use case that the Refund Request to Pay is for, and combined with the product, drives specific business rules and validations for the transaction. Valid values are: <table><tr><td>Value</td><td>Description</td></tr> <tr><td>B2C</td><td>A Refund request sent from consumer to a business against a previously settled B2C request.</td></tr></table>      |  |

**Example**
<pre>B2C</pre>

#### creditor-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorId | string | <b>Conditional.</b> ID that may be used to uniquely identify the payee within the context of the creditorIdType (e.g., customer id assigned by service provider). While an optional field in certain use cases (determined by product rules outlined here), certain capabilities such as search will limited based on provided data to ensure data security. For example, protecting against MSISDN re-use in mobile telephone markets or payee having multiple telephone numbers. <table><tr><td>Product</td><td>Initiate Request to Visa</td><td>Initiate Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Omitted</td></tr></table> As seen in the table above, the creditorId is not shared with the payer agent. When responding to a Retrieve Request to Pay call, inclusion of the creditorId will be based on the role of the caller.  | No |
| creditorMcc | string | <b>Conditional.</b> Merchant Category Code applicable to the creditor for this transaction. Applicable for the B2C use case. | No |
| creditorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payee. This field may be optional in certain use cases (determined by product rules) for example where routing is driven by creditorId. Where creditorAlias is provided, creditorAliasType must also be provided. The structure and validations of the creditorAlias field are determined by the creditorAliasType value. | No |
| creditorTaxId | string | The tax reference applicable to the creditor. While defined as optional for the Visa API, this field is required where local regulation requires the tax ID to be compliant. | No |
| creditorIdType | string |  | No |
| creditorAgentId | string | Visa identifier for the payee service provider. | Yes |
| creditorCountry | string | Payees country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorLastName | string | <b>Conditional. Mandatory for P2P use case but optional for B2C</b>.The last name of the payee. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| creditorAliasType | string |  | No |
| creditorFirstName | string | <b>Conditional. Mandatory for P2P use case but optional for B2C</b> .The first name of the payee. | No |
| nationalIdentifiers | [ { **"type"**: string, **"value"**: string } ] | Field to carry creditor passport. While defined as optional for the Visa API, this field is required where local regulation requires to send information about the registration identifier. | No |
| creditorAgentCountry | string | Payee service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorBusinessName | string | <b>Conditional.</b> Name of the business entity submitting the R2P request for example brand name/doing business as. Required for a B2C request. | No |

#### creditor-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorId | string | <b>Conditional.</b> ID that may be used to uniquely identify the payee within the context of the creditorIdType (e.g., customer id assigned by service provider). While an optional field in certain use cases (determined by product rules outlined here), certain capabilities such as search will limited based on provided data to ensure data security. For example, protecting against MSISDN re-use in mobile telephone markets or payee having multiple telephone numbers. <table><tr><td>Product</td><td>Initiate Request to Visa</td><td>Initiate Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Omitted</td></tr></table> As seen in the table above, the creditorId is not shared with the payer agent. When responding to a Retrieve Request to Pay call, inclusion of the creditorId will be based on the role of the caller.  | No |
| creditorMcc | string | <b>Conditional.</b> Merchant Category Code applicable to the creditor for this transaction. Applicable for the B2C use case. | No |
| creditorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payee. This field may be optional in certain use cases (determined by product rules) for example where routing is driven by creditorId. Where creditorAlias is provided, creditorAliasType must also be provided. The structure and validations of the creditorAlias field are determined by the creditorAliasType value. | No |
| creditorTaxId | string | The tax reference applicable to the creditor. While defined as optional for the Visa API, this field is required where local regulation requires the tax ID to be compliant. | No |
| creditorIdType | string |  | No |
| creditorAgentId | string | Visa identifier for the payee service provider. | Yes |
| creditorCountry | string | Payees country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorLastName | string | <b>Conditional. Mandatory for P2P use case but optional for B2C</b>.The last name of the payee. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| creditorAliasType | string |  | No |
| creditorFirstName | string | <b>Conditional. Mandatory for P2P use case but optional for B2C</b> .The first name of the payee. | No |
| creditorAgentCountry | string | Payee service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorBusinessName | string | <b>Conditional.</b> Name of the business entity submitting the R2P request for example brand name/doing business as. Required for a B2C request. | No |

#### requestOptions-1 Schema

Optional field for B2C/P2P use case. This field serves as an indicator for different preferences associated with the payee.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reminderSchedule |  | This enables payees to set automated reminders for a request to pay. A request can have up to 3 reminders at a maximum rate of 1 reminder per day. Reminders can be scheduled using the Initiate R2P or Amend R2P APIs.<br> When using the Amend R2P API, future reminders can be changed or removed but reminders that have already been sent must be included unchanged.<br> An Amend R2P call with an empty reminderSchedule list will remove all reminders provided they are all in the future. <br>*Example:* `["2023-05-30T09:30:47Z","2023-06-11T11:22:33Z","2023-07-11T11:22:33Z"]` | No |
| allowMultiplePayments |  | Used to indicate whether the request can be settled with multiple smaller payments rather than a single full payment. If not included this will default to FALSE to ensure compatibility between participants.<br>*Example:* `false` | No |
| closeWithFirstPayment |  | This flag is used to specify if the request can be closed after receiving the first payment from the payer, regardless of the amount. If this flag is not included, it will automatically be set to FALSE to maintain compatibility between participants. It's important to note that the flags, 'allowMultiplePayments' and 'closeWithFirstPayment', cannot both be set to TRUE simultaneously.<br>*Example:* `false` | No |

#### creditor-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorId |  | <b>Conditional.</b> ID that may be used to uniquely identify the payee within the context of the creditorIdType (e.g., customer id assigned by service provider). While an optional field in certain use cases (determined by product rules outlined here), certain capabilities such as search will limited based on provided data to ensure data security. For example, protecting against MSISDN re-use in mobile telephone markets or payee having multiple telephone numbers. <table><tr><td>Product</td><td>Initiate Request to Visa</td><td>Initiate Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Omitted</td></tr></table> As seen in the table above, the creditorId is not shared with the payer agent. When responding to a Retrieve Request to Pay call, inclusion of the creditorId will be based on the role of the caller.  | No |
| creditorMCC |  | <b>Conditional.</b> Merchant Category Code applicable to the creditor for this transaction. Applicable for the B2C use case. | No |
| creditorAlias |  | <b>Conditional.</b> The alias used to identify and route to the payee. This field may be optional in certain use cases (determined by product rules) for example where routing is driven by creditorId. Where creditorAlias is provided, creditorAliasType must also be provided. The structure and validations of the creditorAlias field are determined by the creditorAliasType value. | No |
| creditorTaxId |  | This field used to carry the tax reference applicable to the creditor or registration ID of the business entity for B2C use case. While defined as optional for the Visa API, this field is required where local regulation requires the tax ID to be compliant. | No |
| creditorIdType |  |  | No |
| creditorAgentId |  | Visa identifier for the payee service provider. | Yes |
| creditorCountry |  | Payees country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorLastName |  | <b>Conditional. Mandatory for P2P use case but optional for B2C</b>.The last name of the payee. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| creditorAliasType |  |  | No |
| creditorFirstName |  | <b>Conditional. Mandatory for P2P use case but optional for B2C</b> .The first name of the payee. | No |
| nationalIdentifiers |  | This field used to hold the national identifier (like a passport number) of a creditor in a B2C use case . While this field is optional in Visa API, it becomes mandatory where local regulation requires to send information about the registration identifier to the Payer while initiating a request to pay. | No |
| creditorAgentCountry |  | Payee service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorBusinessName |  | <b>Conditional.</b> Name of the business entity submitting the R2P request for example brand name/doing business as. Required for a B2C request. | No |

#### viewBlockResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| blockedPayees | [ { **"product"**: string, **"blockReason"**: string, **"referenceId"**: string, **"creditorAlias"**: string, **"blockCreatedDate"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"creditorBusinessName"**: string } ] | Following the view block request from payer/debtor,Visa R2P service will return details of active blocks(only) the payer/debtor had applied on payee in the past. | Yes |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| responseMessageId | string |  | Yes |

#### requestOptions-2 Schema

Optional field for B2C/P2P use case. This field serves as an indicator for different preferences associated with the payee.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reminderSchedule | [ dateTime ] | This enables payees to set automated reminders for a request to pay. A request can have up to 3 reminders at a maximum rate of 1 reminder per day. Reminders can be scheduled using the Initiate R2P or Amend R2P APIs.<br> When using the Amend R2P API, future reminders can be changed or removed but reminders that have already been sent must be included unchanged.<br> An Amend R2P call with an empty reminderSchedule list will remove all reminders provided they are all in the future. <br>*Example:* `["2023-05-30T09:30:47Z","2023-06-11T11:22:33Z","2023-07-11T11:22:33Z"]` | No |
| allowMultiplePayments | boolean | Used to indicate whether the request can be settled with multiple smaller payments rather than a single full payment. If not included this will default to FALSE to ensure compatibility between participants.<br>*Example:* `false` | No |

#### viewBlockResponse-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| blockedPayees |  | Following the view block request from payer/debtor,Visa R2P service will return details of active blocks(only) the payer/debtor had applied on payee in the past. | Yes |
| creationDateTime | undefined (date-time) |  | Yes |
| requestMessageId |  |  | Yes |
| responseMessageId |  |  | Yes |

#### creditor-5 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorId | string | <b>Conditional.</b> ID that may be used to uniquely identify the payee within the context of the creditorIdType (e.g., customer id assigned by service provider). While an optional field in certain use cases (determined by product rules outlined here), certain capabilities such as search will limited based on provided data to ensure data security. For example, protecting against MSISDN re-use in mobile telephone markets or payee having multiple telephone numbers. <table><tr><td>Product</td><td>Initiate Request to Visa</td><td>Initiate Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Omitted</td></tr></table> As seen in the table above, the creditorId is not shared with the payer agent. When responding to a Retrieve Request to Pay call, inclusion of the creditorId will be based on the role of the caller.  | No |
| creditorMCC | string | <b>Conditional.</b> Merchant Category Code applicable to the creditor for this transaction. Applicable for the B2C use case. | No |
| creditorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payee. This field may be optional in certain use cases (determined by product rules) for example where routing is driven by creditorId. Where creditorAlias is provided, creditorAliasType must also be provided. The structure and validations of the creditorAlias field are determined by the creditorAliasType value. | No |
| creditorTaxId | string | This field used to carry the tax reference applicable to the creditor or registration ID of the business entity for B2C use case. While defined as optional for the Visa API, this field is required where local regulation requires the tax ID to be compliant. | No |
| creditorIdType | string |  | No |
| creditorAgentId | string | Visa identifier for the payee service provider. | Yes |
| creditorCountry | string | Payees country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorLastName | string | <b>Conditional. Mandatory for P2P use case but optional for B2C</b>.The last name of the payee. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| creditorAliasType | string |  | No |
| creditorFirstName | string | <b>Conditional. Mandatory for P2P use case but optional for B2C</b> .The first name of the payee. | No |
| nationalIdentifiers | [ { **"type"**: string, **"value"**: string } ] | This field used to hold the national identifier (like a passport number) of a creditor in a B2C use case . While this field is optional in Visa API, it becomes mandatory where local regulation requires to send information about the registration identifier to the Payer while initiating a request to pay. | No |
| creditorAgentCountry | string | Payee service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorBusinessName | string | <b>Conditional.</b> Name of the business entity submitting the R2P request for example brand name/doing business as. Required for a B2C request. | No |

#### refundSettlementOption Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| settlementSystem | string |  | Yes |
| primaryAccountNumber | string | Conditional. Primary Account Number (PAN) payment can be made to for this Request to Pay. For example, the creditors PAN or an agent allowed to receive funds for them. Validations limited to MOD10 checks. If Settlement System is Visa Direct or Mastercard, this field is required. | No |

#### viewBlockResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| blockedPayees | [ { **"product"**: string, **"blockReason"**: string, **"referenceId"**: string, **"creditorAlias"**: string, **"blockCreatedDate"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"creditorBusinessName"**: string } ] | Following the view block request from payer/debtor,Visa R2P service will return details of active blocks(only) the payer/debtor had applied on payee in the past. | Yes |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| responseMessageId | string |  | Yes |

#### r2p_refund_useCase-2 Schema

The useCase field sets the use case that the Refund Request to Pay is for, and combined with the product, drives specific business rules and validations for the transaction. Valid values are:
<table><tr><td>Value</td><td>Description</td></tr>
<tr><td>B2C</td><td>A Refund request sent from consumer to a business against a previously settled B2C request.</td></tr></table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_refund_useCase-2 |  | The useCase field sets the use case that the Refund Request to Pay is for, and combined with the product, drives specific business rules and validations for the transaction. Valid values are: <table><tr><td>Value</td><td>Description</td></tr> <tr><td>B2C</td><td>A Refund request sent from consumer to a business against a previously settled B2C request.</td></tr></table>  |  |

**Example**
<pre>B2C</pre>

#### refundCreditor_fromVisa-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payee. This field may be optional in certain use cases (determined by product rules) for example where routing is driven by creditorId. Where creditorAlias is provided, creditorAliasType must also be provided. The structure and valiations of the creditorAlias field are determined by the creditorAliasType value. | No |
| creditorAgentId | string | Visa identifier for the payee service provider. | Yes |
| creditorCountry | string | Payees country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorLastName | string | <b>Optional Field</b>.The last name of the payee. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | Yes |
| creditorAliasType | string |  | No |
| creditorFirstName | string | <b>Optional Field</b> .The first name of the payee. | Yes |
| creditorAgentCountry | string | Payee service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |

#### refundCreditor_fromVisa-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payee. This field may be optional in certain use cases (determined by product rules) for example where routing is driven by creditorId. Where creditorAlias is provided, creditorAliasType must also be provided. The structure and validations of the creditorAlias field are determined by the creditorAliasType value. | No |
| creditorAgentId | string | Visa identifier for the payee service provider. | Yes |
| creditorCountry | string | Payees country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorLastName | string | <b>Optional Field</b>.The last name of the payee. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | Yes |
| creditorAliasType | string |  | No |
| creditorFirstName | string | <b>Optional Field</b> .The first name of the payee. | Yes |
| creditorAgentCountry | string | Payee service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |

#### paymentRequest_fromVisa-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequestId | string |  | Yes |

#### paymentRequest_fromVisa Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequestId | string |  | Yes |

#### cancelR2pResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| responseMessageId | string |  | Yes |
| transactionStatus | string |  | Yes |

#### refundCreditor_fromVisa-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorAlias |  | <b>Conditional.</b> The alias used to identify and route to the payee. This field may be optional in certain use cases (determined by product rules) for example where routing is driven by creditorId. Where creditorAlias is provided, creditorAliasType must also be provided. The structure and validations of the creditorAlias field are determined by the creditorAliasType value. | No |
| creditorAgentId |  | Visa identifier for the payee service provider. | Yes |
| creditorCountry |  | Payees country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorLastName |  | The last name of the payee. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| creditorAliasType |  |  | No |
| creditorFirstName |  | The first name of the payee. | No |
| creditorAgentCountry |  | Payee service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |

#### r2p_paymentRequestId-1 Schema

Visa generated transaction ID for this Request to Pay. Note that while this field supports up to 35 characters, Request to Pay IDs generated by Visa are 21 characters long.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_paymentRequestId-1 |  | Visa generated transaction ID for this Request to Pay. Note that while this field supports up to 35 characters, Request to Pay IDs generated by Visa are 21 characters long. |  |

**Example**
<pre>RFP01314</pre>

#### dict_country2-1 Schema

Specified using ISO3166-2.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dict_country2-1 |  | Specified using ISO3166-2. |  |

**Example**
<pre>UA</pre>

#### paymentRequest_fromVisa-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequestId | string |  | Yes |

#### dict_dateStamp-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dict_dateStamp-1 | undefined (date) |  |  |

**Example**
<pre>2021-03-17</pre>

#### paymentRequest_fromVisa-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequestId |  |  | Yes |

#### settlementDetails-4 Schema

<b>Conditional - Required if the Request to Pay is settled.</b> The list of payments received for the associated Request to Pay.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| settlementDetails-4 | [ { **"message"**: string, **"settledAmount"**: number, **"settlementSystem"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string } ] | <b>Conditional - Required if the Request to Pay is settled.</b> The list of payments received for the associated Request to Pay.  |  |

#### paymentRequest_fromVisa-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequestId | string |  | Yes |

#### settlementDetails-5 Schema

<b>Conditional - Required if the Request to Pay is settled.</b> The list of payments received for the associated Request to Pay.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| settlementDetails-5 | [ { **"message"**: string, **"settledAmount"**: number, **"settlementSystem"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string } ] | <b>Conditional - Required if the Request to Pay is settled.</b> The list of payments received for the associated Request to Pay.  |  |

#### settlementDetails-2 Schema

<b>Conditional - Required if the Request to Pay is settled.</b> The list of payments received for the associated Request to Pay. Note that while maxLength is 1, this is specified as an array for future use cases.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| settlementDetails-2 | [ { **"settledAmount"**: number, **"settlementSystem"**: string, **"debtorAccountDetail"**: { **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string } ] | <b>Conditional - Required if the Request to Pay is settled.</b> The list of payments received for the associated Request to Pay. Note that while maxLength is 1, this is specified as an array for future use cases.  |  |

#### lastName Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| lastName | string |  |  |

**Example**
<pre>F.</pre>

#### settlementDetails-3 Schema

<b>Conditional - Required if the Request to Pay is settled.</b> The list of payments received for the associated Request to Pay.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| settlementDetails-3 |  | <b>Conditional - Required if the Request to Pay is settled.</b> The list of payments received for the associated Request to Pay.  |  |

#### errorResponseTagTxn Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| code | string | Coded reason group this error response is considered part of. <table><tr><td>Value</td><td>Description</td></tr> <tr><td>RC1xxx</td><td>RC1xxx codes indicate an invalid request. Typically a syntactical issue with the API request such as a missing mandatory field incorrect field formatting.</td></tr> <tr><td>RC2xxx</td><td>RC2xxxx codes indicate a business validation failure. Typically, the request is syntactically correct but the request does not meet the business rules configured. For example, the debtor last name does not meet country specific validations.</td></tr> <tr><td>RC3xxx</td><td>RC3xxx codes indicate an authorisation failure. The request may be syntactically correct and meet the necessary business rules but breaches an additional control or configuration in place. i.e., The request is valid but not allowed at this time. Examples of reasons for this error include attempting to retrieve R2P details unrelated to the entity calling the retrieve request to pay API or submitting a B2C request when only configured for P2P requests.</td></tr> <tr><td>RC3001</td><td>Authorisation failure: The request is syntactically correct but cannot be accepted by Visa at this time as a result of an active block control.</td></tr> <tr><td>RC3002</td><td>Authorisation failure: The request is syntactically correct but cannot be accepted by Visa at this time as a result of velocity/frequency control.</td></tr> <tr><td>RC4xxx</td><td>RC4xxx codes indicate an entity in the request to pay transaction is unknown. The request involves an entity that is not known or cannot be resolved. For example, the mobile number given to route the R2P to is not known to the organisation with responsibility for resolving the number to a debtor - whether that be Visa or another organisation depending on the service configuration and request to pay transaction.</td></tr> <tr><td>RC5xxx</td><td>Server Errors. May be seen as a result of errors internal to the processing system.</td></tr></table> <br>*Example:* `"RC1000"` | Yes |
| details | [ { **"field"**: string, **"reason"**: string } ] | Additional details on specific fields that triggered the error response where relevant. | No |
| message | string | *Example:* `"Data in the request is missing or invalid"` | Yes |
| creationDateTime | dateTime |  | Yes |

#### settlementDetails-1 Schema

<b>Conditional - Required if the Request to Pay is settled.</b> The list of payments received for the associated Request to Pay.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| settlementDetails-1 | [ { **"message"**: string, **"unicodeEmoji"**: string, **"settledAmount"**: number, **"creditorAckEmoji"**: string, **"settlementSystem"**: string, **"creditorAckMessage"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string } ] | <b>Conditional - Required if the Request to Pay is settled.</b> The list of payments received for the associated Request to Pay.  |  |

#### MessageEvent Schema

This is used to provide the information that need to be tagged to the transaction. Please note: At least one of the following attributes must be present.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorAckEmoji | string | This allows the payee to send a single emoji as an acknowledgement for the payment they received to the payer. Please refer the implementation guide for the list of supported emojis. | No |
| creditorAckMessage | string | This allows the payee to send a single message as an acknowledgement for the payment they received to the payer. Please refer the implementation guide for the list of supported pre-defined messages. | No |

#### paymentRequest_toVisa-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndId |  |  | Yes |
| debtorAlias |  | <b>Conditional.</b> The alias used to identify and route to the payer. Where debtorAlias is provided, debtorAliasType must also be provided. The structure and validations of the debtorAlias field are determined by the debtorAliasType value. <table><tr><td>Product</td><td>Initiate Request to Visa</td><td>Initiate Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Mandatory</td></tr></table> | No |
| debtorAgentId |  | <b>Conditional.</b> Visa identifier for the payer service provider.While this may be omitted by the creditor agent if they have subscribed to in-flight resolution for debtor routing, it will be included by Visa when routing to the debtor agent.If provided by the Creditor Agent then that will be used for R2P routing. | No |
| debtorCountry |  | Payers country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| debtorLastName |  | The last name of the payer. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| debtorAliasType |  |  | No |
| debtorFirstName |  | The first name of the payer. | No |
| requestedAmount |  |  | Yes |
| debtorAgentCountry |  | Payer service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| requestedAmountCurrency |  |  | Yes |

#### paymentRequest_toVisa-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndId | string |  | Yes |
| debtorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payer. Where debtorAlias is provided, debtorAliasType must also be provided. The structure and validations of the debtorAlias field are determined by the debtorAliasType value. <table><tr><td>Product</td><td>Initiate Request to Visa</td><td>Initiate Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Mandatory</td></tr></table> | No |
| debtorAgentId | string | <b>Conditional.</b> Visa identifier for the payer service provider.While this may be omitted by the creditor agent if they have subscribed to in-flight resolution for debtor routing, it will be included by Visa when routing to the debtor agent.If provided by the Creditor Agent then that will be used for R2P routing. | No |
| debtorCountry | string | Payers country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| debtorLastName | string | The last name of the payer. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | Yes |
| debtorAliasType | string |  | No |
| debtorFirstName | string | The first name of the payer | Yes |
| requestedAmount | number |  | Yes |
| debtorAgentCountry | string | Payer service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| requestedAmountCurrency | string |  | Yes |

#### paymentRequest_toVisa-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndId | string |  | Yes |
| debtorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payer. Where debtorAlias is provided, debtorAliasType must also be provided. The structure and validations of the debtorAlias field are determined by the debtorAliasType value. <table><tr><td>Product</td><td>Initiate Request to Visa</td><td>Initiate Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Mandatory</td></tr></table> | No |
| debtorAgentId | string | <b>Conditional.</b> Visa identifier for the payer service provider.While this may be omitted by the creditor agent if they have subscribed to in-flight resolution for debtor routing, it will be included by Visa when routing to the debtor agent.If provided by the Creditor Agent then that will be used for R2P routing. | No |
| debtorCountry | string | Payers country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| debtorLastName | string | The last name of the payer. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| debtorAliasType | string |  | No |
| debtorFirstName | string | The first name of the payer | No |
| requestedAmount | number |  | Yes |
| debtorAgentCountry | string | Payer service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| requestedAmountCurrency | string |  | Yes |

#### confirmSettlementSystem-3 Schema

Settlement mechanism or payment rail used for payments related to the payment request. Currently supported values are:
<table><tr><td>Value</td><td>Settlement mechanism or payment rail</td><td>Description</td></tr>
<tr><td>VISA_DIRECT</td><td>Visa Direct</td><td>Available for both P2P and B2C.</td></tr>
<tr><td>MASTERCARD</td><td>Mastercard</td><td>Available for only P2P not B2C.</td></tr>
<tr><td>YELLOW_PEPPER</td><td>Enabled by Yellow Pepper</td><td>Available for only P2P not B2C. Payment was facilitated by Yellow Pepper. In this instance, settlement system specific information may not be available. Only available in specific market, please contact Visa representative for more details.</td></tr></table>         

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| confirmSettlementSystem-3 |  | Settlement mechanism or payment rail used for payments related to the payment request. Currently supported values are: <table><tr><td>Value</td><td>Settlement mechanism or payment rail</td><td>Description</td></tr> <tr><td>VISA_DIRECT</td><td>Visa Direct</td><td>Available for both P2P and B2C.</td></tr> <tr><td>MASTERCARD</td><td>Mastercard</td><td>Available for only P2P not B2C.</td></tr> <tr><td>YELLOW_PEPPER</td><td>Enabled by Yellow Pepper</td><td>Available for only P2P not B2C. Payment was facilitated by Yellow Pepper. In this instance, settlement system specific information may not be available. Only available in specific market, please contact Visa representative for more details.</td></tr></table>           |  |

**Example**
<pre>VISA_DIRECT</pre>

#### refund_paymentAmount-1 Schema

Value that the refund request or refund payment is for.This should be less than or equal to the original Requet to Pay settled amount. Note that while this field supports ISO20022 decimal references (12.5), consideration should be given to the supported values in other contexts such as settlement options. For example card payments processed in an ISO8583 environment where values can only support 9.3 formats.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| refund_paymentAmount-1 | number | Value that the refund request or refund payment is for.This should be less than or equal to the original Requet to Pay settled amount. Note that while this field supports ISO20022 decimal references (12.5), consideration should be given to the supported values in other contexts such as settlement options. For example card payments processed in an ISO8583 environment where values can only support 9.3 formats. |  |

**Example**
<pre>100</pre>

#### paymentRequest_toVisa-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndId | string |  | Yes |
| debtorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payer. Where debtorAlias is provided, debtorAliasType must also be provided. The structure and valiations of the debtorAlias field are determined by the debtorAliasType value. <table><tr><td>Product</td><td>Initiate Request to Visa</td><td>Initiate Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Mandatory</td></tr></table> | No |
| debtorAgentId | string | <b>Conditional.</b> Visa identifier for the payer service provider.While this may be omitted by the creditor agent if they have subscribed to in-flight resolution for debtor routing, it will be included by Visa when routing to the debtor agent.If provided by the Creditor Agent then that will be used for R2P routing. | No |
| debtorCountry | string | Payers country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| debtorLastName | string | The last name of the payer. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | Yes |
| debtorAliasType | string |  | No |
| debtorFirstName | string | The first name of the payer | Yes |
| requestedAmount | number |  | Yes |
| debtorAgentCountry | string | Payer service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| requestedAmountCurrency | string |  | Yes |

#### confirmSettlementSystemReferenceType Schema

Conditional and this is required when settlementSystem is VISA_DIRECT. Settlement reference type acts like a metadata for the settlementSystemReferenceID field. Currently supported values are:
<table>
<tr><td>Value</td><td>Description</td></tr>
<tr><td>RRN</td><td>Retrieval Reference Number.<br> Use when settlementSystem is VISA_DIRECT/MASTERCARD.</td><td>Available for both P2P and B2C.</td></tr>
<tr><td>TXNID</td><td>Visa or Mastercard transaction ID</td><td>Available for both P2P and B2C.</td></tr>
<tr><td>YPPID</td><td>Yellow Pepper PIS payment ID.<br>Use when settlementSystem is YELLOW_PEPPER.</td><td>Available for both P2P and B2C.</td></tr>
</table>
Note : If not present in the Confirm request from Payer Service Provider , Request to Pay service will default it to "UNKNOWN" and same will be send in outbound Confirm API to Payee Service Provider.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| confirmSettlementSystemReferenceType | string | Conditional and this is required when settlementSystem is VISA_DIRECT. Settlement reference type acts like a metadata for the settlementSystemReferenceID field. Currently supported values are: <table> <tr><td>Value</td><td>Description</td></tr> <tr><td>RRN</td><td>Retrieval Reference Number.<br> Use when settlementSystem is VISA_DIRECT/MASTERCARD.</td><td>Available for both P2P and B2C.</td></tr> <tr><td>TXNID</td><td>Visa or Mastercard transaction ID</td><td>Available for both P2P and B2C.</td></tr> <tr><td>YPPID</td><td>Yellow Pepper PIS payment ID.<br>Use when settlementSystem is YELLOW_PEPPER.</td><td>Available for both P2P and B2C.</td></tr> </table> Note : If not present in the Confirm request from Payer Service Provider , Request to Pay service will default it to "UNKNOWN" and same will be send in outbound Confirm API to Payee Service Provider.  |  |

**Example**
<pre>RRN</pre>

#### confirmSettlementSystem-1 Schema

Settlement mechanism or payment rail used for payments related to the payment request. Currently supported values are:
<table><tr><td>Value</td><td>Settlement mechanism or payment rail</td><td>Description</td></tr>
<tr><td>VISA_DIRECT</td><td>Visa Direct</td><td>Available for both P2P and B2C.</td></tr>
<tr><td>MASTERCARD</td><td>Mastercard</td><td>Available for only P2P not B2C.</td></tr>
<tr><td>YELLOW_PEPPER</td><td>Enabled by Yellow Pepper</td><td>Available for only P2P not B2C. Payment was facilitated by Yellow Pepper. In this instance, settlement system specific information may not be available. Only available in specific market, please contact Visa representative for more details.</td></tr></table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| confirmSettlementSystem-1 | string | Settlement mechanism or payment rail used for payments related to the payment request. Currently supported values are: <table><tr><td>Value</td><td>Settlement mechanism or payment rail</td><td>Description</td></tr> <tr><td>VISA_DIRECT</td><td>Visa Direct</td><td>Available for both P2P and B2C.</td></tr> <tr><td>MASTERCARD</td><td>Mastercard</td><td>Available for only P2P not B2C.</td></tr> <tr><td>YELLOW_PEPPER</td><td>Enabled by Yellow Pepper</td><td>Available for only P2P not B2C. Payment was facilitated by Yellow Pepper. In this instance, settlement system specific information may not be available. Only available in specific market, please contact Visa representative for more details.</td></tr></table>  |  |

**Example**
<pre>VISA_DIRECT</pre>

#### confirmSettlementSystem-2 Schema

Settlement mechanism or payment rail used for payments related to the payment request. Currently supported values are:
<table><tr><td>Value</td><td>Settlement mechanism or payment rail</td><td>Description</td></tr>
<tr><td>VISA_DIRECT</td><td>Visa Direct</td><td>Available for both P2P and B2C.</td></tr>
<tr><td>MASTERCARD</td><td>Mastercard</td><td>Available for only P2P not B2C.</td></tr>
<tr><td>YELLOW_PEPPER</td><td>Enabled by Yellow Pepper</td><td>Available for only P2P not B2C. Payment was facilitated by Yellow Pepper. In this instance, settlement system specific information may not be available.Only available in specific market, please contact Visa representative for more details.</td></tr></table>         

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| confirmSettlementSystem-2 | string | Settlement mechanism or payment rail used for payments related to the payment request. Currently supported values are: <table><tr><td>Value</td><td>Settlement mechanism or payment rail</td><td>Description</td></tr> <tr><td>VISA_DIRECT</td><td>Visa Direct</td><td>Available for both P2P and B2C.</td></tr> <tr><td>MASTERCARD</td><td>Mastercard</td><td>Available for only P2P not B2C.</td></tr> <tr><td>YELLOW_PEPPER</td><td>Enabled by Yellow Pepper</td><td>Available for only P2P not B2C. Payment was facilitated by Yellow Pepper. In this instance, settlement system specific information may not be available.Only available in specific market, please contact Visa representative for more details.</td></tr></table>           |  |

**Example**
<pre>VISA_DIRECT</pre>

#### refundPaymentRequest_toVisa-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndId |  |  | Yes |
| requestedAmount |  |  | Yes |

#### refundPaymentRequest_toVisa-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndId | string |  | Yes |
| requestedAmount | number |  | Yes |

#### refund_paymentAmount-2 Schema

Value that the refund request or refund payment is for. This should be less than or equal to the original Request to Pay settled amount. Note that while this field supports ISO20022 decimal references (12.5), consideration should be given to the supported values in other contexts such as settlement options. For example card payments processed in an ISO8583 environment where values can only support 9.3 formats.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| refund_paymentAmount-2 |  | Value that the refund request or refund payment is for. This should be less than or equal to the original Request to Pay settled amount. Note that while this field supports ISO20022 decimal references (12.5), consideration should be given to the supported values in other contexts such as settlement options. For example card payments processed in an ISO8583 environment where values can only support 9.3 formats. |  |

**Example**
<pre>100</pre>

#### dict_debtorTaxId-1 Schema

Debtor taxId information sent by debtor/payer

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dict_debtorTaxId-1 |  | Debtor taxId information sent by debtor/payer |  |

**Example**
<pre>ABCDE1234567890</pre>

#### settlementOption Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| receivingAlias | string | Conditional. This field is required when settlementSystem is DEFERRED_TO_ALIAS. Format and length validation are in place. | No |
| settlementSystem | string |  | Yes |
| receivingAliasType | string | Conditional. This field is required when receivingAlias is present. This indicates the type of alias provided and thus validation logic and business rules that will be applied to it. Should be supporting EMAIL,MOBL as aliasType. | No |
| primaryAccountNumber | string | Conditional. Primary Account Number (PAN) payment can be made to for this Request to Pay. For example, the creditors PAN or an agent allowed to receive funds for them. Validations limited to MOD10 checks. If Settlement System is Visa Direct or Mastercard, this field is required. | No |

#### refundCreditor_fromVisa Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payee. This field may be optional in certain use cases (determined by product rules) for example where routing is driven by creditorId. Where creditorAlias is provided, creditorAliasType must also be provided. The structure and validations of the creditorAlias field are determined by the creditorAliasType value. | No |
| creditorAgentId | string | Visa identifier for the payee service provider. | Yes |
| creditorCountry | string | Payees country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorLastName | string | The last name of the payee. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| creditorAliasType | string |  | No |
| creditorFirstName | string | The first name of the payee. | No |
| creditorAgentCountry | string | Payee service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |

#### refundPaymentRequest_toVisa Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndId | string |  | Yes |
| requestedAmount | number |  | Yes |

#### multiRetrieveErrorDetails Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| field | string | The field from the payload related to the described issue.<br>*Example:* `"paymentRequestIds[0]"` | Yes |
| reason | string | Additional information on why this field is causing the issue outlined by the error code.<br>*Example:* `"does not match the regex pattern"` | Yes |

#### viewBlockRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| debtorId | string | The debtorID originally provided by the users agent or their processor when responding to the Initiate Request to Pay call.  | Yes |
| debtorIdType | string |  | Yes |
| debtorAgentId | string | <b>Conditional.</b>. Required when this API is called by an agents processor, the debtorAgentId indicates what service provider they are calling on behalf of.<br>*Example:* `"455200923457"` | No |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |

#### dict_mcc-1 Schema

Merchant Country Code values are specified as documented in ISO18245.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dict_mcc-1 |  | Merchant Country Code values are specified as documented in ISO18245. |  |

**Example**
<pre>7995</pre>

#### r2p_useCase Schema

The useCase field sets the use case that the Request to Pay is for, and combined with the product, drives specific business rules and validations for the transaction. Valid values are:
<table><tr><td>Value</td><td>Description</td></tr>
<tr><td>P2P</td><td>A Request to Pay sent from one consumer to another (i.e. Person to Person).</td></tr>
<tr><td>B2C</td><td>A Request to Pay sent from one business to a consumer.</td></tr></table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_useCase | string | The useCase field sets the use case that the Request to Pay is for, and combined with the product, drives specific business rules and validations for the transaction. Valid values are: <table><tr><td>Value</td><td>Description</td></tr> <tr><td>P2P</td><td>A Request to Pay sent from one consumer to another (i.e. Person to Person).</td></tr> <tr><td>B2C</td><td>A Request to Pay sent from one business to a consumer.</td></tr></table>  |  |

**Example**
<pre>P2P</pre>

#### initiateSettlementOptions-1 Schema

The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| initiateSettlementOptions-1 | [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] | The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases. |  |

#### referenceType-1 Schema

Indicates the reference type. Valid values are:
<table>
<tr><td>Description</td></tr>
<tr><td>CONTRACTID</td></tr>
<tr><td>INVOICEID</td></tr>
<tr><td>ORDERID</td></tr>
<tr><td>TRACKINGID</td></tr>
<tr><td>PAYMENTID</td></tr>
<tr><td>OTHER</td></tr>
</table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| referenceType-1 |  | Indicates the reference type. Valid values are: <table> <tr><td>Description</td></tr> <tr><td>CONTRACTID</td></tr> <tr><td>INVOICEID</td></tr> <tr><td>ORDERID</td></tr> <tr><td>TRACKINGID</td></tr> <tr><td>PAYMENTID</td></tr> <tr><td>OTHER</td></tr> </table>  |  |

**Example**
<pre>INVOICEID</pre>

#### initiateSettlementOptions-2 Schema

The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| initiateSettlementOptions-2 |  | The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases. |  |

#### confirmSettlementSystemReferenceType-2 Schema

Conditional and this is required when settlementSystem is VISA_DIRECT. Settlement reference type acts like a metadata for the settlementSystemReferenceID field. Currently supported values are:
<table>
<tr><td>Value</td><td>Description</td></tr>
<tr><td>RRN</td><td>Retrieval Reference Number.<br> Use when settlementSystem is VISA_DIRECT/MASTERCARD.</td><td>Available for both P2P and B2C.</td></tr>
<tr><td>TXNID</td><td>Visa or Mastercard transaction ID</td><td>Available for both P2P and B2C.</td></tr>
<tr><td>YPPID</td><td>Yellow Pepper PIS payment ID.<br>Use when settlementSystem is YELLOW_PEPPER.</td><td>Available for both P2P and B2C.</td></tr>
</table>
Note : If not present in the Confirm request from Payer Service Provider , Request to Pay service will default it to "UNKNOWN" and same will be send in outbound Confirm API to Payee Service Provider.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| confirmSettlementSystemReferenceType-2 |  | Conditional and this is required when settlementSystem is VISA_DIRECT. Settlement reference type acts like a metadata for the settlementSystemReferenceID field. Currently supported values are: <table> <tr><td>Value</td><td>Description</td></tr> <tr><td>RRN</td><td>Retrieval Reference Number.<br> Use when settlementSystem is VISA_DIRECT/MASTERCARD.</td><td>Available for both P2P and B2C.</td></tr> <tr><td>TXNID</td><td>Visa or Mastercard transaction ID</td><td>Available for both P2P and B2C.</td></tr> <tr><td>YPPID</td><td>Yellow Pepper PIS payment ID.<br>Use when settlementSystem is YELLOW_PEPPER.</td><td>Available for both P2P and B2C.</td></tr> </table> Note : If not present in the Confirm request from Payer Service Provider , Request to Pay service will default it to "UNKNOWN" and same will be send in outbound Confirm API to Payee Service Provider.  |  |

**Example**
<pre>RRN</pre>

#### confirmSettlementSystemReferenceType-3 Schema

Settlement reference type acts like a metadata for the settlementSystemReferenceID field. Currently supported values are:
<table>
<tr><td>Value</td><td>Description</td></tr>
<tr><td>RRN</td><td>Retrieval Reference Number</td><td>Available for both P2P and B2C.</td></tr>
<tr><td>TXNID</td><td>Visa or Mastercard transaction ID</td><td>Available for both P2P and B2C.</td></tr>
<tr><td>YPPID</td><td>Yellow Pepper PIS payment ID</td><td>Available for both P2P and B2C.</td></tr>
</table>
Note : If not present in the Confirm request from Payer Service Provider , Request to Pay service will default it to "UNKNOWN" and same will be send in outbound Confirm API to Payee Service Provider.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| confirmSettlementSystemReferenceType-3 | string | Settlement reference type acts like a metadata for the settlementSystemReferenceID field. Currently supported values are: <table> <tr><td>Value</td><td>Description</td></tr> <tr><td>RRN</td><td>Retrieval Reference Number</td><td>Available for both P2P and B2C.</td></tr> <tr><td>TXNID</td><td>Visa or Mastercard transaction ID</td><td>Available for both P2P and B2C.</td></tr> <tr><td>YPPID</td><td>Yellow Pepper PIS payment ID</td><td>Available for both P2P and B2C.</td></tr> </table> Note : If not present in the Confirm request from Payer Service Provider , Request to Pay service will default it to "UNKNOWN" and same will be send in outbound Confirm API to Payee Service Provider.  |  |

**Example**
<pre>RRN</pre>

#### confirmSettlementSystemReferenceType-1 Schema

Settlement reference type acts like a metadata for the settlementSystemReferenceID field. Currently supported values are:
<table>
<tr><td>Value</td><td>Description</td></tr>
<tr><td>RRN</td><td>Retrieval Reference Number.<br> Use when settlementSystem is VISA_DIRECT/MASTERCARD.</td><td>Available for both P2P and B2C.</td></tr>
<tr><td>TXNID</td><td>Visa or Mastercard transaction ID</td><td>Available for both P2P and B2C.</td></tr>
<tr><td>YPPID</td><td>Yellow Pepper PIS payment ID.<br>Use when settlementSystem is YELLOW_PEPPER.</td><td>Available for both P2P and B2C.</td></tr>
</table>
Note : If not present in the Confirm request from Payer Service Provider , Request to Pay service will default it to "UNKNOWN" and same will be send in outbound Confirm API to Payee Service Provider.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| confirmSettlementSystemReferenceType-1 | string | Settlement reference type acts like a metadata for the settlementSystemReferenceID field. Currently supported values are: <table> <tr><td>Value</td><td>Description</td></tr> <tr><td>RRN</td><td>Retrieval Reference Number.<br> Use when settlementSystem is VISA_DIRECT/MASTERCARD.</td><td>Available for both P2P and B2C.</td></tr> <tr><td>TXNID</td><td>Visa or Mastercard transaction ID</td><td>Available for both P2P and B2C.</td></tr> <tr><td>YPPID</td><td>Yellow Pepper PIS payment ID.<br>Use when settlementSystem is YELLOW_PEPPER.</td><td>Available for both P2P and B2C.</td></tr> </table> Note : If not present in the Confirm request from Payer Service Provider , Request to Pay service will default it to "UNKNOWN" and same will be send in outbound Confirm API to Payee Service Provider.  |  |

**Example**
<pre>RRN</pre>

#### aliasType-1 Schema

This indicates the type of alias provided and thus validation logic and business rules that will be applied to it. The alias type must be provided in all cases an alias key is provided. Valid values are:
<table><tr><td>Value</td><td>Description</td><td>Validations and rules</td></tr>
<tr><td>MOBL</td><td>Mobile phone number</td><td>ITU-T E.164 number structure. A "+" is required in the mobile number</td></tr>
<tr><td>EMAIL</td><td>Email address</td><td>RFC 5322 email address structure</td></tr></table>
Note : 'MOBL' is only supported alias type in CIS/CEMEA region.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| aliasType-1 |  | This indicates the type of alias provided and thus validation logic and business rules that will be applied to it. The alias type must be provided in all cases an alias key is provided. Valid values are: <table><tr><td>Value</td><td>Description</td><td>Validations and rules</td></tr> <tr><td>MOBL</td><td>Mobile phone number</td><td>ITU-T E.164 number structure. A "+" is required in the mobile number</td></tr> <tr><td>EMAIL</td><td>Email address</td><td>RFC 5322 email address structure</td></tr></table> Note : 'MOBL' is only supported alias type in CIS/CEMEA region.  |  |

**Example**
<pre>MOBL</pre>

#### businessName-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| businessName-1 |  |  |  |

**Example**
<pre>Mini-Corp Inc.</pre>

#### reminderEventObject-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| eventType |  |  | Yes |
| paymentRequestId |  |  | Yes |

#### r2p_transactionStatus-1 Schema

Overall status of the Request to Pay transaction. 
It is expected that a successful Initiate Request to Pay will only return PDNG. Changes to the transaction status will be communicated in subsequent messages.
Valid values are:
<table><tr><td>Value</td><td>Description</td></tr>
<tr><td>PDNG</td><td>R2P has been created and is valid but has not been processed further by the payer.</td></tr>
<tr><td>RJCT</td><td>R2P could not be conveyed to the payer or the payer has rejected it. See the full transaction information for more detail.</td></tr>
<tr><td>ACSC</td><td>R2P has been accepted by the payer and payment has been confirmed as made. See the full transaction information for more detail.</td></tr>
<tr><td>CNCL</td><td>R2P has been cancelled by the payee. See the full transaction information for more detail.</td></tr>
<tr><td>EXPD</td><td>R2P has expired (i.e. the dueDate is in the past) and can no longer be updated.</td></tr>
</table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_transactionStatus-1 | string | Overall status of the Request to Pay transaction.  It is expected that a successful Initiate Request to Pay will only return PDNG. Changes to the transaction status will be communicated in subsequent messages. Valid values are: <table><tr><td>Value</td><td>Description</td></tr> <tr><td>PDNG</td><td>R2P has been created and is valid but has not been processed further by the payer.</td></tr> <tr><td>RJCT</td><td>R2P could not be conveyed to the payer or the payer has rejected it. See the full transaction information for more detail.</td></tr> <tr><td>ACSC</td><td>R2P has been accepted by the payer and payment has been confirmed as made. See the full transaction information for more detail.</td></tr> <tr><td>CNCL</td><td>R2P has been cancelled by the payee. See the full transaction information for more detail.</td></tr> <tr><td>EXPD</td><td>R2P has expired (i.e. the dueDate is in the past) and can no longer be updated.</td></tr> </table>  |  |

**Example**
<pre>PDNG</pre>

#### endToEndId-2 Schema

A transaction ID, unique to the creditorAgent, that may be used independently of Visa IDs (i.e paymentRequestId) to identify the transaction between payee and payer service providers. Note that this value is set by the entity that submits the Initiate Request to Pay to Visa and we cannot determine who in the chain between the end user and Visa set this value.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndId-2 |  | A transaction ID, unique to the creditorAgent, that may be used independently of Visa IDs (i.e paymentRequestId) to identify the transaction between payee and payer service providers. Note that this value is set by the entity that submits the Initiate Request to Pay to Visa and we cannot determine who in the chain between the end user and Visa set this value. |  |

**Example**
<pre>RFPid0001</pre>

#### endToEndId-1 Schema

A transaction ID, unique to the creditorAgent, that may be used independently of Visa IDs (i.e paymentRequestId) to identify the transacton between payee and payer service providers. Note that this value is set by the entity that submits the Initiate Request to Pay to Visa and we cannot determine who in the chain between the end user and Visa set this value.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndId-1 | string | A transaction ID, unique to the creditorAgent, that may be used independently of Visa IDs (i.e paymentRequestId) to identify the transacton between payee and payer service providers. Note that this value is set by the entity that submits the Initiate Request to Pay to Visa and we cannot determine who in the chain between the end user and Visa set this value. |  |

**Example**
<pre>RFPid0001</pre>

#### r2p_transactionStatus-2 Schema

Overall status of the Request to Pay transaction. 
It is expected that a successful Initiate Request to Pay will only return PDNG. Changes to the transaction status will be communicated in subsequent messages.
Valid values are:
<table><tr><td>Value</td><td>Description</td></tr>
<tr><td>PDNG</td><td>R2P has been created and is valid but has not been processed further by the payer.</td></tr>
<tr><td>RJCT</td><td>R2P could not be conveyed to the payer or the payer has rejected it. See the full transaction information for more detail.</td></tr>
<tr><td>ACCP</td><td>R2P has been accepted by the payer and a partial payment has been made. See the full transaction information for more detail.</td></tr>
<tr><td>ACSC</td><td>R2P has been accepted by the payer and payment has been confirmed as made. See the full transaction information for more detail.</td></tr>
<tr><td>CNCL</td><td>R2P has been cancelled by the payee. See the full transaction information for more detail.</td></tr>
<tr><td>EXPD</td><td>R2P has expired (i.e. the dueDate is in the past) and can no longer be updated.</td></tr>
</table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_transactionStatus-2 |  | Overall status of the Request to Pay transaction.  It is expected that a successful Initiate Request to Pay will only return PDNG. Changes to the transaction status will be communicated in subsequent messages. Valid values are: <table><tr><td>Value</td><td>Description</td></tr> <tr><td>PDNG</td><td>R2P has been created and is valid but has not been processed further by the payer.</td></tr> <tr><td>RJCT</td><td>R2P could not be conveyed to the payer or the payer has rejected it. See the full transaction information for more detail.</td></tr> <tr><td>ACCP</td><td>R2P has been accepted by the payer and a partial payment has been made. See the full transaction information for more detail.</td></tr> <tr><td>ACSC</td><td>R2P has been accepted by the payer and payment has been confirmed as made. See the full transaction information for more detail.</td></tr> <tr><td>CNCL</td><td>R2P has been cancelled by the payee. See the full transaction information for more detail.</td></tr> <tr><td>EXPD</td><td>R2P has expired (i.e. the dueDate is in the past) and can no longer be updated.</td></tr> </table>  |  |

**Example**
<pre>PDNG</pre>

#### multiRetrieveErrorDetails-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| field |  | The field from the payload related to the described issue.<br>*Example:* `"paymentRequestIds[0]"` | Yes |
| reason |  | Additional information on why this field is causing the issue outlined by the error code.<br>*Example:* `"does not match the regex pattern"` | Yes |

#### r2p_cancellationReason-1 Schema

Coded cancellation reason information for a transaction status update. Valid values are:
<table>
<tr><td><strong><u>Value</u></strong></td><td><strong><u>Description</u></strong></td></tr>
<tr><td>ERRAMT</td><td>Incorrect amount requested.</td></tr>
<tr><td>ERRDRINFO</td><td>Incorrect debtor information on for the Request to Pay.</td></tr>
<tr><td>PAID</td><td>Already Paid/Paid via alternate route.</td></tr>
<tr><td>DRTP</td><td>Duplicate request.</td></tr>
<tr><td>ERR</td><td>Erroneous request.</td></tr>
<tr><td>SVNR</td><td>Services not rendered.</td></tr>
<tr><td>FRAUD</td><td>Fraud</td></tr>
<tr><td>OTHR</td><td>Other</td></tr>
</table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_cancellationReason-1 |  | Coded cancellation reason information for a transaction status update. Valid values are: <table> <tr><td><strong><u>Value</u></strong></td><td><strong><u>Description</u></strong></td></tr> <tr><td>ERRAMT</td><td>Incorrect amount requested.</td></tr> <tr><td>ERRDRINFO</td><td>Incorrect debtor information on for the Request to Pay.</td></tr> <tr><td>PAID</td><td>Already Paid/Paid via alternate route.</td></tr> <tr><td>DRTP</td><td>Duplicate request.</td></tr> <tr><td>ERR</td><td>Erroneous request.</td></tr> <tr><td>SVNR</td><td>Services not rendered.</td></tr> <tr><td>FRAUD</td><td>Fraud</td></tr> <tr><td>OTHR</td><td>Other</td></tr> </table>  |  |

**Example**
<pre>ERRAMT</pre>

#### settlementRecordRetrieve Schema

Details of a payment received for an associated Request to Pay.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| message | string | Allows the payer to include a single message as part of the payment confirmation to the payee. Please refer the implementation guide for the list of supported pre-defined messages. | No |
| unicodeEmoji | string | Allows the payer to include a single emoji as part of the payment confirmation to the payee. Please refer the implementation guide for the list of supported emojis. | No |
| settledAmount | number | This is the value the payment is for. | Yes |
| creditorAckEmoji | string | Allows the payee to send a single emoji as an acknowledgement for the payment they received to the payer. Please refer the implementation guide for the list of supported emojis. | No |
| settlementSystem | string |  | Yes |
| creditorAckMessage | string | Allows the payee to send a single message as an acknowledgement for the payment they received to the payer. Please refer the implementation guide for the list of supported pre-defined messages. | No |
| debtorAccountDetail | { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string } | Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. For example, when selecting VISA_DIRECT as the settlementSystem for the payment, primaryAccountNumber is required. Parameter debtorTaxId is optional. | No |
| creditorAccountDetail | { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } | Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. | Yes |
| settledAmountCurrency | string | Currency that the payment is in, specified using ISO4217. Currently it must match the requested currency. | Yes |
| settlementSystemReferenceId | string | Reference ID provided by the settlement system that may be used for reconciliation.  <br>*Example:* `"VIP1234567890"` | Yes |
| settlementSystemReferenceType | string |  | No |

#### endToEndIds-2 Schema

A transaction ID, unique to the creditor, that may be used independently of Visa IDs (i.e paymentRequestId) to identify the transaction between payee and payer service providers. Note that this value is set by the entity that submits the Initiate Request to Pay to Visa and we cannot determine who in the chain between the end user and Visa set this value.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndIds-2 |  | A transaction ID, unique to the creditor, that may be used independently of Visa IDs (i.e paymentRequestId) to identify the transaction between payee and payer service providers. Note that this value is set by the entity that submits the Initiate Request to Pay to Visa and we cannot determine who in the chain between the end user and Visa set this value. |  |

**Example**
<pre>[
  "RFPid0001",
  "RFPid0002"
]</pre>

#### creditorForRetrieve-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorId | string | <b>Conditional.</b> ID that may be used to uniquely identify the payee within the context of the creditorIdType (e.g., customer id assigned by service provider). While an optional field in certain use cases (determined by product rules outlined here), certain capabilities such as search will limited based on provided data to ensure data security. For example, protecting against MSISDN re-use in mobile telephone markets. <table><tr><td>Product</td><td>Initiate/Refund Request to Visa</td><td>Initiate/Refund Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Omitted</td></tr></table> As seen in the table above, the creditorId is not shared with the payer agent. When responding to a Retrieve Request to Pay call, inclusion of the creditorId will be based on the role of the caller.  | No |
| creditorMcc | string |  <b>Conditional.</b> Merchant Category Code applicable to the creditor for this transaction. Required for a B2C request. | No |
| creditorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payee. This field may be optional in certain use cases (determined by product rules) for example where routing is driven by creditorId. Where creditorAlias is provided, creditorAliasType must also be provided. The structure and validations of the creditorAlias field are determined by the creditorAliasType value. | No |
| creditorTaxId | string | The tax reference applicable to the creditor. While defined as optional for the Visa API, this field is required where local regulation requires the tax ID to be compliant. | No |
| creditorIdType | string |  | No |
| creditorAgentId | string | Visa identifier for the payee service provider. | Yes |
| creditorCountry | string | Payees country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorLastName | string | <b>Conditional.</b> Mandatory for P2P use case and refund of B2C R2P but optional for B2C. The last name of the payee. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| creditorAliasType | string |  | No |
| creditorFirstName | string | <b>Conditional.</b> Mandatory for P2P use case and refund of B2C R2P but optional for B2C. The first name of the payee. | No |
| creditorAgentCountry | string | Payee service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorBusinessName | string | <b>Conditional.</b> Name of the business entity submitting the R2P request for example brand name/doing business as. Required for a B2C request. | No |

#### creditorForRetrieve-5 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorId | string | <b>Conditional.</b> ID that may be used to uniquely identify the payee within the context of the creditorIdType (e.g., customer id assigned by service provider). While an optional field in certain use cases (determined by product rules outlined here), certain capabilities such as search will limited based on provided data to ensure data security. For example, protecting against MSISDN re-use in mobile telephone markets. <table><tr><td>Product</td><td>Initiate/Refund Request to Visa</td><td>Initiate/Refund Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Omitted</td></tr></table> As seen in the table above, the creditorId is not shared with the payer agent. When responding to a Retrieve Request to Pay call, inclusion of the creditorId will be based on the role of the caller.  | No |
| creditorMCC | string |  <b>Conditional.</b> Merchant Category Code applicable to the creditor for this transaction. Required for a B2C request. | No |
| creditorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payee. This field may be optional in certain use cases (determined by product rules) for example where routing is driven by creditorId. Where creditorAlias is provided, creditorAliasType must also be provided. The structure and validations of the creditorAlias field are determined by the creditorAliasType value. | No |
| creditorTaxId | string | The tax reference applicable to the creditor or registration ID of the business entity in B2C use case. While defined as optional for the Visa API, this field is required where local regulation requires the tax ID to be compliant. | No |
| creditorIdType | string |  | No |
| creditorAgentId | string | Visa identifier for the payee service provider. | Yes |
| creditorCountry | string | Payees country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorLastName | string | <b>Conditional.</b> Mandatory for P2P use case but optional otherwise. The last name of the payee. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| creditorAliasType | string |  | No |
| creditorFirstName | string | <b>Conditional.</b> Mandatory for P2P use case but optional otherwise. The first name of the payee. | No |
| nationalIdentifiers | [ { **"type"**: string, **"value"**: string } ] | This field used to hold the national identifier (like a passport number) of a creditor in a B2C use case . While this field is optional in Visa API, it becomes mandatory where local regulation requires to send information about the registration identifier to the Payer while initiating a request to pay. This information is present in the response only if creditor sends the information during request to pay initiation. | No |
| creditorAgentCountry | string | Payee service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorBusinessName | string | <b>Conditional.</b> Name of the business entity submitting the R2P request for example brand name/doing business as. Required for a B2C request. | No |

#### retrieveR2pResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | dueDate indicates the date that the payment request is asked to be settled by. If this is not specified by the payee service provider, a default timeframe of 90 days from the current date will be applied. The payer can expect to receive the dueDate value whether the payee specified it or not. | Yes |
| message | string | *Example:* `"The payer has rejected the Request to Pay."` | No |
| product | string |  | Yes |
| useCase | string |  | Yes |
| creditor | { **"creditorId"**: string, **"creditorMcc"**: string, **"creditorAlias"**: string, **"creditorTaxId"**: string, **"creditorIdType"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"nationalIdentifiers"**: [ { **"type"**: string, **"value"**: string } ], **"creditorAgentCountry"**: string, **"creditorBusinessName"**: string } |  | No |
| statusReason | string |  | No |
| requestReason | { **"message"**: string, **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"unicodeEmoji"**: string, **"paymentPurpose"**: string } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| paymentRequest | { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"acceptedAmount"**: number, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"acceptedAmountCurrency"**: string, **"requestedAmountCurrency"**: string } |  | No |
| requestOptions | { **"reminderSchedule"**: [ dateTime ], **"allowMultiplePayments"**: boolean, **"closeWithFirstPayment"**: boolean } |  | No |
| creationDateTime | dateTime |  | Yes |
| responseMessageId | string |  | Yes |
| settlementDetails | [ { **"message"**: string, **"unicodeEmoji"**: string, **"settledAmount"**: number, **"creditorAckEmoji"**: string, **"settlementSystem"**: string, **"creditorAckMessage"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string } ] | <b>Conditional - Required if the Request to Pay is settled.</b> The list of payments received for the associated Request to Pay.  | No |
| settlementOptions | [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] | The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases. | No |
| transactionStatus | string |  | Yes |
| paymentRequestCreationDateTime | dateTime | The time that the Request to Pay was created in the Visa platform. | Yes |

#### paymentRequestMinResponse-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| debtorId |  | <b>Conditional.</b> ID that may be used to uniquely identify the payer within the context of the debtorIdType. While an optional field in certain use cases (determined by product rules outlined here), certain capabilities such as search will be limited based on provided data to ensure data security. For example protecting against MSISDN re-use in mobile telephone markets. As such, Visa strongly recommends using this field. <table><tr><td>Product</td><td>Initiate Response from Visa</td><td>Initiate Response to Visa</td></tr> <tr><td>VD</td><td>Not included</td><td>Optional</td></tr></table> The debtorId is not shared with the payee agent. When responding to a Retrieve Request to Pay call, inclusion of the debtorId will be based on the role of the caller.  | No |
| endToEndId |  |  | Yes |
| debtorIdType |  |  | No |
| paymentRequestId |  |  | Yes |
| transactionStatus |  |  | Yes |

#### businessName Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| businessName | string |  |  |

**Example**
<pre>Mini-Corp Inc.</pre>

#### confirmR2pRequest-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| message | string |  | No |
| endToEndId | string |  | Yes |
| statusReason | string |  | No |
| acceptedAmount | number | <b>Conditional - required if the transaction is considered accepted.</b> This is the value the payment request is accepted for. Currently it must match the requested amount. | No |
| creationDateTime | dateTime |  | Yes |
| paymentRequestId | string |  | Yes |
| requestMessageId | string |  | Yes |
| settlementDetails | { **"settledAmount"**: number, **"settlementSystem"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string } | Details of a payment received for an associated Request to Pay. | No |
| transactionStatus | string |  | Yes |
| acceptedAmountCurrency | string | <b>Conditional - required if the transaction is considered accepted.</b> Currency that the payment request is accepted in specified using ISO4217. Currently it must match the requested currency. | No |

#### confirmR2pRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| message | string |  | No |
| endToEndId | string |  | Yes |
| statusReason | string |  | No |
| acceptedAmount | number | <b>Conditional - required if the transaction is considered accepted.</b> This is the value the payment request is accepted for. Currently it must match the requested amount. | No |
| creationDateTime | dateTime |  | Yes |
| paymentRequestId | string |  | Yes |
| requestMessageId | string |  | Yes |
| settlementDetails | { **"settledAmount"**: number, **"settlementSystem"**: string, **"debtorAccountDetail"**: { **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string } | Details of a payment received for an associated Request to Pay. | No |
| transactionStatus | string |  | Yes |
| acceptedAmountCurrency | string | <b>Conditional - required if the transaction is considered accepted.</b> Currency that the payment request is accepted in specified using ISO4217. Currently it must match the requested currency. | No |

#### confirmR2pRequest-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| message |  |  | No |
| endToEndId |  |  | Yes |
| statusReason |  |  | No |
| acceptedAmount |  | <b>Conditional - required if the transaction is considered accepted.</b> This is the value the payment request is accepted for. Currently it must match the requested amount except when ‘requestOptions[].closeWithFirstPayment’ flag is set to true in the Initiate R2P request.  | No |
| creationDateTime | undefined (date-time) |  | Yes |
| paymentRequestId |  |  | Yes |
| requestMessageId |  |  | Yes |
| settlementDetails | { **"message"**: , **"unicodeEmoji"**: , **"settledAmount"**: , **"settlementSystem"**: , **"debtorAccountDetail"**: { **"debtorTaxId"**: , **"primaryAccountNumber"**:  }, **"creditorAccountDetail"**: { **"receivingAlias"**: , **"receivingAliasType"**: , **"primaryAccountNumber"**:  }, **"settledAmountCurrency"**: , **"settlementSystemReferenceId"**: , **"settlementSystemReferenceType"**:  } | Details of a payment received for an associated Request to Pay. | No |
| transactionStatus |  |  | Yes |
| acceptedAmountCurrency |  | <b>Conditional - required if the transaction is considered accepted.</b> Currency that the payment request is accepted in specified using ISO4217. Currently it must match the requested currency. | No |

#### confirmR2pRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| message | string |  | No |
| endToEndId | string |  | Yes |
| statusReason | string |  | No |
| acceptedAmount | number | <b>Conditional - required if the transaction is considered accepted.</b> This is the value the payment request is accepted for. Currently it must match the requested amount except when ‘requestOptions[].closeWithFirstPayment’ flag is set to true in the Initiate request to Visa.  | No |
| creationDateTime | dateTime |  | Yes |
| paymentRequestId | string |  | Yes |
| requestMessageId | string |  | Yes |
| settlementDetails | { **"message"**: string, **"unicodeEmoji"**: string, **"settledAmount"**: number, **"settlementSystem"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string } | Details of a payment received for an associated Request to Pay. | No |
| transactionStatus | string |  | Yes |
| acceptedAmountCurrency | string | <b>Conditional - required if the transaction is considered accepted.</b> Currency that the payment request is accepted in specified using ISO4217. Currently it must match the requested currency. | No |

#### refundSettlementOption-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| settlementSystem |  |  | Yes |
| primaryAccountNumber |  | Conditional. Primary Account Number (PAN) payment can be made to for this Request to Pay. For example, the creditors PAN or an agent allowed to receive funds for them. Validations limited to MOD10 checks. If Settlement System is Visa Direct or Mastercard, this field is required. | No |

#### multipleRetrieveR2pResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequestDetail | [ { **"dueDate"**: date, **"message"**: string, **"product"**: string, **"useCase"**: string, **"creditor"**: { **"creditorId"**: string, **"creditorMcc"**: string, **"creditorAlias"**: string, **"creditorTaxId"**: string, **"creditorIdType"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"nationalIdentifiers"**: [ { **"type"**: string, **"value"**: string } ], **"creditorAgentCountry"**: string, **"creditorBusinessName"**: string }, **"statusReason"**: string, **"requestReason"**: { **"message"**: string, **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"unicodeEmoji"**: string, **"paymentPurpose"**: string }, **"paymentRequest"**: { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"acceptedAmount"**: number, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"acceptedAmountCurrency"**: string, **"requestedAmountCurrency"**: string }, **"requestOptions"**: { **"reminderSchedule"**: [ dateTime ], **"allowMultiplePayments"**: boolean, **"closeWithFirstPayment"**: boolean }, **"creationDateTime"**: dateTime, **"responseMessageId"**: string, **"settlementDetails"**: [ { **"message"**: string, **"unicodeEmoji"**: string, **"settledAmount"**: number, **"creditorAckEmoji"**: string, **"settlementSystem"**: string, **"creditorAckMessage"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string } ], **"settlementOptions"**: [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ], **"transactionStatus"**: string, **"paymentRequestCreationDateTime"**: dateTime } ] |  | No |

#### creditorAccountDetail-1 Schema

Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| receivingAlias | string | Conditional. This field is required when  settlementOptions[].settlementSystem is DEFERRED_TO_ALIAS in Initiate R2P Request.Format and length validation are in place. | No |
| receivingAliasType | string | Conditional. This field is required when receivingAlias is present.This indicates the type of alias provided and thus validation logic and business rules that will be applied to it.Should be supporting EMAIL,MOBL as aliasType. | No |
| primaryAccountNumber | string | Primary Account Number (PAN) for a card credential.This is optional when settlementOptions[].settlementSystem is DEFERRED_TO_ALIAS in Initiate or settlementDetails[].settlementSystem is YELLOW_PEPPER in Confirm. Note that this may be masked by Visa in certain scenarios. | No |

#### endToEndIds-1 Schema

A transaction ID, unique to the creditor, that may be used independently of Visa IDs (i.e paymentRequestId) to identify the transacton between payee and payer service providers. Note that this value is set by the entity that submits the Initiate Request to Pay to Visa and we cannot determine who in the chain between the end user and Visa set this value.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndIds-1 | [ string ] | A transaction ID, unique to the creditor, that may be used independently of Visa IDs (i.e paymentRequestId) to identify the transacton between payee and payer service providers. Note that this value is set by the entity that submits the Initiate Request to Pay to Visa and we cannot determine who in the chain between the end user and Visa set this value. |  |

**Example**
<pre>[
  "RFPid0001",
  "RFPid0002"
]</pre>

#### creditorAccountDetail-2 Schema

Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| receivingAlias |  | Conditional. This field is required when  settlementOptions[].settlementSystem is DEFERRED_TO_ALIAS in Initiate R2P Request. Format and length validation are in place. | No |
| receivingAliasType |  | Conditional. This field is required when receivingAlias is present. This indicates the type of alias provided and thus validation logic and business rules that will be applied to it. Should be supporting EMAIL,MOBL as aliasType. | No |
| primaryAccountNumber |  | Primary Account Number (PAN) for a card credential. This is optional when settlementOptions[].settlementSystem is DEFERRED_TO_ALIAS in Initiate or settlementDetails[].settlementSystem is YELLOW_PEPPER in Confirm. Note that this may be masked by Visa in certain scenarios. | No |

#### nationalIdentifiersObject-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| type |  |  | Yes |
| value |  |  | Yes |

#### retrieveR2pResponse-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | undefined (date) | dueDate indicates the date that the payment request is asked to be settled by. If this is not specified by the payee service provider, a default timeframe of 90 days from the current date will be applied. The payer can expect to receive the dueDate value whether the payee specified it or not. | Yes |
| message |  | *Example:* `"The payer has rejected the Request to Pay."` | No |
| product |  |  | Yes |
| useCase |  |  | Yes |
| creditor | { **"creditorId"**: , **"creditorMCC"**: , **"creditorAlias"**: , **"creditorTaxId"**: , **"creditorIdType"**: , **"creditorAgentId"**: , **"creditorCountry"**: , **"creditorLastName"**: , **"creditorAliasType"**: , **"creditorFirstName"**: , **"nationalIdentifiers"**: , **"creditorAgentCountry"**: , **"creditorBusinessName"**:  } |  | No |
| statusReason |  |  | No |
| requestReason | { **"message"**: , **"references"**: , **"unicodeEmoji"**: , **"paymentPurpose"**:  } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| paymentRequest | { **"endToEndId"**: , **"debtorAlias"**: , **"debtorAgentId"**: , **"debtorCountry"**: , **"acceptedAmount"**: , **"debtorLastName"**: , **"debtorAliasType"**: , **"debtorFirstName"**: , **"requestedAmount"**: , **"debtorAgentCountry"**: , **"acceptedAmountCurrency"**: , **"requestedAmountCurrency"**:  } |  | No |
| requestOptions | { **"reminderSchedule"**: , **"allowMultiplePayments"**: , **"closeWithFirstPayment"**:  } |  | No |
| creationDateTime | undefined (date-time) |  | Yes |
| responseMessageId |  |  | Yes |
| settlementDetails |  | <b>Conditional - Required if the Request to Pay is settled.</b> The list of payments received for the associated Request to Pay.  | No |
| settlementOptions |  | The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases. | No |
| transactionStatus |  |  | Yes |
| paymentRequestCreationDateTime | undefined (date-time) | The time that the Request to Pay was created in the Visa platform. | Yes |

#### retrieveR2pResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | dueDate indicates the date that the payment request is asked to be settled by. If this is not specified by the payee service provider, a default timeframe of 90 days from the current date will be applied. The payer can expect to receive the dueDate value whether the payee specified it or not. | Yes |
| message | string | *Example:* `"The payer has rejected the Request to Pay."` | No |
| product | string |  | Yes |
| useCase | string |  | Yes |
| creditor | { **"creditorId"**: string, **"creditorMcc"**: string, **"creditorAlias"**: string, **"creditorTaxId"**: string, **"creditorIdType"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"creditorAgentCountry"**: string, **"creditorBusinessName"**: string } |  | No |
| statusReason | string |  | No |
| requestReason | { **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"paymentPurpose"**: string } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| paymentRequest | { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"requestedAmountCurrency"**: string } |  | No |
| creationDateTime | dateTime |  | Yes |
| responseMessageId | string |  | Yes |
| settlementDetails | [ { **"settledAmount"**: number, **"settlementSystem"**: string, **"debtorAccountDetail"**: { **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string } ] | <b>Conditional - Required if the Request to Pay is settled.</b> The list of payments received for the associated Request to Pay. Note that while maxLength is 1, this is specified as an array for future use cases.  | No |
| settlementOptions | [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] | The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases. | No |
| transactionStatus | string |  | Yes |
| paymentRequestCreationDateTime | dateTime | The time that the Request to Pay was created in the Visa platform. | Yes |

#### retrieveR2pResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | dueDate indicates the date that the payment request is asked to be settled by. If this is not specified by the payee service provider, a default timeframe of 90 days from the current date will be applied. The payer can expect to receive the dueDate value whether the payee specified it or not. | Yes |
| message | string | *Example:* `"The payer has rejected the Request to Pay."` | No |
| product | string |  | Yes |
| useCase | string |  | Yes |
| creditor | { **"creditorId"**: string, **"creditorMcc"**: string, **"creditorAlias"**: string, **"creditorTaxId"**: string, **"creditorIdType"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"nationalIdentifiers"**: [ { **"type"**: string, **"value"**: string } ], **"creditorAgentCountry"**: string, **"creditorBusinessName"**: string } |  | No |
| statusReason | string |  | No |
| requestReason | { **"message"**: string, **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"unicodeEmoji"**: string, **"paymentPurpose"**: string } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| paymentRequest | { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"acceptedAmount"**: number, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"acceptedAmountCurrency"**: string, **"requestedAmountCurrency"**: string } |  | No |
| requestOptions | { **"reminderSchedule"**: [ dateTime ], **"allowMultiplePayments"**: boolean, **"closeWithFirstPayment"**: boolean } |  | No |
| creationDateTime | dateTime |  | Yes |
| responseMessageId | string |  | Yes |
| settlementDetails | [ { **"message"**: string, **"unicodeEmoji"**: string, **"settledAmount"**: number, **"creditorAckEmoji"**: string, **"settlementSystem"**: string, **"creditorAckMessage"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string } ] | <b>Conditional - Required if the Request to Pay is settled.</b> The list of payments received for the associated Request to Pay.  | No |
| settlementOptions | [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] | The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases. | No |
| transactionStatus | string |  | Yes |
| paymentRequestCreationDateTime | dateTime | The time that the Request to Pay was created in the Visa platform. | Yes |

#### initiateSettlementOption-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| receivingAlias | string | Conditional. This field is required when settlementSystem is DEFERRED_TO_ALIAS.Format and length validation are in place. | No |
| settlementSystem | string |  | Yes |
| receivingAliasType | string | Conditional. This field is required when receivingAlias is present.This indicates the type of alias provided and thus validation logic and business rules that will be applied to it.Should be supporting EMAIL,MOBL as aliasType. | No |
| primaryAccountNumber | string | Conditional. Primary Account Number (PAN) payment can be made to for this Request to Pay. For example, the creditors PAN or an agent allowed to receive funds for them. Validations limited to MOD10 checks. If Settlement System is Visa Direct or Mastercard, this field is required. | No |

#### errorDetails-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| field |  | The field from the payload related to the described issue.<br>*Example:* `"$.requestMessageId"` | Yes |
| reason |  | Additional information on why this field is causing the issue outlined by the error code.<br>*Example:* `"does not match the regex pattern"` | Yes |

#### retrieveR2pResponse-7 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | dueDate indicates the date that the payment request is asked to be settled by. If this is not specified by the payee service provider, a default timeframe of 90 days from the current date will be applied. The payer can expect to receive the dueDate value whether the payee specified it or not. | Yes |
| message | string | *Example:* `"The payer has rejected the Request to Pay."` | No |
| product | string |  | Yes |
| useCase | string |  | Yes |
| creditor | { **"creditorId"**: string, **"creditorMCC"**: string, **"creditorAlias"**: string, **"creditorTaxId"**: string, **"creditorIdType"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"nationalIdentifiers"**: [ { **"type"**: string, **"value"**: string } ], **"creditorAgentCountry"**: string, **"creditorBusinessName"**: string } |  | No |
| statusReason | string |  | No |
| requestReason | { **"message"**: string, **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"unicodeEmoji"**: string, **"paymentPurpose"**: string } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| paymentRequest | { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"acceptedAmount"**: number, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"acceptedAmountCurrency"**: string, **"requestedAmountCurrency"**: string } |  | No |
| requestOptions | { **"reminderSchedule"**: [ dateTime ], **"allowMultiplePayments"**: boolean, **"closeWithFirstPayment"**: boolean } |  | No |
| creationDateTime | dateTime |  | Yes |
| responseMessageId | string |  | Yes |
| settlementDetails | [ { **"message"**: string, **"unicodeEmoji"**: string, **"settledAmount"**: number, **"creditorAckEmoji"**: string, **"settlementSystem"**: string, **"creditorAckMessage"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string } ] | <b>Conditional - Required if the Request to Pay is settled.</b> The list of payments received for the associated Request to Pay.  | No |
| settlementOptions | [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] | The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases. | No |
| transactionStatus | string |  | Yes |
| paymentRequestCreationDateTime | dateTime | The time that the Request to Pay was created in the Visa platform. | Yes |

#### initiateSettlementOption-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| receivingAlias |  | Conditional. This field is required when settlementSystem is DEFERRED_TO_ALIAS. Format and length validation are in place. | No |
| settlementSystem |  |  | Yes |
| receivingAliasType |  | Conditional. This field is required when receivingAlias is present. This indicates the type of alias provided and thus validation logic and business rules that will be applied to it. Should be supporting EMAIL,MOBL as aliasType. | No |
| primaryAccountNumber |  | Conditional. Primary Account Number (PAN) payment can be made to for this Request to Pay. For example, the creditors PAN or an agent allowed to receive funds for them. Validations limited to MOD10 checks. If Settlement System is Visa Direct or Mastercard, this field is required. | No |

#### retrieveR2pResponse-5 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | dueDate indicates the date that the payment request is asked to be settled by. If this is not specified by the payee service provider, a default timeframe of 90 days from the current date will be applied. The payer can expect to receive the dueDate value whether the payee specified it or not. | Yes |
| message | string | *Example:* `"The payer has rejected the Request to Pay."` | No |
| product | string |  | Yes |
| useCase | string |  | Yes |
| creditor | { **"creditorId"**: string, **"creditorMcc"**: string, **"creditorAlias"**: string, **"creditorTaxId"**: string, **"creditorIdType"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"creditorAgentCountry"**: string, **"creditorBusinessName"**: string } |  | No |
| statusReason | string |  | No |
| requestReason | { **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"paymentPurpose"**: string } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| paymentRequest | { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"acceptedAmount"**: number, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"acceptedAmountCurrency"**: string, **"requestedAmountCurrency"**: string } |  | No |
| requestOptions | { **"reminderSchedule"**: [ dateTime ], **"allowMultiplePayments"**: boolean } |  | No |
| creationDateTime | dateTime |  | Yes |
| responseMessageId | string |  | Yes |
| settlementDetails | [ { **"message"**: string, **"settledAmount"**: number, **"settlementSystem"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string } ] | <b>Conditional - Required if the Request to Pay is settled.</b> The list of payments received for the associated Request to Pay.  | No |
| settlementOptions | [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] | The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases. | No |
| transactionStatus | string |  | Yes |
| paymentRequestCreationDateTime | dateTime | The time that the Request to Pay was created in the Visa platform. | Yes |

#### nationalIdentifiersObject-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| type | string |  | Yes |
| value | string |  | Yes |

#### retrieveR2pResponse-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | dueDate indicates the date that the payment request is asked to be settled by. If this is not specified by the payee service provider, a default timeframe of 90 days from the current date will be applied. The payer can expect to receive the dueDate value whether the payee specified it or not. | Yes |
| message | string | *Example:* `"The payer has rejected the Request to Pay."` | No |
| product | string |  | Yes |
| useCase | string |  | Yes |
| creditor | { **"creditorId"**: string, **"creditorMcc"**: string, **"creditorAlias"**: string, **"creditorTaxId"**: string, **"creditorIdType"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"creditorAgentCountry"**: string, **"creditorBusinessName"**: string } |  | No |
| statusReason | string |  | No |
| requestReason | { **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"paymentPurpose"**: string } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| paymentRequest | { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"acceptedAmount"**: number, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"acceptedAmountCurrency"**: string, **"requestedAmountCurrency"**: string } |  | No |
| requestOptions | { **"reminderSchedule"**: [ dateTime ], **"allowMultiplePayments"**: boolean } |  | No |
| creationDateTime | dateTime |  | Yes |
| responseMessageId | string |  | Yes |
| settlementDetails | [ { **"message"**: string, **"settledAmount"**: number, **"settlementSystem"**: string, **"debtorAccountDetail"**: { **"debtorTaxId"**: string, **"primaryAccountNumber"**: string }, **"creditorAccountDetail"**: { **"receivingAlias"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string }, **"settledAmountCurrency"**: string, **"settlementSystemReferenceId"**: string, **"settlementSystemReferenceType"**: string } ] | <b>Conditional - Required if the Request to Pay is settled.</b> The list of payments received for the associated Request to Pay.  | No |
| settlementOptions | [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] | The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases. | No |
| transactionStatus | string |  | Yes |
| paymentRequestCreationDateTime | dateTime | The time that the Request to Pay was created in the Visa platform. | Yes |

#### amendR2pResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creationDateTime | dateTime |  | Yes |
| paymentRequestId | string |  | Yes |
| requestMessageId | string |  | Yes |
| responseMessageId | string |  | Yes |
| transactionStatus | string |  | Yes |

#### paymentRequestMinResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| debtorId | string | <b>Conditional.</b> ID that may be used to uniquely identify the payer within the context of the debtorIdType. While an optional field in certain use cases (determined by product rules outlined here), certain capabilities such as search will be limited based on provided data to ensure data security. For example protecting against MSISDN re-use in mobile telephone markets. As such, Visa strongly recommends using this field. <table><tr><td>Product</td><td>Initiate Response from Visa</td><td>Initiate Response to Visa</td></tr> <tr><td>VD</td><td>Not included</td><td>Mandatory</td></tr></table> The debtorId is not shared with the payee agent. When responding to a Retrieve Request to Pay call, inclusion of the debtorId will be based on the role of the caller.  | No |
| endToEndId | string |  | Yes |
| debtorIdType | string |  | No |
| paymentRequestId | string |  | Yes |
| transactionStatus | string |  | Yes |

#### paymentRequestMinResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| debtorId | string | <b>Conditional.</b> ID that may be used to uniquely identify the payer within the context of the debtorIdType. While an optional field in certain use cases (determined by product rules outlined here), certain capabilities such as search will be limited based on provided data to ensure data security. For example protecting against MSISDN re-use in mobile telephone markets. As such, Visa strongly recommends using this field. <table><tr><td>Product</td><td>Initiate Response from Visa</td><td>Initiate Response to Visa</td></tr> <tr><td>VD</td><td>Not included</td><td>Optional</td></tr></table> The debtorId is not shared with the payee agent. When responding to a Retrieve Request to Pay call, inclusion of the debtorId will be based on the role of the caller.  | No |
| endToEndId | string |  | Yes |
| debtorIdType | string |  | No |
| paymentRequestId | string |  | Yes |
| transactionStatus | string |  | Yes |

#### amendR2pResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creationDateTime | undefined (date-time) |  | Yes |
| paymentRequestId |  |  | Yes |
| requestMessageId |  |  | Yes |
| responseMessageId |  |  | Yes |
| transactionStatus |  |  | Yes |

#### creditorForRetrieve-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorId | string | <b>Conditional.</b> ID that may be used to uniquely identify the payee within the context of the creditorIdType (e.g., customer id assigned by service provider). While an optional field in certain use cases (determined by product rules outlined here), certain capabilities such as search will limited based on provided data to ensure data security. For example, protecting against MSISDN re-use in mobile telephone markets. <table><tr><td>Product</td><td>Initiate/Refund Request to Visa</td><td>Initiate/Refund Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Omitted</td></tr></table> As seen in the table above, the creditorId is not shared with the payer agent. When responding to a Retrieve Request to Pay call, inclusion of the creditorId will be based on the role of the caller.  | No |
| creditorMcc | string |  <b>Conditional.</b> Merchant Category Code applicable to the creditor for this transaction. Required for a B2C request. | No |
| creditorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payee. This field may be optional in certain use cases (determined by product rules) for example where routing is driven by creditorId. Where creditorAlias is provided, creditorAliasType must also be provided. The structure and valiations of the creditorAlias field are determined by the creditorAliasType value. | No |
| creditorTaxId | string | The tax reference applicable to the creditor. While defined as optional for the Visa API, this field is required where local regulation requires the tax ID to be compliant. | No |
| creditorIdType | string |  | No |
| creditorAgentId | string | Visa identifier for the payee service provider. | Yes |
| creditorCountry | string | Payees country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorLastName | string | <b>Conditional.</b> Mandatory for P2P use case and refund of B2C R2P but optional for B2C. The last name of the payee. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| creditorAliasType | string |  | No |
| creditorFirstName | string | <b>Conditional.</b> Mandatory for P2P use case and refund of B2C R2P but optional for B2C. The first name of the payee. | No |
| creditorAgentCountry | string | Payee service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorBusinessName | string | <b>Conditional.</b> Name of the business entity submitting the R2P request for example brand name/doing business as. Required for a B2C request. | No |

#### paymentRequestIds-1 Schema

Visa generated transaction ID for this Request to Pay. Note that while this field supports up to 35 characters, Request to Pay IDs generated by Visa are 21 characters long.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentRequestIds-1 |  | Visa generated transaction ID for this Request to Pay. Note that while this field supports up to 35 characters, Request to Pay IDs generated by Visa are 21 characters long. |  |

**Example**
<pre>[
  "RFP01314",
  "RFP01315"
]</pre>

#### initiateSettlementSystem Schema

Settlement mechanism or payment rail used for payments related to the payment request. Currently supported values are:
<table><tr><td>Value</td><td>Settlement mechanism or payment rail</td><td>Description</td></tr>
<tr><td>VISA_DIRECT</td><td>Visa Direct</td><td>Available for both P2P and B2C.</td></tr>
<tr><td>MASTERCARD</td><td>Mastercard</td><td>Available for only P2P not B2C.</td></tr>
<tr><td>DEFERRED_TO_ALIAS</td><td>Deferred To Alias</td><td> Available only in LAC region now. Settlement rail is not provided with the Initiate R2P call but derived at the point of payment using the given alias. Available for only P2P not B2C.</td></tr></table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| initiateSettlementSystem | string | Settlement mechanism or payment rail used for payments related to the payment request. Currently supported values are: <table><tr><td>Value</td><td>Settlement mechanism or payment rail</td><td>Description</td></tr> <tr><td>VISA_DIRECT</td><td>Visa Direct</td><td>Available for both P2P and B2C.</td></tr> <tr><td>MASTERCARD</td><td>Mastercard</td><td>Available for only P2P not B2C.</td></tr> <tr><td>DEFERRED_TO_ALIAS</td><td>Deferred To Alias</td><td> Available only in LAC region now. Settlement rail is not provided with the Initiate R2P call but derived at the point of payment using the given alias. Available for only P2P not B2C.</td></tr></table>  |  |

**Example**
<pre>VISA_DIRECT</pre>

#### creditorForRetrieve-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorId |  | <b>Conditional.</b> ID that may be used to uniquely identify the payee within the context of the creditorIdType (e.g., customer id assigned by service provider). While an optional field in certain use cases (determined by product rules outlined here), certain capabilities such as search will limited based on provided data to ensure data security. For example, protecting against MSISDN re-use in mobile telephone markets. <table><tr><td>Product</td><td>Initiate/Refund Request to Visa</td><td>Initiate/Refund Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Omitted</td></tr></table> As seen in the table above, the creditorId is not shared with the payer agent. When responding to a Retrieve Request to Pay call, inclusion of the creditorId will be based on the role of the caller.  | No |
| creditorMCC |  |  <b>Conditional.</b> Merchant Category Code applicable to the creditor for this transaction. Required for a B2C request. | No |
| creditorAlias |  | <b>Conditional.</b> The alias used to identify and route to the payee. This field may be optional in certain use cases (determined by product rules) for example where routing is driven by creditorId. Where creditorAlias is provided, creditorAliasType must also be provided. The structure and validations of the creditorAlias field are determined by the creditorAliasType value. | No |
| creditorTaxId |  | The tax reference applicable to the creditor or registration ID of the business entity in B2C use case. While defined as optional for the Visa API, this field is required where local regulation requires the tax ID to be compliant. | No |
| creditorIdType |  |  | No |
| creditorAgentId |  | Visa identifier for the payee service provider. | Yes |
| creditorCountry |  | Payees country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorLastName |  | <b>Conditional.</b> Mandatory for P2P use case but optional otherwise. The last name of the payee. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| creditorAliasType |  |  | No |
| creditorFirstName |  | <b>Conditional.</b> Mandatory for P2P use case but optional otherwise. The first name of the payee. | No |
| nationalIdentifiers |  | This field used to hold the national identifier (like a passport number) of a creditor in a B2C use case . While this field is optional in Visa API, it becomes mandatory where local regulation requires to send information about the registration identifier to the Payer while initiating a request to pay. This information is present in the response only if creditor sends the information during request to pay initiation. | No |
| creditorAgentCountry |  | Payee service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorBusinessName |  | <b>Conditional.</b> Name of the business entity submitting the R2P request for example brand name/doing business as. Required for a B2C request. | No |

#### creditorForRetrieve-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorId | string | <b>Conditional.</b> ID that may be used to uniquely identify the payee within the context of the creditorIdType (e.g., customer id assigned by service provider). While an optional field in certain use cases (determined by product rules outlined here), certain capabilities such as search will limited based on provided data to ensure data security. For example, protecting against MSISDN re-use in mobile telephone markets. <table><tr><td>Product</td><td>Initiate/Refund Request to Visa</td><td>Initiate/Refund Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Omitted</td></tr></table> As seen in the table above, the creditorId is not shared with the payer agent. When responding to a Retrieve Request to Pay call, inclusion of the creditorId will be based on the role of the caller.  | No |
| creditorMcc | string |  <b>Conditional.</b> Merchant Category Code applicable to the creditor for this transaction. Required for a B2C request. | No |
| creditorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payee. This field may be optional in certain use cases (determined by product rules) for example where routing is driven by creditorId. Where creditorAlias is provided, creditorAliasType must also be provided. The structure and validations of the creditorAlias field are determined by the creditorAliasType value. | No |
| creditorTaxId | string | The tax reference applicable to the creditor. While defined as optional for the Visa API, this field is required where local regulation requires the tax ID to be compliant. | No |
| creditorIdType | string |  | No |
| creditorAgentId | string | Visa identifier for the payee service provider. | Yes |
| creditorCountry | string | Payees country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorLastName | string | <b>Conditional.</b> Mandatory for P2P use case and refund of B2C R2P but optional for B2C. The last name of the payee. <b>NOTE:</b> This is currently limited to the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| creditorAliasType | string |  | No |
| creditorFirstName | string | <b>Conditional.</b> Mandatory for P2P use case and refund of B2C R2P but optional for B2C. The first name of the payee. | No |
| nationalIdentifiers | [ { **"type"**: string, **"value"**: string } ] | Field to carry creditor passport. While defined as optional for the Visa API, this field is required where local regulation requires to send information about the registration identifier. This information is present in the response only if creditor sends the information during request to pay initiation. | No |
| creditorAgentCountry | string | Payee service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| creditorBusinessName | string | <b>Conditional.</b> Name of the business entity submitting the R2P request for example brand name/doing business as. Required for a B2C request. | No |

#### lastName-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| lastName-1 |  |  |  |

**Example**
<pre>F.</pre>

#### blockedPayeesResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| product | string |  | Yes |
| blockReason | string | This indicates the block reason provided by payer during block opearation<br>*Example:* `"The Request to Pay is being rejected as a result of a block control"` | Yes |
| referenceId | string | Unique block referece id created during block opeartion<br>*Example:* `"116709992401522544782526"` | Yes |
| creditorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payee. This field may be optional in certain use cases (determined by product rules) for example where routing is driven by creditorId. Where creditorAlias is provided, creditorAliasType must also be provided. The structure and valiations of the creditorAlias field are determined by the creditorAliasType value. | No |
| blockCreatedDate | string | The blockCreatedDate field indicates when block has been applied on payee by payer.<br>*Example:* `"2022-12-14"` | Yes |
| creditorLastName | string | <b>Conditional.</b>Last name of the blocked Payee. This is mandatory for blocks applied on P2P request and refund of B2C request but optional for B2C request.<br>*Example:* `"Higgens"` | No |
| creditorAliasType | string |  | No |
| creditorFirstName | string | <b>Conditional.</b>First name of the blocked Payee. This is mandatory for blocks applied on P2P request and refund of B2C request but optional for B2C request.<br>*Example:* `"John"` | No |
| creditorBusinessName | string | <b>Conditional.</b> Name of blocked business entity for example brand name/doing business as. This is applicable only when blocks applied by consumer on B2C request in which blocked payee will be a business entity.<br>*Example:* `"Stripe"` | No |

#### blockedPayeesResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| product | string |  | Yes |
| blockReason | string | This indicates the block reason provided by payer during block operation.<br>*Example:* `"The Request to Pay is being rejected as a result of a block control"` | Yes |
| referenceId | string | Unique block referece id created during block opeartion<br>*Example:* `"116709992401522544782526"` | Yes |
| creditorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payee. This field may be optional in certain use cases (determined by product rules) for example where routing is driven by creditorId. Where creditorAlias is provided, creditorAliasType must also be provided. The structure and validations of the creditorAlias field are determined by the creditorAliasType value. | No |
| blockCreatedDate | string | The blockCreatedDate field indicates when block has been applied on payee by payer.<br>*Example:* `"2022-12-14"` | Yes |
| creditorLastName | string | <b>Conditional.</b>Last name of the blocked Payee. This is mandatory for blocks applied on P2P request and refund of B2C request but optional for B2C request.<br>*Example:* `"Higgens"` | No |
| creditorAliasType | string |  | No |
| creditorFirstName | string | <b>Conditional.</b>First name of the blocked Payee. This is mandatory for blocks applied on P2P request and refund of B2C request but optional for B2C request.<br>*Example:* `"John"` | No |
| creditorBusinessName | string | <b>Conditional.</b> Name of blocked business entity for example brand name/doing business as. This is applicable only when blocks applied by consumer on B2C request in which blocked payee will be a business entity.<br>*Example:* `"Stripe"` | No |

#### r2p_paymentRequestId Schema

Visa generated transaction ID for this Request to Pay. Note that while this field supports up to 35 characters, Request to Pay IDs generated by Visa are 21 characters long.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_paymentRequestId | string | Visa generated transaction ID for this Request to Pay. Note that while this field supports up to 35 characters, Request to Pay IDs generated by Visa are 21 characters long. |  |

**Example**
<pre>RFP01314</pre>

#### blockedPayeesResponse-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| product |  |  | Yes |
| blockReason |  | This indicates the block reason provided by payer during block operation.<br>*Example:* `"The Request to Pay is being rejected as a result of a block control"` | Yes |
| referenceId |  | Unique block referece id created during block opeartion<br>*Example:* `"116709992401522544782526"` | Yes |
| creditorAlias |  | <b>Conditional.</b> The alias used to identify and route to the payee. This field may be optional in certain use cases (determined by product rules) for example where routing is driven by creditorId. Where creditorAlias is provided, creditorAliasType must also be provided. The structure and validations of the creditorAlias field are determined by the creditorAliasType value. | No |
| creditorAgentId |  | Visa identifier for the payee service provider. | Yes |
| blockCreatedDate |  | The blockCreatedDate field indicates the date timestamp when block has been applied on payee by the payer.<br>*Example:* `"2020-12-17T09:30:47Z"` | Yes |
| creditorLastName |  | <b>Conditional.</b>Last name of the blocked Payee. This is mandatory for blocks applied on P2P request but optional otherwise.<br>*Example:* `"Higgens"` | No |
| creditorAliasType |  |  | No |
| creditorFirstName |  | <b>Conditional.</b>First name of the blocked Payee. This is mandatory for blocks applied on P2P request but optional otherwise.<br>*Example:* `"John"` | No |
| creditorBusinessName |  | <b>Conditional.</b> Name of blocked business entity for example brand name/doing business as. This is applicable only when blocks applied by consumer on B2C request in which blocked payee will be a business entity.<br>*Example:* `"Stripe"` | No |

#### initiateR2pRequest_common Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | dueDate indicates the date that the payment request is asked to be settled by. If this is not specified by the payee service provider, a default timeframe of 90 days from the current date will be applied. The payer can expect to receive the dueDate value whether the payee specified it or not. | No |
| product | string |  | Yes |
| useCase | string |  | Yes |
| creditor | { **"creditorId"**: string, **"creditorMcc"**: string, **"creditorAlias"**: string, **"creditorTaxId"**: string, **"creditorIdType"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"nationalIdentifiers"**: [ { **"type"**: string, **"value"**: string } ], **"creditorAgentCountry"**: string, **"creditorBusinessName"**: string } |  | Yes |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| settlementOptions | [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] |  | Yes |

#### core_request_affinity-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| core_request_affinity-1 |  |  |  |

**Example**
<pre>RFP11664782648731jRko01</pre>

#### amendR2pRequest_fromVisa Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | Indicates the amended due date the payment request to be settled by. If this is not specified by the payee service provider as part of amend request, original due date will remain unchanged. | No |
| requestReason | { **"message"**: string, **"unicodeEmoji"**: string } | The requestReason block provides additional information to make clear to the payer what the request is for. | No |
| paymentRequest | { **"requestedAmount"**: number } |  | No |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| settlementOptions | [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] |  | No |

#### refundCreditor_toVisa Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creditorId | string | ID that may be used to uniquely identify the payee within the context of the creditorIdType (e.g., customer id assigned by service provider). This should be same as the debtorID value if present in the Initiate R2P Response  <table><tr><td>Product</td><td>Refund Request to Visa</td><td>Refund Request from Visa</td></tr> <tr><td>VD</td><td>Mandatory</td><td>Omitted</td></tr></table> As seen in the table above, the creditorId is not shared with the payer agent. When responding to a Retrieve Request to Pay call, inclusion of the creditorId will be based on the role of the caller.  | Yes |
| creditorIdType | string |  | Yes |

#### dict_debtorTaxId Schema

Debtor taxId information sent by debtor/payer

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dict_debtorTaxId | string | Debtor taxId information sent by debtor/payer |  |

**Example**
<pre>ABCDE1234567890</pre>

#### paymentPurpose Schema

Regulatory Payment Purpose indicator. The value of this field will be determined by regulatory environment that the creditor and debtor are subject to. Typically these values will be defined by the central bank or other responsible regulator for the creditors country of business. While defined as optional in the Visa API, it will be required where the creditors country legally mandates it.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| paymentPurpose | string | Regulatory Payment Purpose indicator. The value of this field will be determined by regulatory environment that the creditor and debtor are subject to. Typically these values will be defined by the central bank or other responsible regulator for the creditors country of business. While defined as optional in the Visa API, it will be required where the creditors country legally mandates it. |  |

#### accountDetailsRetrieve-1 Schema

Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. For example, when selecting VISA_DIRECT as the settlementSystem for the payment, primaryAccountNumber is required. Parameter debtorTaxId is optional.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| debtorTaxId |  | The tax reference applicable to the debtor. While defined as optional for the Visa API, this field is required where local regulation requires the tax ID to be compliant. Note that this may be masked by Visa in certain countries. | No |
| primaryAccountNumber |  | Primary Account Number (PAN) for a card credential. Note that this may be masked by Visa in certain scenarios. | No |

#### amendR2pRequest_fromVisa-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | Indicates the amended due date the payment request to be settled by. If this is not specified by the payee service provider as part of amend request, original due date will remain unchanged. | No |
| requestReason | { **"message"**: string, **"unicodeEmoji"**: string } | The requestReason block provides additional information to make clear to the payer what the request is for. | No |
| paymentRequest | { **"requestedAmount"**: number } |  | No |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |

#### amendR2pRequest_fromVisa-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | undefined (date) | Indicates the amended due date the payment request to be settled by. If this is not specified by the payee service provider as part of amend request, original due date will remain unchanged. | No |
| requestReason | { **"message"**: , **"unicodeEmoji"**:  } | The requestReason block provides additional information to make clear to the payer what the request is for. | No |
| paymentRequest | { **"requestedAmount"**:  } |  | No |
| creationDateTime | undefined (date-time) |  | Yes |
| requestMessageId |  |  | Yes |
| settlementOptions |  |  | No |

#### agentId Schema

Visa identifier for the payee/payer service provider.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| agentId | string | Visa identifier for the payee/payer service provider. |  |

#### amendR2pRequest_fromVisa-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | Indicates the amended due date the payment request to be settled by. If this is not specified by the payee service provider as part of amend request, original due date will remain unchanged. | No |
| paymentRequest | { **"requestedAmount"**: number } |  | No |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |

#### aliasKey Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| aliasKey | string |  |  |

**Example**
<pre>447709123457</pre>

#### dict_dateTimeStamp Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dict_dateTimeStamp | dateTime |  |  |

**Example**
<pre>2020-12-17T09:30:47Z</pre>

#### referenceValue-1 Schema

Indicates the value corresponding to mentioned reference type. Only numeric values allowed now 

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| referenceValue-1 |  | Indicates the value corresponding to mentioned reference type. Only numeric values allowed now  |  |

**Example**
<pre>1234567890</pre>

#### nationalIdentifiers-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| nationalIdentifiers-1 | [ { **"type"**: string, **"value"**: string } ] |  |  |

#### referenceDataResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creationDateTime | undefined (date-time) |  | Yes |
| requestMessageId |  |  | Yes |
| responseMessageId |  |  | Yes |
| availableParticipants |  | List of active R2P participants. | Yes |

#### referenceDataResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| responseMessageId | string |  | Yes |
| availableParticipants | [ { **"participantId"**: string, **"participantName"**: string } ] | List of active R2P participants. | Yes |

#### nationalIdentifiers-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| nationalIdentifiers-2 |  |  |  |

#### confirmR2pResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndId | string |  | Yes |
| creationDateTime | dateTime |  | Yes |
| paymentRequestId | string |  | Yes |
| requestMessageId | string |  | Yes |
| responseMessageId | string |  | Yes |
| transactionStatus | string |  | Yes |

#### dict_paymentAmount Schema

Value that the request or payment is for. Note that while this field supports ISO20022 decimal references (12.5), consideration should be given to the supported values in other contexts such as settlement options. For example card payments processed in an ISO8583 environment where values can only support 9.3 formats.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dict_paymentAmount | number | Value that the request or payment is for. Note that while this field supports ISO20022 decimal references (12.5), consideration should be given to the supported values in other contexts such as settlement options. For example card payments processed in an ISO8583 environment where values can only support 9.3 formats. |  |

**Example**
<pre>100</pre>

#### confirmR2pResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndId | string |  | Yes |
| creationDateTime | dateTime |  | Yes |
| paymentRequestId | string |  | Yes |
| requestMessageId | string |  | Yes |
| responseMessageId | string |  | Yes |
| transactionStatus | string |  | Yes |

#### multiRetrieveError-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| code |  | Coded reason group this error response is considered part of. <table><tr><td>Value</td><td>Description</td></tr> <tr><td>RC1xxx</td><td>RC1xxx codes indicate an invalid request. Typically a syntactical issue with the API request such as a missing mandatory field incorrect field formatting.</td></tr> <tr><td>RC2xxx</td><td>RC2xxxx codes indicate a business validation failure. Typically, the request is syntactically correct but the request does not meet the business rules configured. For example, the debtor last name does not meet country specific validations.</td></tr> <tr><td>RC3xxx</td><td>RC3xxx codes indicate an authorisation failure. The request may be syntactically correct and meet the necessary business rules but breaches an additional control or configuration in place. i.e., The request is valid but not allowed at this time. Examples of reasons for this error include attempting to retrieve R2P details unrelated to the entity calling the retrieve request to pay API or submitting a B2C request when only configured for P2P requests.</td></tr> <tr><td>RC3001</td><td>Authorisation failure: The request is syntactically correct but cannot be accepted by Visa at this time as a result of an active block control.</td></tr> <tr><td>RC3002</td><td>Authorisation failure: The request is syntactically correct but cannot be accepted by Visa at this time as a result of velocity/frequency control.</td></tr> <tr><td>RC4xxx</td><td>RC4xxx codes indicate an entity in the request to pay transaction is unknown. The request involves an entity that is not known or cannot be resolved. For example, the mobile number given to route the R2P to is not known to the organisation with responsibility for resolving the number to a debtor - whether that be Visa or another organisation depending on the service configuration and request to pay transaction.</td></tr> <tr><td>RC5xxx</td><td>Server Errors. May be seen as a result of errors internal to the processing system.</td></tr></table> <br>*Example:* `"RC1000"` | Yes |
| details |  | Additional details on specific fields that triggered the error response where relevant. | No |
| message |  | *Example:* `"Data in the request is missing or invalid"` | Yes |
| creationDateTime | undefined (date-time) |  | Yes |
| requestMessageId |  | The requestMessageId mapped across from the callers request. Note that where Visa cannot process a request sufficiently to obtain a requestMessageId, this field will be populated with using a Visa generated Id prefixed with ERR. | Yes |
| responseMessageId |  |  | Yes |

#### confirmR2pResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndId |  |  | Yes |
| creationDateTime | undefined (date-time) |  | Yes |
| paymentRequestId |  |  | Yes |
| requestMessageId |  |  | Yes |
| responseMessageId |  |  | Yes |
| transactionStatus |  |  | Yes |

#### referenceDataResponse-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| responseMessageId | string |  | Yes |
| availableParticipants | [ { **"participantId"**: string, **"participantName"**: string, **"supportedFeatures"**: [ string ] } ] | List of active R2P participants. | Yes |

#### reminderEvents Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reminderEvents | [ { **"eventType"**: string, **"paymentRequestId"**: string } ] |  |  |

#### confirmSettlementSystem Schema

Settlement mechanism or payment rail used for payments related to the payment request. Currently supported values are:
<table><tr><td>Value</td><td>Settlement mechanism or payment rail</td><td>Description</td></tr>
<tr><td>VISA_DIRECT</td><td>Visa Direct</td><td>Available for both P2P and B2C.</td></tr>
<tr><td>MASTERCARD</td><td>Mastercard</td><td>Available for only P2P not B2C.</td></tr>
<tr><td>YELLOW_PEPPER</td><td>Enabled by Yellow Pepper</td><td>Available for only P2P not B2C. Payment was facilitated by Yellow Pepper. In this instance, settlement system specific information may not be available. Only available in specific market, please contact Visa representative for more details.</td></tr></table>         

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| confirmSettlementSystem | string | Settlement mechanism or payment rail used for payments related to the payment request. Currently supported values are: <table><tr><td>Value</td><td>Settlement mechanism or payment rail</td><td>Description</td></tr> <tr><td>VISA_DIRECT</td><td>Visa Direct</td><td>Available for both P2P and B2C.</td></tr> <tr><td>MASTERCARD</td><td>Mastercard</td><td>Available for only P2P not B2C.</td></tr> <tr><td>YELLOW_PEPPER</td><td>Enabled by Yellow Pepper</td><td>Available for only P2P not B2C. Payment was facilitated by Yellow Pepper. In this instance, settlement system specific information may not be available. Only available in specific market, please contact Visa representative for more details.</td></tr></table>           |  |

**Example**
<pre>VISA_DIRECT</pre>

#### initiateR2pRequest_common-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | dueDate indicates the date that the payment request is asked to be settled by. If this is not specified by the payee service provider, a default timeframe of 90 days from the current date will be applied. The payer can expect to receive the dueDate value whether the payee specified it or not. | No |
| product | string |  | Yes |
| useCase | string |  | Yes |
| creditor | { **"creditorId"**: string, **"creditorMcc"**: string, **"creditorAlias"**: string, **"creditorTaxId"**: string, **"creditorIdType"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"nationalIdentifiers"**: [ { **"type"**: string, **"value"**: string } ], **"creditorAgentCountry"**: string, **"creditorBusinessName"**: string } |  | Yes |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| settlementOptions | [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] |  | Yes |

#### core_request_affinity Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| core_request_affinity | string |  |  |

**Example**
<pre>RFP11664782648731jRko01</pre>

#### initiateR2pRequest_common-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | dueDate indicates the date that the payment request is asked to be settled by. If this is not specified by the payee service provider, a default timeframe of 90 days from the current date will be applied. The payer can expect to receive the dueDate value whether the payee specified it or not. | No |
| product | string |  | Yes |
| useCase | string |  | Yes |
| creditor | { **"creditorId"**: string, **"creditorMcc"**: string, **"creditorAlias"**: string, **"creditorTaxId"**: string, **"creditorIdType"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"creditorAgentCountry"**: string, **"creditorBusinessName"**: string } |  | Yes |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| settlementOptions | [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] |  | Yes |

#### retrieveR2pByPaymentRequestIdsRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| agentId |  |  | No |
| paymentRequestIds |  |  | Yes |

#### reminderEventType-1 Schema

Indicating the event for which the notification is sending. Currently, the supported values are 'REMINDER', 'EXPIRED', 'REJECTED' and 'SETTLED'. Note :If a partial payment has been made and then the payee reduces the request to an amount less than what has already been paid, the request will be closed as 'Accepted and Settled' (ACSC). A notification with the event type as ‘SETTLED’ will then be sent to the service provider of the payer , informing them that the request the payer fulfilled has been closed. 

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reminderEventType-1 |  | Indicating the event for which the notification is sending. Currently, the supported values are 'REMINDER', 'EXPIRED', 'REJECTED' and 'SETTLED'. Note :If a partial payment has been made and then the payee reduces the request to an amount less than what has already been paid, the request will be closed as 'Accepted and Settled' (ACSC). A notification with the event type as ‘SETTLED’ will then be sent to the service provider of the payer , informing them that the request the payer fulfilled has been closed.  |  |

**Example**
<pre>REMINDER, EXPIRED, REJECTED, SETTLED</pre>

#### dict_primaryAccountNumber Schema

Primary Account Number (PAN) for a card credential.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dict_primaryAccountNumber | string | Primary Account Number (PAN) for a card credential. |  |

**Example**
<pre>4145125553222</pre>

#### accountDetailsRetrieve Schema

Account details used by the related party for this payment. Note that the enforcement of fields here is dependent on the settlementSystem. For example, when selecting VISA_DIRECT as the settlementSystem for the payment, primaryAccountNumber is required. Parameter debtorTaxId is optional.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| debtorTaxId | string | The tax reference applicable to the debtor. While defined as optional for the Visa API, this field is required where local regulation requires the tax ID to be compliant. Note that this may be masked by Visa in certain countries. | No |
| primaryAccountNumber | string | Primary Account Number (PAN) for a card credential. Note that this may be masked by Visa in certain scenarios. | No |

#### initiateR2pRequest_common-6 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | dueDate indicates the date that the payment request is asked to be settled by. If this is not specified by the payee service provider, a default timeframe of 90 days from the current date will be applied. The payer can expect to receive the dueDate value whether the payee specified it or not. | No |
| product | string |  | Yes |
| useCase | string |  | Yes |
| creditor | { **"creditorId"**: string, **"creditorMCC"**: string, **"creditorAlias"**: string, **"creditorTaxId"**: string, **"creditorIdType"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"nationalIdentifiers"**: [ { **"type"**: string, **"value"**: string } ], **"creditorAgentCountry"**: string, **"creditorBusinessName"**: string } |  | Yes |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| settlementOptions | [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] |  | Yes |

#### initiateR2pRequest_common-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | undefined (date) | dueDate indicates the date that the payment request is asked to be settled by. If this is not specified by the payee service provider, a default timeframe of 90 days from the current date will be applied. The payer can expect to receive the dueDate value whether the payee specified it or not. | No |
| product |  |  | Yes |
| useCase |  |  | Yes |
| creditor | { **"creditorId"**: , **"creditorMCC"**: , **"creditorAlias"**: , **"creditorTaxId"**: , **"creditorIdType"**: , **"creditorAgentId"**: , **"creditorCountry"**: , **"creditorLastName"**: , **"creditorAliasType"**: , **"creditorFirstName"**: , **"nationalIdentifiers"**: , **"creditorAgentCountry"**: , **"creditorBusinessName"**:  } |  | Yes |
| creationDateTime | undefined (date-time) |  | Yes |
| requestMessageId |  |  | Yes |
| settlementOptions |  |  | Yes |

#### initiateR2pRequest_common-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDate | date | dueDate indicates the date that the payment request is asked to be settled by. If this is not specified by the payee service provider, a default timeframe of 90 days from the current date will be applied. The payer can expect to receive the dueDate value whether the payee specified it or not. | No |
| product | string |  | Yes |
| useCase | string |  | Yes |
| creditor | { **"creditorId"**: string, **"creditorMcc"**: string, **"creditorAlias"**: string, **"creditorTaxId"**: string, **"creditorIdType"**: string, **"creditorAgentId"**: string, **"creditorCountry"**: string, **"creditorLastName"**: string, **"creditorAliasType"**: string, **"creditorFirstName"**: string, **"creditorAgentCountry"**: string, **"creditorBusinessName"**: string } |  | Yes |
| creationDateTime | dateTime |  | Yes |
| requestMessageId | string |  | Yes |
| settlementOptions | [ { **"receivingAlias"**: string, **"settlementSystem"**: string, **"receivingAliasType"**: string, **"primaryAccountNumber"**: string } ] |  | Yes |

#### amendR2pResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| creationDateTime | dateTime |  | Yes |
| paymentRequestId | string |  | Yes |
| requestMessageId | string |  | Yes |
| responseMessageId | string |  | Yes |
| transactionStatus | string |  | Yes |

#### value Schema

Creditor's national identifier value information.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| value | string | Creditor's national identifier value information. |  |

**Example**
<pre>LB44889298222</pre>

#### refundPaymentRequest_fromVisa-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| debtorId |  | ID that may be used to uniquely identify the payer within the context of the debtorIdType. Visa strongly recommends using this field. This will be same as CreditorId in the original B2C request. The debtorId is not shared with the payee agent. When responding to a Retrieve Request to Pay call, inclusion of the debtorId will be based on the role of the caller.  | No |
| endToEndId |  |  | Yes |
| debtorAlias |  | <b>Conditional.</b> The alias used to identify and route to the payer. Where debtorAlias is provided, debtorAliasType must also be provided. The structure and validations of the debtorAlias field are determined by the debtorAliasType value. | No |
| debtorIdType |  |  | No |
| debtorAgentId |  | Visa identifier for the payer service provider. | Yes |
| debtorCountry |  | Payers country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| debtorLastName |  | The last name of the payer which is optional for refund of B2C request. <b>NOTE:</b> Due to local regulation, service providers in Ukraine, Belarus, and Kazakhstan must use only the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| debtorAliasType |  |  | No |
| debtorFirstName |  | The first name of the payer which is optional for refund of B2C request. | No |
| requestedAmount |  |  | Yes |
| paymentRequestId |  |  | Yes |
| debtorAgentCountry |  | Payer service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| debtorBusinessName |  | Name of the business entity to whom refund R2P is requested. | Yes |
| requestedAmountCurrency |  |  | Yes |

#### requestReason-4 Schema

The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| references | [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ] | A list of references send by Payee to be linked to this request. | No |
| paymentPurpose | string | Regulatory Payment Purpose indicator. The value of this field will be determined by regulatory environment that the creditor and debtor are subject to. Typically these values will be defined by the central bank or other responsible regulator for the creditors country of business. While defined as optional in the Visa API, it will be required where the creditors country legally mandates it. | No |

#### refundPaymentRequest_fromVisa-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| debtorId | string | ID that may be used to uniquely identify the payer within the context of the debtorIdType. Visa strongly recommends using this field. This will be same as CreditorId in the original B2C request. The debtorId is not shared with the payee agent. When responding to a Retrieve Request to Pay call, inclusion of the debtorId will be based on the role of the caller.  | No |
| endToEndId | string |  | Yes |
| debtorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payer. Where debtorAlias is provided, debtorAliasType must also be provided. The structure and valiations of the debtorAlias field are determined by the debtorAliasType value. | No |
| debtorIdType | string |  | No |
| debtorAgentId | string | Visa identifier for the payer service provider. | Yes |
| debtorCountry | string | Payers country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| debtorLastName | string | The last name of the payer which is optional for refund of B2C request. <b>NOTE:</b> Due to local regulation, service providers in Ukraine, Belarus, and Kazakhstan must use only the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| debtorAliasType | string |  | No |
| debtorFirstName | string | The first name of the payer which is optional for refund of B2C request. | No |
| requestedAmount | number |  | Yes |
| paymentRequestId | string |  | Yes |
| debtorAgentCountry | string | Payer service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| debtorBusinessName | string | Name of the business entity to whom refund R2P is requested. | Yes |
| requestedAmountCurrency | string |  | Yes |

#### requestReason-3 Schema

The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| message |  | This field allows the payee to include a single message as part of the request to pay to the payer. Please refer the implementation guide for the list of supported pre-defined messages.  | No |
| references |  | A list of references send by Payee to be linked to this request. | No |
| unicodeEmoji |  | This field allows the payee to include a single emoji as part of the request to pay to the payer. Please refer the implementation guide for the list of supported emojis. | No |
| paymentPurpose |  | Regulatory Payment Purpose indicator. The value of this field will be determined by regulatory environment that the creditor and debtor are subject to. Typically these values will be defined by the central bank or other responsible regulator for the creditors country of business. While defined as optional in the Visa API, it will be required where the creditors country legally mandates it. | No |

#### refundPaymentRequest_fromVisa Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| debtorId | string | ID that may be used to uniquely identify the payer within the context of the debtorIdType. Visa strongly recommends using this field. This will be same as CreditorId in the original B2C request. The debtorId is not shared with the payee agent. When responding to a Retrieve Request to Pay call, inclusion of the debtorId will be based on the role of the caller.  | No |
| endToEndId | string |  | Yes |
| debtorAlias | string | <b>Conditional.</b> The alias used to identify and route to the payer. Where debtorAlias is provided, debtorAliasType must also be provided. The structure and validations of the debtorAlias field are determined by the debtorAliasType value. | No |
| debtorIdType | string |  | No |
| debtorAgentId | string | Visa identifier for the payer service provider. | Yes |
| debtorCountry | string | Payers country of residence specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| debtorLastName | string | The last name of the payer which is optional for refund of B2C request. <b>NOTE:</b> Due to local regulation, service providers in Ukraine, Belarus, and Kazakhstan must use only the first letter of the last name followed, optionally, by a dot symbol. e.g. 'S.' rather than Smith. | No |
| debtorAliasType | string |  | No |
| debtorFirstName | string | The first name of the payer which is optional for refund of B2C request. | No |
| requestedAmount | number |  | Yes |
| paymentRequestId | string |  | Yes |
| debtorAgentCountry | string | Payer service providers country of business specified using ISO3166-2. Where ISO has not formally applied a 2 digit code, the following will be used: <table><tr><td>Country</td><td>Country Code (2-char)</td></tr> <tr><td>Kosovo</td><td>QZ</td></tr></table>  | Yes |
| debtorBusinessName | string | Name of the business entity to whom refund R2P is requested. | Yes |
| requestedAmountCurrency | string |  | Yes |

#### requestReason-2 Schema

The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| references | [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ] | A list of refereneces send by Payee to be linked to this request. | No |
| paymentPurpose | string | Regulatory Payment Purpose indicator. The value of this field will be determined by regulatory environment that the creditor and debtor are subject to. Typically these values will be defined by the central bank or other responsibile regulator for the creditors country of business. While defined as optional in the Visa API, it will be required where the creditors country legally mandates it. | No |

#### initiateR2pRequest_fromVisa Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| requestReason | { **"message"**: string, **"references"**: [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ], **"unicodeEmoji"**: string, **"paymentPurpose"**: string } | The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for. | No |
| requestOptions | { **"allowMultiplePayments"**: boolean, **"closeWithFirstPayment"**: boolean } |  | No |
| paymentRequests | [ { **"endToEndId"**: string, **"debtorAlias"**: string, **"debtorAgentId"**: string, **"debtorCountry"**: string, **"debtorLastName"**: string, **"debtorAliasType"**: string, **"debtorFirstName"**: string, **"requestedAmount"**: number, **"debtorAgentCountry"**: string, **"requestedAmountCurrency"**: string } ] | A list of payers, and their requested amounts, that Request to Pay transactions should be sent for linked to this request. Note that while maxLength is 1, this is specified as an array for future use cases. | Yes |

#### requestOptions Schema

Optional field for B2C/P2P use case. This field serves as an indicator for different preferences associated with the payee.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reminderSchedule | [ dateTime ] | This enables payees to set automated reminders for a request to pay. A request can have up to 3 reminders at a maximum rate of 1 reminder per day. Reminders can be scheduled using the Initiate R2P or Amend R2P APIs.<br> When using the Amend R2P API, future reminders can be changed or removed but reminders that have already been sent must be included unchanged.<br> An Amend R2P call with an empty reminderSchedule list will remove all reminders provided they are all in the future. <br>*Example:* `["2023-05-30T09:30:47Z","2023-06-11T11:22:33Z","2023-07-11T11:22:33Z"]` | No |
| allowMultiplePayments | boolean | Used to indicate whether the request can be settled with multiple smaller payments rather than a single full payment. If not included this will default to FALSE to ensure compatibility between participants.<br>*Example:* `false` | No |
| closeWithFirstPayment | boolean | This flag is used to specify if the request can be closed after receiving the first payment from the payer, regardless of the amount. If this flag is not included, it will automatically be set to FALSE to maintain compatibility between participants. It's important to note that the flags, 'allowMultiplePayments' and 'closeWithFirstPayment', cannot both be set to TRUE simultaneously.<br>*Example:* `false` | No |

#### requestReason-1 Schema

The requestReason block provides additional information that can be used to support reconciliation and make clear to the payer what the request is for.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| message | string | This field allows the payee to include a single, compliance approved, message as part of the request to pay to the payer. Please refer the implementation guide for the list of approved text messages.  | No |
| references | [ { **"referenceDate"**: date, **"referenceType"**: string, **"referenceValue"**: string } ] | A list of references send by Payee to be linked to this request. | No |
| unicodeEmoji | string | This field allows the payee to include a single, compliance approved, emoji as part of the request to pay to the payer. Please refer the implementation guide for the list of approved emojis. | No |
| paymentPurpose | string | Regulatory Payment Purpose indicator. The value of this field will be determined by regulatory environment that the creditor and debtor are subject to. Typically these values will be defined by the central bank or other responsible regulator for the creditors country of business. While defined as optional in the Visa API, it will be required where the creditors country legally mandates it. | No |

#### TransactionTaggingRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| messageEvent | { **"creditorAckEmoji"**: string, **"creditorAckMessage"**: string } | This is used to provide the information that need to be tagged to the transaction. Please note: At least one of the following attributes must be present. | Yes |
| taggedTransaction | { **"transactionId"**: string, **"transactionIdType"**: string, **"settlementSystemReferenceId"**: string, **"settlmentSystemReferenceType"**: string } |  | Yes |

#### dict_paymentCurrency-1 Schema

Currency request or payment is denominated in, specified using ISO4217. For domestic transactions the currency is expected to be the local currency for the country.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dict_paymentCurrency-1 |  | Currency request or payment is denominated in, specified using ISO4217. For domestic transactions the currency is expected to be the local currency for the country. |  |

**Example**
<pre>UAH</pre>

#### r2p_statusReason Schema

Additional coded reason information for a transaction status update. Valid values are:
<table><tr><td>Value</td><td>Description</td></tr>
<tr><td colspan=2>PDNG statusReason codes</td></tr>
<tr><td>PD01</td><td>Set by Visa when the Request to Pay has been accepted by Visa but not delivered to the debtor agent or their processor.</td></tr>
<tr><td>PD02</td><td>Set by Visa when the Request to Pay has been delivered to the debtor agent or their processor.</td></tr>
<tr><td>PD03</td><td>Sent by the debtor agent (or their processor) when the Request to Pay has been delivered to the debtor.</td></tr>
<tr><td>PD04</td><td>Sent by the debtor agent (or their processor) to confirm that the debtor has seen or interacted with the Request to Pay.</td></tr>
<tr><td colspan=2>RJCT statusReason codes</td></tr>
<tr><td>RJ01</td><td>The payer could not be reached using the provided routing information.</td></tr>
<tr><td>RJ02</td><td>The payer has rejected the Request to Pay.</td></tr>
<tr><td>RJ03</td><td>The Request to Pay is being rejected as a result of a block control.</td></tr>
<tr><td>RJ04</td><td>Payment cannot be completed between payee and payer using the settlementOption provided.</td></tr>
<tr><td colspan=2>ACSC statusReason codes</td></tr>
<tr><td>AS01</td><td>Set by Visa when the Request to Pay has been accepted by the payer and payment has been confirmed as made. </td></tr>
<tr><td colspan=2>ACCP statusReason codes</td></tr>
<tr><td>AC02</td><td>Set by Visa when the Request to Pay has been accepted by the payer and partial payment has been confirmed as made. </td></tr>
<tr><td colspan=2>CNCL statusReason codes</td></tr>
<tr><td>CN01</td><td>Set by Visa when the Request to Pay has been cancelled by the payee.</td></tr></table>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| r2p_statusReason | string | Additional coded reason information for a transaction status update. Valid values are: <table><tr><td>Value</td><td>Description</td></tr> <tr><td colspan=2>PDNG statusReason codes</td></tr> <tr><td>PD01</td><td>Set by Visa when the Request to Pay has been accepted by Visa but not delivered to the debtor agent or their processor.</td></tr> <tr><td>PD02</td><td>Set by Visa when the Request to Pay has been delivered to the debtor agent or their processor.</td></tr> <tr><td>PD03</td><td>Sent by the debtor agent (or their processor) when the Request to Pay has been delivered to the debtor.</td></tr> <tr><td>PD04</td><td>Sent by the debtor agent (or their processor) to confirm that the debtor has seen or interacted with the Request to Pay.</td></tr> <tr><td colspan=2>RJCT statusReason codes</td></tr> <tr><td>RJ01</td><td>The payer could not be reached using the provided routing information.</td></tr> <tr><td>RJ02</td><td>The payer has rejected the Request to Pay.</td></tr> <tr><td>RJ03</td><td>The Request to Pay is being rejected as a result of a block control.</td></tr> <tr><td>RJ04</td><td>Payment cannot be completed between payee and payer using the settlementOption provided.</td></tr> <tr><td colspan=2>ACSC statusReason codes</td></tr> <tr><td>AS01</td><td>Set by Visa when the Request to Pay has been accepted by the payer and payment has been confirmed as made. </td></tr> <tr><td colspan=2>ACCP statusReason codes</td></tr> <tr><td>AC02</td><td>Set by Visa when the Request to Pay has been accepted by the payer and partial payment has been confirmed as made. </td></tr> <tr><td colspan=2>CNCL statusReason codes</td></tr> <tr><td>CN01</td><td>Set by Visa when the Request to Pay has been cancelled by the payee.</td></tr></table>  |  |

**Example**
<pre>RJ02</pre>

#### refundSettlementOptions Schema

The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| refundSettlementOptions | [ { **"settlementSystem"**: string, **"primaryAccountNumber"**: string } ] | The list of settlement options contains details of payment mechanisms that can be used by the payer to settle the Request to Pay from the payee. Note that while maxLength is 1, this is specified as an array for future use cases. |  |
