# Visa Direct Account and Wallet
Visa Direct Account and Wallet

## Version: 1

### Servers

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

---
### Webhooks

### [POST] /v3/payouts/statusNotification
**Payout Status Notification**

The purpose of the API is to Enable Visa to provide updates of an pay to account or pay to wallet or pay to card transaction to originator

#### Request Body

| Required | Schema |
| -------- | ------ |
|  No | **application/json**: { **"payoutMethod"**: <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: undefined (date-time), **"notificationDateTime"**: undefined (date-time), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**:  } } or { **"payoutMethod"**: <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"endToEndId"**: , **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"serviceDetail"**: { **"traceable"**: , **"recallable"**: , **"paymentRail"**: <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**:  }, **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"initiatingPartyId"**: undefined (int64), **"expectedPostingDate"**: undefined (date), **"notificationDateTime"**: undefined (date-time), **"walletAdditionalDetails"**: { **"shareLink"**:  }, **"localSchemeTransactionId"**:  } } or { **"payoutMethod"**: <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorResponses"**: , **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64), **"notificationDateTime"**: undefined (date-time) } }<br> |

#### Responses

| Code | Description | Schema |
| ---- | ----------- | ------ |
| 200 | ok |  |
| 400 | When any field fails schematic validation or when any required field is missing or when request is inconsistent with the Request definitions. | **application/json**: { **"errorResponse"**: { **"reason"**: , **"status"**: , **"details"**: , **"message"**:  } }<br> |
| 404 | Resource not found |  |
| 503 | Service Unavailable |  |

---
### Schemas

#### EventNotification Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutId |  | This is a unique identifier generated by the Visa for a transaction and is key field used in the subsequent messages with in the transaction set example Notification, Returns, Cancel, Exception management via VD Portal for Payout  ISO20022 field name: Transaction Information And Status - Original Additional Remittance Information  | Yes |
| eventType | <br>**Available values:** "PENDING_NETWORK_REVIEW", "NETWORK_REVIEW_CLOSED" | Possible events on a transaction - PENDING_NETWORK_REVIEW: The payout is currently under review at Network Partner. - NETWORK_REVIEW_CLOSED: The Network Partner review is now closed. Refer to payout status for additional information. <br>*Enum:* `"PENDING_NETWORK_REVIEW"`, `"NETWORK_REVIEW_CLOSED"`<br>*Example:* `"PENDING_NETWORK_REVIEW"` | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |

#### SignedAmount-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SignedAmount-1 | double |  |  |

**Example**
<pre>12.34</pre>

#### AlphaCountryCode Schema

3-character ISO-3166 (Alpha-3) country code.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AlphaCountryCode |  | 3-character ISO-3166 (Alpha-3) country code. |  |

**Example**
<pre>USA</pre>

#### PayoutNotificationReceivedRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: string, **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: dateTime, **"notificationDateTime"**: dateTime, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string } |  | Yes |

#### WalletPayoutRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: undefined (int64), **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"additionalData"**: , **"purposeOfPayment"**: , **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"statementNarrative"**: , **"senderSourceOfFunds"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**: , **"senderBeneficiaryRelationship"**:  } |  | Yes |

#### TotalAmountDue Schema

Total amount due by due date.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TotalAmountDue | undefined (double) | Total amount due by due date. |  |

#### FlexibleAmountRemaining Schema

Remaining amount of liquidity available.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| FlexibleAmountRemaining | undefined (double) | Remaining amount of liquidity available. |  |

#### PayoutDigitalAssetRequestAltered Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "D" | This field indicates the payout method i.e. Digital Asset Valid values: - "D" Visa Direct Digital Asset <br>*Enum:* `"D"` | No |
| senderDetail | { **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C" } |  | Yes |
| recipientDetail | { **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"dateOfBirth"**: undefined (date), **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } |  | Yes |

#### WalletQueryPendingOnlyCancelledResponse-1 Schema

Transaction is in pending or cancelled (cancelled during pending) status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: string, <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: string, **"initiatingPartyId"**: long } |  | Yes |

#### PayoutWalletRequest-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. To Account or Wallet  Valid values: “W” – Visa Direct Wallet  | Yes |
| senderDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C" } |  | Yes |
| recipientDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } } |  | Yes |

#### WalletQueryPendingOnlyCancelledResponse-2 Schema

Transaction is in pending or cancelled (cancelled during pending) status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64) } |  | Yes |

#### PayoutWalletRequest-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. To Account or Wallet  Valid values: “W” – Visa Direct Wallet  | Yes |
| senderDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C" } |  | Yes |
| recipientDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } } |  | Yes |

#### PayoutWalletRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. To Account or Wallet  Valid values: “W” – Visa Direct Wallet  | Yes |
| senderDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", **"idNumber"**: string, **"idIssueCountry"**: string } ] } |  | Yes |
| recipientDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", **"idNumber"**: string, **"idIssueCountry"**: string } ] } |  | Yes |

#### PayoutWalletRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. To Account or Wallet  Valid values: “W” – Visa Direct Wallet  | Yes |
| senderDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"identificationList"**:  } |  | Yes |
| recipientDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } |  | Yes |

#### PayoutSpeed Schema

Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options

ISO20022 field name: Instruction Priority

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayoutSpeed | <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority  |  |

**Example**
<pre>standard</pre>

#### RecipientAdditionalData Schema

Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value)

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| RecipientAdditionalData |  | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) |  |

#### ValidatePayoutWalletOnlyRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: undefined (int64), **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"additionalData"**: , **"purposeOfPayment"**: , **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"statementNarrative"**: , **"senderSourceOfFunds"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**: , **"senderBeneficiaryRelationship"**:  } |  | Yes |

#### NotificationsErrorResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason | string | The short description of the error. | No |
| status | integer | 3 digit HTTP status code<br>*Example:* `400` | No |
| details | [ { **"code"**: string, **"message"**: string, **"location"**: string } ] | Reserved for future use. | No |
| message | string | The long description of the error | No |

#### TotalAmountOverdueSettlementDueBreached Schema

Total amount currently overdue. This represents only the amounts that have actually breached their due date/time, excluding any future-dated amounts that are not yet due.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TotalAmountOverdueSettlementDueBreached | undefined (double) | Total amount currently overdue. This represents only the amounts that have actually breached their due date/time, excluding any future-dated amounts that are not yet due.  |  |

#### FieldValue Schema

Is used to create a select list within a User Interface for the 'additionalFieldWithValues' data field.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| label | string | List item label. | No |
| option | string | List option value. | No |

#### IndividualRecipientIdentificationListAccount Schema

Identification list of recipient

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| IndividualRecipientIdentificationListAccount |  | Identification list of recipient |  |

#### FirstName-1 Schema

Required when recipient is an individual.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| FirstName-1 | string | Required when recipient is an individual. |  |

**Example**
<pre>Joe</pre>

#### IdType-1 Schema

When present, this field contains the type of identification document.

Valid values:
* `P` - Passport
* `D` - Driving License
* `N` - National Id
* `T` - Tax Id
* `L` - Legal Entity Registration Number
* `F` - Foreign Id

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| IdType-1 | string, <br>**Available values:** "P", "D", "N", "T", "L", "F" | When present, this field contains the type of identification document.  Valid values: * `P` - Passport * `D` - Driving License * `N` - National Id * `T` - Tax Id * `L` - Legal Entity Registration Number * `F` - Foreign Id  |  |

**Example**
<pre>P</pre>

#### DigitalAssetRecipientIsCompany Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name |  | Recipient company name. <br>Must not contain exclusively numeric characters  ISO20022 field name: Creditor Name  | Yes |
| type | <br>**Available values:** "I", "C" | Identifies the type of recipient - "C" for Company   | Yes |
| address | { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  } |  | Yes |
| identificationList |  |  | Yes |

#### FundingDetails-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| currencyCode |  | 3-character ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| totalAmountDue | undefined (double) | Total amount due by due date. Pulled in this request.  | Yes |
| pullFundsDetails | { **"iBan"**: , **"bankName"**: , **"accountNumber"**: , **"expectedDebitDateTime"**: undefined (date-time) } |  | No |

#### FundingDetails-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| currencyCode | string | 3-character ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| totalAmountDue | double | Total amount due by due date. Pulled in this request.  | Yes |
| pullFundsDetails | { **"iBan"**: string, **"bankName"**: string, **"accountNumber"**: integer, **"expectedDebitDateTime"**: dateTime } |  | No |

#### RecipientCompany-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name | string | Recipient company name. <br>Must not contain exclusively numeric characters  ISO20022 field name: Creditor Name  | Yes |
| type | string, <br>**Available values:** "I", "C" | Identifies the type of recipient - "C" for Company   | Yes |
| address | { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } |  | No |

#### TransactionIdType-1 Schema

This field indicates the type of identifier
- CLIENT_REFERENCE_ID is merchant's transaction reference ID
- PAYOUT_ID is Visa's transaction reference ID

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TransactionIdType-1 | string, <br>**Available values:** "CLIENT_REFERENCE_ID", "PAYOUT_ID" | This field indicates the type of identifier - CLIENT_REFERENCE_ID is merchant's transaction reference ID - PAYOUT_ID is Visa's transaction reference ID  |  |

#### WalletVerifyResponse-2 Schema

This object is only present if verificationStatus is COMPLETED

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| verificationId |  | Unique verification identifier.<br>*Example:* `"5003f6a0-2c44-11b2-aa57-47378ae53313"` | Yes |
| verificationStatus | <br>**Available values:** "COMPLETED", "NOT_COMPLETED" | Provides the status of verification request. * COMPLETED - Request was completed and result is available. * NOT_COMPLETED - Wallet Partner's end wallet operator or Wallet Operator not available. <br>*Enum:* `"COMPLETED"`, `"NOT_COMPLETED"`<br>*Example:* `"COMPLETED"` | Yes |
| walletVerificationDetail | { **"nameMatch"**: <br>**Available values:** "STRONG_MATCH", "NO_MATCH", "NOT_SUPPORTED", **"accountIdentifierMatch"**:  } |  | No |
| clientVerificationReference |  | A client submitted identifier. This field and same value will be returned in the response.<br>*Example:* `"1234567890"` | No |

#### VerifyRecipientWalletOnlyRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "W" | Originating Entity must indicate the payout method i.e. Wallet Valid values: - "W" Visa Direct Wallet <br>*Enum:* `"W"` | No |
| recipientDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"wallet"**: { **"countryCode"**: , **"currencyCode"**: , **"operatorName"**: , **"accountIdentifier"**: , **"accountIdentifierType"**: <br>**Available values:** "PHONENUMBER", "EMAIL", "USERNAME" }, **"lastName"**: , **"firstName"**:  } |  | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| clientVerificationReference |  | A client submitted identifier. This field and same value will be returned in the response.<br>*Example:* `"1234567890"` | No |

#### ReturnReasonCode Schema

If the Transaction Status is RETURNED or REJECTED then Return reason code will be populated

ISO20022 field name: Payment Return - Reason Code  

For a complete list of reject/return codes and descriptions please visit <a href='/capabilities/visa-direct-account-and-wallet/docs-error-codes'>Visa Direct Account and Wallet - Error Codes</a>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ReturnReasonCode |  | If the Transaction Status is RETURNED or REJECTED then Return reason code will be populated  ISO20022 field name: Payment Return - Reason Code    For a complete list of reject/return codes and descriptions please visit <a href='/capabilities/visa-direct-account-and-wallet/docs-error-codes'>Visa Direct Account and Wallet - Error Codes</a>  |  |

**Example**
<pre>RE303</pre>

#### WalletVerifyResponse-1 Schema

This object is only present if verificationStatus is COMPLETED

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| verificationId | string | Unique verification identifier.<br>*Example:* `"5003f6a0-2c44-11b2-aa57-47378ae53313"` | Yes |
| verificationStatus | string, <br>**Available values:** "COMPLETED", "NOT_COMPLETED" | Provides the status of verification request. * COMPLETED - Request was completed and result is available. * NOT_COMPLETED - Wallet Partner's end wallet operator or Wallet Operator not available. <br>*Enum:* `"COMPLETED"`, `"NOT_COMPLETED"`<br>*Example:* `"COMPLETED"` | Yes |
| walletVerificationDetail | { **"nameMatch"**: string, <br>**Available values:** "STRONG_MATCH", "NO_MATCH", "NOT_SUPPORTED", **"accountIdentifierMatch"**: string } |  | No |
| clientVerificationReference | string |  | No |

#### VerifyRecipientWalletOnlyRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "W" | Originating Entity must indicate the payout method i.e. Wallet Valid values: - "W" Visa Direct Wallet <br>*Enum:* `"W"` | No |
| recipientDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"wallet"**: { **"countryCode"**: string, **"currencyCode"**: string, **"operatorName"**: string, **"accountIdentifier"**: string, **"accountIdentifierType"**: string, <br>**Available values:** "PHONENUMBER", "EMAIL", "USERNAME" }, **"lastName"**: string, **"firstName"**: string } |  | Yes |
| initiatingPartyId | long |  | Yes |
| clientVerificationReference | string |  | No |

#### DigitalAssetPayoutResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", **"payoutId"**: , **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: undefined (date-time), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: <br>**Available values:** "USDC", **"transactionCurrencyCode"**:  } |  | Yes |

#### TransactionIdType-2 Schema

This field indicates the type of identifier
- CLIENT_REFERENCE_ID is merchant's transaction reference ID
- PAYOUT_ID is Visa's transaction reference ID 

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TransactionIdType-2 | string, <br>**Available values:** "CLIENT_REFERENCE_ID", "PAYOUT_ID" | This field indicates the type of identifier - CLIENT_REFERENCE_ID is merchant's transaction reference ID - PAYOUT_ID is Visa's transaction reference ID   |  |

#### DigitalAsset Schema

Recipient's digital asset object. 
Conditional object when payoutMethod has value 'D'

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| address |  | The crypto wallet address where funds will be sent<br>*Example:* `"0x65BFCf1a6289a0b77b4D3F7d12005a05949FD8C3"` | Yes |
| network | <br>**Available values:** "ETHEREUM", "SOLANA" | The blockchain network where the wallet operates  (e.g., ETHEREUM, SOLANA) <br>*Enum:* `"ETHEREUM"`, `"SOLANA"`<br>*Example:* `"SOLANA"` | Yes |
| currencyCode | <br>**Available values:** "USDC" | The cryptocurrency or fiat currency code<br>*Enum:* `"USDC"`<br>*Example:* `"USDC"` | Yes |

#### DigitalAssetPayoutResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"status"**: string, <br>**Available values:** "PAYMENT_RECEIVED", **"payoutId"**: string, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: dateTime, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string or string, <br>**Available values:** "USDC", **"transactionCurrencyCode"**: string } |  | Yes |

#### WalletRecipientIsCompany-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name | string | Recipient company name. <br>Must not contain exclusively numeric characters  ISO20022 field name: Creditor Name  | Yes |
| type | string, <br>**Available values:** "I", "C" | Identifies the type of recipient - "C" for Company   | Yes |
| address | { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } |  | No |
| identificationList | [ { **"idType"**: string, <br>**Available values:** "T", "L", **"idNumber"**: string, **"idIssueCountry"**: string } ] |  | No |

#### AdditionalDataValue-1 Schema

Value of the field.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AdditionalDataValue-1 | string | Value of the field. |  |

#### WalletSenderTransactorDetailWithID Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| WalletSenderTransactorDetailWithID | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"identificationList"**:  } |  |  |

#### WalletRecipientIsCompany-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name |  | Recipient company name. <br>Must not contain exclusively numeric characters  ISO20022 field name: Creditor Name  | Yes |
| type | <br>**Available values:** "I", "C" | Identifies the type of recipient - "C" for Company   | Yes |
| address | { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  } |  | No |
| identificationList |  | Identification list of recipient | No |

#### City-1 Schema

When present, this field contains individual recipient's city

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| City-1 | string | When present, this field contains individual recipient's city |  |

**Example**
<pre>Santa Fe</pre>

#### VerifyRecipientDigitalAssetRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "D" | Originating Entity must indicate the payout method i.e. Digital Asset Valid values: - "D" Visa Direct Digital Asset <br>*Enum:* `"D"` | Yes |
| recipientDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"digitalAsset"**: { **"address"**: , **"network"**: <br>**Available values:** "ETHEREUM", "SOLANA", **"currencyCode"**: <br>**Available values:** "USDC" } } |  | Yes |
| initiatingPartyId | undefined (int64) |  | Yes |
| clientVerificationReference |  |  | No |

#### WalletSenderIsCompany Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name |  | Sender company name. <br>Must not contain exclusively numeric characters  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name"<br>For 3rd party payments: "Debtor Name"  | Yes |
| type | <br>**Available values:** "I", "C" | Identifies the type of sender - "C" for Company   | Yes |
| identificationList |  | Identification list of sender | No |

#### BIC-1 Schema

Business Identifier Code (BIC) of the Sponsor FI (Acquirer)

ISO20022 field name: Debtor Agent FI BIC

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| BIC-1 | string | Business Identifier Code (BIC) of the Sponsor FI (Acquirer)  ISO20022 field name: Debtor Agent FI BIC  |  |

#### IndividualIdTypeAccount-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| IndividualIdTypeAccount-1 | string, <br>**Available values:** "P", "D", "N", "T", "F" |  |  |

#### PullFundsDetails Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| iBan |  | The IBAN, if configured.  | No |
| bankName |  | The bank name, if configured.  | No |
| accountNumber |  | The last 4 digits of the account number, if configured.  | No |
| expectedDebitDateTime | undefined (date-time) | <b>MANDATORY.</b> The date and time when the debit request will be initiated. ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  | No |

#### Type-1 Schema

Identifies the type of sender or recipient - Individual or Company 
* I - Individual
* C - Company

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| Type-1 | string, <br>**Available values:** "I", "C" | Identifies the type of sender or recipient - Individual or Company  * I - Individual * C - Company  |  |

**Example**
<pre>I</pre>

#### SenderTransactorDetail-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SenderTransactorDetail-1 | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C" } |  |  |

#### EndToEndId-1 Schema

Identifier assigned by the Originating Entity's customer to track the transaction end-to-end

Conditional: Required if payout to a wallet recipient

ISO20022 field name: end-to-end identification

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| EndToEndId-1 | string | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification  |  |

**Example**
<pre>5003f6a02c4411b2aa5747378ae5331</pre>

#### Wallet-3 Schema

Recipient's wallet object

Conditional object when payoutMethod has value 'W'

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| countryCode | string |  | Yes |
| currencyCode | string |  | Yes |
| operatorName | string | This identifies the operator that has issued the account to the recipient and is going to receive and post the funds to the recipient’s wallet. (Refer to Payouts Endpoint Guide on list of supported Wallet Operators).  | Yes |
| accountIdentifier | string | The wallet recipient's actual account identifier associated with the wallet operator (e.g., wallet address - phone/email/username that identifies the account associated with the wallet operator)  | Yes |
| accountIdentifierType | string, <br>**Available values:** "PHONENUMBER", "EMAIL", "USERNAME" | The type of account identifier used by the recipient.   Supported values are PHONENUMBER, EMAIL and USERNAME.           <br>*Enum:* `"PHONENUMBER"`, `"EMAIL"`, `"USERNAME"`<br>*Example:* `"PHONENUMBER"` | Yes |

#### Wallet-2 Schema

Recipient's wallet object

Conditional object when payoutMethod has value 'W'

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| countryCode |  | 3-character ISO-3166 (Alpha-3) country code.<br>*Example:* `"USA"` | Yes |
| currencyCode |  | 3-character ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| operatorName |  | This identifies the operator that has issued the account to the recipient and is going to receive and post the funds to the recipient’s wallet. (Refer to Visa Direct Endpoint Guide on list of supported Wallet Operators).  | Yes |
| accountIdentifier |  | The wallet recipient's actual account identifier associated with the wallet operator (e.g., wallet address - phone/email/username that identifies the account associated with the wallet operator)  | Yes |
| accountIdentifierType | <br>**Available values:** "PHONENUMBER", "EMAIL", "USERNAME" | The type of account identifier used by the recipient.   Supported values are PHONENUMBER, EMAIL and USERNAME. <br>*Enum:* `"PHONENUMBER"`, `"EMAIL"`, `"USERNAME"`<br>*Example:* `"PHONENUMBER"` | Yes |

#### EndToEndId-2 Schema

Identifier assigned by the Originating Entity's customer to track the transaction end-to-end

Conditional: Required if payout to a wallet recipient

ISO20022 field name: end-to-end identification 

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| EndToEndId-2 | string | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification   |  |

**Example**
<pre>5003f6a02c4411b2aa5747378ae5331</pre>

#### BusinessApplicationId Schema

Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.

Valid BAI for Visa Direct Account & Wallet: 
- Money transfer: AA, PP, FT, WT; 
- Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS;

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| BusinessApplicationId |  | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS;  |  |

**Example**
<pre>PP</pre>

#### Wallet-1 Schema

Recipient's wallet object

Conditional object when payoutMethod has value 'W'

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| countryCode | string |  | Yes |
| currencyCode | string |  | Yes |
| operatorName | string | This identifies the operator that has issued the account to the recipient and is going to receive and post the funds to the recipient’s wallet. (Refer to Visa Direct Endpoint Guide on list of supported Wallet Operators).  | Yes |
| accountIdentifier | string | The wallet recipient's actual account identifier associated with the wallet operator (e.g., wallet address - phone/email/username that identifies the account associated with the wallet operator)  | Yes |
| accountIdentifierType | string, <br>**Available values:** "PHONENUMBER", "EMAIL", "USERNAME" | The type of account identifier used by the recipient.   Supported values are PHONENUMBER, EMAIL and USERNAME. <br>*Enum:* `"PHONENUMBER"`, `"EMAIL"`, `"USERNAME"`<br>*Example:* `"PHONENUMBER"` | Yes |

#### LimitReachedDetails Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| currencyCode |  | 3-character ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| flexibleAmountLimit | undefined (double) | Liquidity limit. | Yes |

#### 202TransactionStatus-1 Schema

- PENDING: Payout is accepted but has not been acknowledged

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| 202TransactionStatus-1 | string, <br>**Available values:** "PENDING" | - PENDING: Payout is accepted but has not been acknowledged  |  |

#### EODFlexibleSettlementNotification Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId |  | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | <br>**Available values:** "END_OF_DAY" | The type of event that triggered the notification.<br>*Enum:* `"END_OF_DAY"` | Yes |
| windowDueDetails |  |  | Yes |
| currentDueDetails |  |  | No |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| notificationDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### DigitalAssetRecipientIsCompany-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name |  | Recipient company name. <br>Must not contain exclusively numeric characters  ISO20022 field name: Creditor Name  | Yes |
| type | <br>**Available values:** "I", "C" | Identifies the type of recipient - "C" for Company   | Yes |
| address | { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  } |  | Yes |
| identificationList |  | Identification list of recipient | Yes |

#### DigitalAssetRecipientIsCompany-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name | string | Recipient company name. <br>Must not contain exclusively numeric characters  ISO20022 field name: Creditor Name  | Yes |
| type | string, <br>**Available values:** "I", "C" | Identifies the type of recipient - "C" for Company   | Yes |
| address | { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } |  | Yes |
| identificationList | [ { **"idType"**: string, <br>**Available values:** "T", "L", **"idNumber"**: string, **"idIssueCountry"**: string } ] |  | Yes |

#### FlexibleAmountUtilized-1 Schema

Amount of liquidity that has been utilized.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| FlexibleAmountUtilized-1 | double | Amount of liquidity that has been utilized. |  |

#### ClientReferenceId Schema

Identifier assigned by the Originating Entity to uniquely identify the transaction.

ISO20022 field name: Transaction Identification

Only alphanumeric and '-' characters are allowed.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ClientReferenceId |  | Identifier assigned by the Originating Entity to uniquely identify the transaction.  ISO20022 field name: Transaction Identification  Only alphanumeric and '-' characters are allowed.  |  |

#### AccountQueryPendingResponse Schema

Transaction is accepted and will be processed & notified status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"status"**: <br>**Available values:** "PENDING", **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64) } |  | No |

#### FlexibleAmountRemaining-1 Schema

Remaining amount of liquidity available.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| FlexibleAmountRemaining-1 | double | Remaining amount of liquidity available. |  |

#### TimestampType-1 Schema

ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00

example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00

ISO20022 field name: Transaction Information And Status - Message Creation Date Time

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TimestampType-1 | dateTime | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  |  |

#### Date-1 Schema

a Date

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| Date-1 | date | a Date |  |

#### TransactionalAdditionalData-2 Schema

Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value)

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TransactionalAdditionalData-2 | [ { **"name"**: string, **"value"**: string } ] | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) |  |

#### DigitalAssetLedgerCurrencyCode Schema

The cryptocurrency or fiat currency code

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DigitalAssetLedgerCurrencyCode | <br>**Available values:** "USDC", "PYUSD" | The cryptocurrency or fiat currency code |  |

**Example**
<pre>USDC</pre>

#### TransactionalAdditionalData-1 Schema

Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value)

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TransactionalAdditionalData-1 | [ { **"name"**: string, **"value"**: string } ] | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) |  |

#### AccountPayoutOnlyRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: long, **"endToEndId"**: string, **"paymentRail"**: string, <br>**Available values:** "SWIFT", **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: string, <br>**Available values:** "PREFUNDED", **"additionalData"**: [ { **"name"**: string, **"value"**: string } ], **"purposeOfPayment"**: string, **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"statementNarrative"**: string, **"senderSourceOfFunds"**: string, **"structuredRemittance"**: [ { **"amount"**: double, **"taxAmount"**: double, **"taxCurrencyCode"**: string, **"creditorReference"**: { **"code"**: string, <br>**Available values:** "RADM", "RPIN", "FXDR", "DISP", "PUOR", "SCOR", **"number"**: string }, **"amountCurrencyCode"**: string, **"referredDocumentInformation"**: [ { **"code"**: string, <br>**Available values:** "MSIN", "CNFA", "DNFA", "CINV", "CREN", "DEBN", "HIRI", "SBIN", "CMCN", "SOAC", "DISP", "BOLD", "VCHR", "AROI", "TSUT", "PUOR", **"number"**: string, **"relatedDate"**: date } ] } ], **"businessApplicationId"**: string, **"settlementCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"senderBeneficiaryRelationship"**: string } |  | Yes |

#### CompanySenderIdentificationListAccount-2 Schema

Identification list of sender

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CompanySenderIdentificationListAccount-2 |  | Identification list of sender |  |

#### AccountPayoutOnlyRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: undefined (int64), **"endToEndId"**: , **"paymentRail"**: <br>**Available values:** "SWIFT", **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"additionalData"**: , **"purposeOfPayment"**: , **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"statementNarrative"**: , **"senderSourceOfFunds"**: , **"structuredRemittance"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**: , **"senderBeneficiaryRelationship"**:  } |  | Yes |

#### DigitalAssetPayoutRequestAltered Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"senderSourceOfFunds"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**:  } |  | Yes |

#### CompanySenderIdentificationListAccount-1 Schema

Identification list of sender

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CompanySenderIdentificationListAccount-1 | [ { **"idType"**: string, <br>**Available values:** "T", "L", "I", **"idNumber"**: string, **"idIssueCountry"**: string } ] | Identification list of sender |  |

#### ErrorResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason |  | The short description of the error. | Yes |
| status |  | 3 digit HTTP status code<br>*Example:* `400` | Yes |
| details |  |  | Yes |
| message |  | The long description of the error | No |

#### IndividualSenderIdentificationListAccount Schema

Identification list of sender

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| IndividualSenderIdentificationListAccount |  | Identification list of sender |  |

#### AccountPayoutResponse-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountPayoutResponse-4 | { **"transactionDetail"**: { **"status"**: string, <br>**Available values:** "PAYMENT_RECEIVED", **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: dateTime, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string } } |  |  |

#### ValidateWalletTransactionDetail Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| quoteId | undefined (int64) | This is a unique FX quote ID generated by Visa for a payout currency pair. <br>*Example:* `987654321` | No |
| endToEndId |  | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | Yes |
| payoutSpeed | <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority <br>*Enum:* `"STANDARD"`, `"PREMIUM"`<br>*Example:* `"standard"` | No |
| fundingModel | <br>**Available values:** "PREFUNDED" | The fundingModel to apply to this payout.<br>*Enum:* `"PREFUNDED"` | No |
| additionalData |  | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) | No |
| purposeOfPayment |  | Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) ISO20022 field name: Purpose of Payment  | No |
| initiatingPartyId | undefined (int64) |  | Yes |
| transactionAmount | undefined (double) | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| statementNarrative |  |  | No |
| senderSourceOfFunds |  | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.  ISO20022 field name: Debtor Account Type  | No |
| businessApplicationId |  | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode |  | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode |  | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |
| senderBeneficiaryRelationship |  | Sender's relationship with recipient | No |

#### AccountPayoutResponse-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountPayoutResponse-3 | { **"transactionDetail"**: { **"status"**: string, <br>**Available values:** "PAYMENT_RECEIVED", **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: dateTime, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string } } |  |  |

#### AccountPayoutResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountPayoutResponse-2 | { **"transactionDetail"**: { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: undefined (date-time), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**:  } } |  |  |

#### AccountPayoutResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountPayoutResponse-1 | { **"transactionDetail"**: { **"status"**: string, <br>**Available values:** "PAYMENT_RECEIVED", **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: dateTime, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string } } |  |  |

#### ConversionRate Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ConversionRate | undefined (double) |  |  |

**Example**
<pre>0.07</pre>

#### AccountSenderIsCompany-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name | string | Sender company name. <br>Must not contain exclusively numeric characters  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name"<br>For 3rd party payments: "Debtor Name"  | Yes |
| type | string, <br>**Available values:** "I", "C" | Identifies the type of sender - "C" for Company   | Yes |
| identificationList | [ { **"idType"**: string, <br>**Available values:** "T", "L", "I", **"idNumber"**: string, **"idIssueCountry"**: string } ] | Identification list of sender | No |

#### AccountSenderIsCompany-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name |  | Sender company name. <br>Must not contain exclusively numeric characters  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name"<br>For 3rd party payments: "Debtor Name"  | Yes |
| type | <br>**Available values:** "I", "C" | Identifies the type of sender - "C" for Company   | Yes |
| identificationList |  | Identification list of sender | No |

#### AccountPayoutRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: undefined (int64), **"endToEndId"**: , **"paymentRail"**: <br>**Available values:** "SWIFT", **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"additionalData"**: , **"purposeOfPayment"**: , **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"statementNarrative"**: , **"senderSourceOfFunds"**: , **"structuredRemittance"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**: , **"senderBeneficiaryRelationship"**:  } |  | Yes |

#### CompanyIdTypeAccount Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CompanyIdTypeAccount | <br>**Available values:** "T", "L", "I" |  |  |

#### ValidatePayoutDigitalAssetRequestAltered Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"senderSourceOfFunds"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**:  } |  | Yes |

#### DigitalAssetRecipientPayoutAddress Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city |  | Recipient address city  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Town Name  | No |
| state |  | Recipient address state or province  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Country Sub-division  | No |
| country |  | Recipient address country  Format: 3-character ISO-3166 (Alpha-3) country code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Country  | Yes |
| postalCode |  | Recipient address postal code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Postal Code  | No |
| addressLine1 |  | Recipient address line 1  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Street Name  | No |
| addressLine2 |  | Recipient address line 2  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Floor  | No |

#### PayoutCancelStatus-1 Schema

Status of the cancel request

Valid Value are: PENDING_CANCELLATION, CANCELLED

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayoutCancelStatus-1 | string, <br>**Available values:** "PENDING_CANCELLATION", "CANCELLED" | Status of the cancel request  Valid Value are: PENDING_CANCELLATION, CANCELLED  |  |

**Example**
<pre>CANCELLED</pre>

#### DigitalAssetQueryPendingCancelledResponse-2 Schema

Transaction is in pending or cancelled (cancelled during pending) status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "D" | This field indicates the payout method i.e. Digital Asset Valid values: - "D" Visa Direct Digital Asset <br>*Enum:* `"D"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64) } |  | Yes |

#### IdentityGroup-1 Schema

This type defines a recipient identity data group. Each group is normally represented as a section of fields on the UI. 'groupLabel' is the UI test to display as a name for this section. 'mandatory' indicates whether all section is mandatory. 'elementName' is the name of the element in the request for the corresponding section.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| groupName | string, <br>**Available values:** "bank", "address", "name", "additionalData", "identificationList", "legalEntityIdentity", "contactInfo", "birthInfo" | The name of the metadata element/enum. This generic Identity Group object can represent either 'Recipient Identity Field Group object' or 'Bank Account Registration Field Group object' .  Enum value signifies the particular metadata element.   For example :   a) if enum is "address", this can contain array of 'IdentityField' object where each object can represent elements like addressLine1, addressLine2, city, countryCode, postalCode etc       b) enum can be "identificationList", which contains array of "IdentityField' objects, one of the IdentityField object can have elementName="idType" and inputType="list", in this scenario array of IdentityListItem will have   [    {      "label": "Passport",      "value": "Passport"    },    {      "label": "National ID Card",      "value": "National ID Card"    },    {      "label": "Driving License",      "value": "Driving License"    }  ],   second 'IdentityField' Object -> elementName as "identificationNumber" with inputType="text"   third 'IdentityField' Object -> elementName as "identificationCountry" with inputType="text"   fourth 'IdentityField' Object -> elementName as "validFromDate" with inputType="text"  fifth  'IdentityField' Object -> elementName as "validToDate" with inputType="text" and so on.   c) If enum is "additionalData",this will have array of two 'IdentityField' objects, one representing 'additionalDataKey' and other one 'additionalDataValue'.   d) If enum is "name", "middleName" may be required for some countries (e.g. Africa). This can be accommodated by appending a space and then middleName to <firstName> <br>*Enum:* `"bank"`, `"address"`, `"name"`, `"additionalData"`, `"identificationList"`, `"legalEntityIdentity"`, `"contactInfo"`, `"birthInfo"` | Yes |
| mandatory | boolean | Indicates if the identity group is mandatory. | Yes |
| groupLabel | string | Displays a label for this group of identity fields. | Yes |
| identityFields | [ { **"locale"**: string, **"maxSize"**: integer, **"subTitle"**: string, **"tabOrder"**: integer, **"inputType"**: string, <br>**Available values:** "text", "date", "number", "list", **"listItems"**: [ { **"label"**: string, **"value"**: string } ], **"mandatory"**: boolean, **"separator"**: string, **"description"**: string, **"displaySize"**: integer, **"elementName"**: string, **"valueRegexp"**: string } ] | This type defines a list of recipient identity fields. | Yes |

#### IdNumber Schema

In this field, the identification number (from the document type identified in the field recipientDetail.idType) should be provided.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| IdNumber |  | In this field, the identification number (from the document type identified in the field recipientDetail.idType) should be provided. |  |

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

#### ValidatePayoutWalletRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: long, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: string, <br>**Available values:** "PREFUNDED", **"additionalData"**: [ { **"name"**: string, **"value"**: string } ], **"purposeOfPayment"**: string, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"statementNarrative"**: string, **"senderSourceOfFunds"**: string, **"businessApplicationId"**: string, **"settlementCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"senderBeneficiaryRelationship"**: string } |  | Yes |

#### IdentityGroup-3 Schema

This type defines a recipient identity data group. Each group is normally represented as a section of fields on the UI. 'groupLabel' is the UI test to display as a name for this section. 'mandatory' indicates whether all section is mandatory. 'elementName' is the name of the element in the request for the corresponding section.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| groupName | string, <br>**Available values:** "bank", "address", "name", "additionalData", "identificationList", "legalEntityIdentity", "contactInfo", "birthInfo" | The name of the metadata element/enum. This generic Identity Group object can represent either 'Recipient Identity Field Group object' or 'Bank Account Registration Field Group object' .  Enum value signifies the particular metadata element.   For example :   a) if enum is "address", this can contain array of 'IdentityField' object where each object can represent elements like addressLine1, addressLine2, city, countryCode, postalCode etc       b) enum can be "identificationList", which contains array of "IdentityField' objects, one of the IdentityField object can have elementName="idType" and inputType="list", in this scenario array of IdentityListItem will have   [    {      "label": "Passport",      "value": "Passport"    },    {      "label": "National ID Card",      "value": "National ID Card"    },    {      "label": "Driving License",      "value": "Driving License"    }  ],   second 'IdentityField' Object -> elementName as "identificationNumber" with inputType="text"   third 'IdentityField' Object -> elementName as "identificationCountry" with inputType="text"   fourth 'IdentityField' Object -> elementName as "validFromDate" with inputType="text"  fifth  'IdentityField' Object -> elementName as "validToDate" with inputType="text" and so on.   c) If enum is "additionalData",this will have array of two 'IdentityField' objects, one representing 'additionalDataKey' and other one 'additionalDataValue'.   d) If enum is "name", "middleName" may be required for some countries (e.g. Africa). This can be accommodated by appending a space and then middleName to <firstName>  <br>*Enum:* `"bank"`, `"address"`, `"name"`, `"additionalData"`, `"identificationList"`, `"legalEntityIdentity"`, `"contactInfo"`, `"birthInfo"` | Yes |
| mandatory | boolean | Indicates if the identity group is mandatory. | Yes |
| groupLabel | string | Displays a label for this group of identity fields. | Yes |
| identityFields | [ { **"locale"**: string, **"maxSize"**: integer, **"subTitle"**: string, **"tabOrder"**: integer, **"inputType"**: string, <br>**Available values:** "text", "date", "number", "list", **"listItems"**: [ { **"label"**: string, **"value"**: string } ], **"mandatory"**: boolean, **"separator"**: string, **"description"**: string, **"displaySize"**: integer, **"elementName"**: string, **"valueRegexp"**: string } ] | This type defines a list of recipient identity fields. | Yes |

#### ValidatePayoutWalletRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: undefined (int64), **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"additionalData"**: , **"purposeOfPayment"**: , **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"statementNarrative"**: , **"senderSourceOfFunds"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**: , **"senderBeneficiaryRelationship"**:  } |  | Yes |

#### IdentityGroup-2 Schema

This type defines a recipient identity data group. Each group is normally represented as a section of fields on the UI. 'groupLabel' is the UI test to display as a name for this section. 'mandatory' indicates whether all section is mandatory. 'elementName' is the name of the element in the request for the corresponding section.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| groupName | string, <br>**Available values:** "bank", "address", "name", "additionalData", "identificationList", "legalEntityIdentity", "contactInfo", "birthInfo" | The name of the metadata element/enum. This generic Identity Group object can represent either 'Beneficiary Identity Field Group object' or 'Bank Account Registration Field Group object' .  Enum value signifies the particular metadata element.   For example :   a) if enum is "address", this can contain array of 'IdentityField' object where each object can represent elements like addressLine1, addressLine2, city, countryCode, postalCode etc       b) enum can be "identificationList", which contains array of "IdentityField' objects, one of the IdentityField object can have elementName="idType" and inputType="list", in this scenario array of IdentityListItem will have   [    {      "label": "Passport",      "value": "Passport"    },    {      "label": "National ID Card",      "value": "National ID Card"    },    {      "label": "Driving License",      "value": "Driving License"    }  ],   second 'IdentityField' Object -> elementName as "identificationNumber" with inputType="text"   third 'IdentityField' Object -> elementName as "identificationCountry" with inputType="text"   fourth 'IdentityField' Object -> elementName as "validFromDate" with inputType="text"  fifth  'IdentityField' Object -> elementName as "validToDate" with inputType="text" and so on.   c) If enum is "additionalData",this will have array of two 'IdentityField' objects, one representing 'additionalDataKey' and other one 'additionalDataValue'.   d) If enum is "name", "middleName" may be required for some countries (e.g. Africa). This can be accommodated by appending a space and then middleName to <firstName>  <br>*Enum:* `"bank"`, `"address"`, `"name"`, `"additionalData"`, `"identificationList"`, `"legalEntityIdentity"`, `"contactInfo"`, `"birthInfo"` | Yes |
| mandatory | boolean | Indicates if the identity group is mandatory. | Yes |
| groupLabel | string | Displays a label for this group of identity fields. | Yes |
| identityFields | [ { **"locale"**: string, **"maxSize"**: integer, **"subTitle"**: string, **"tabOrder"**: integer, **"inputType"**: string, <br>**Available values:** "text", "date", "number", "list", **"listItems"**: [ { **"label"**: string, **"value"**: string } ], **"mandatory"**: boolean, **"separator"**: string, **"description"**: string, **"displaySize"**: integer, **"elementName"**: string, **"valueRegexp"**: string } ] | This type defines a list of recipient identity fields. | Yes |

#### ExpectedPostingDate-1 Schema

This is an estimated date by which the payout should be posted to the recipient’s account. This date should be communicated to the sender and recipient (if possible) to ensure that they know when to expect the funds

It is optional field, if exists, indicates expected posting date change

ISO20022 field name: Interbank Settlement Date

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ExpectedPostingDate-1 | undefined (date) | This is an estimated date by which the payout should be posted to the recipient’s account. This date should be communicated to the sender and recipient (if possible) to ensure that they know when to expect the funds  It is optional field, if exists, indicates expected posting date change  ISO20022 field name: Interbank Settlement Date  |  |

**Example**
<pre>1980-02-01</pre>

#### RecipientIndividual-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name | string | Full name of recipient is conditionally required when "firstName" and "lastName" are not provided.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table><br>*Example:* `"Joe Smith"` | No |
| type | string, <br>**Available values:** "I", "C" | Identifies the type of recipient - "I" for Individual   | Yes |
| address | { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } |  | No |
| lastName | string | Recipient last name<br>Recipient first name and last name are conditionally required when "name" is not provided. The length of first name and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name: Creditor Name  | No |
| firstName | string | Recipient first name<br>Recipient first name and last name are conditionally required when "name" is not provided. The length of first name and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name: Creditor Name  | No |
| cityOfBirth | string | Recipient city of birth  ISO20022 field name: Creditor City of Birth  | No |
| dateOfBirth | date | Recipient date of birth (Format: "YYYY-MM-DD", e.g. "1980-02-01")  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Birth Date  | No |
| countryOfBirth | string | Recipient country of birth  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  Format: 3-character ISO-3166 (Alpha-3) country code  ISO20022 field name: Creditor Country of Birth  | No |

#### PayoutNotificationFailedRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: string, **"errorResponses"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ], **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"notificationDateTime"**: dateTime } |  | Yes |

#### ExpectedPostingDate-2 Schema

This is an estimated date by which the payout should be posted to the recipient’s account. This date should be communicated to the sender and recipient (if possible) to ensure that they know when to expect the funds.

ISO20022 field name: Interbank Settlement Date

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ExpectedPostingDate-2 | undefined (date) | This is an estimated date by which the payout should be posted to the recipient’s account. This date should be communicated to the sender and recipient (if possible) to ensure that they know when to expect the funds.  ISO20022 field name: Interbank Settlement Date  |  |

**Example**
<pre>1980-02-01</pre>

#### ExpectedPostingDate-3 Schema

This is an estimated date by which the payout should be posted to the recipient’s account. This date should be communicated to the sender and recipient (if possible) to ensure that they know when to expect the funds

ISO20022 field name: Transaction Information And Status - Effective Interbank Settlement Date

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ExpectedPostingDate-3 | undefined (date) | This is an estimated date by which the payout should be posted to the recipient’s account. This date should be communicated to the sender and recipient (if possible) to ensure that they know when to expect the funds  ISO20022 field name: Transaction Information And Status - Effective Interbank Settlement Date  |  |

**Example**
<pre>1980-02-01</pre>

#### SignedAmount Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SignedAmount | undefined (double) |  |  |

**Example**
<pre>12.34</pre>

#### DigitalAssetCurrencyCode-1 Schema

The cryptocurrency or fiat currency code

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DigitalAssetCurrencyCode-1 | string, <br>**Available values:** "USDC" | The cryptocurrency or fiat currency code |  |

**Example**
<pre>USDC</pre>

#### WalletQueryOnlyResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| WalletQueryOnlyResponse | { **"payoutMethod"**: <br>**Available values:** "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"returnAmount"**: undefined (double), **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"serviceDetail"**: { **"traceable"**: , **"recallable"**: , **"paymentRail"**: <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**:  }, **"returnDateTime"**: undefined (date-time), **"returnPayoutId"**: , **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"returnCurrencyCode"**: , **"returnSourceAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: , **"description"**:  }, **"transactionDateTime"**: undefined (date-time), **"returnConversionRate"**: undefined (double), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**: , **"walletAdditionalDetails"**: { **"shareLink"**:  }, **"localSchemeTransactionId"**: , **"returnSourceCurrencyCode"**:  } } or { **"payoutMethod"**: <br>**Available values:** "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorDetails"**:  } } or { **"payoutMethod"**: <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64) } } |  |  |

#### RecipientDetailMetadata Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| identityGroups |  |  | Yes |

#### PayoutNotificationRequestStatus-1 Schema

Status of the transaction being queried

ISO20022 field name: Transaction Status

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayoutNotificationRequestStatus-1 | string | Status of the transaction being queried  ISO20022 field name: Transaction Status  |  |

#### AccountQueryPendingOnlyCancelledResponse Schema

Transaction is in pending or cancelled (cancelled during pending) status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64) } |  | Yes |

#### AccountQueryOnlyErrorResponse-1 Schema

Transaction is accepted and will be processed & notified status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B" | Originating Entity must indicate the payout method i.e. To Account    Valid values: “B” – Visa Direct Account <br>*Enum:* `"B"` | No |
| transactionDetail | { **"status"**: string, <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorDetails"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ] } |  | Yes |

#### BankName-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| BankName-1 | string |  |  |

**Example**
<pre>Bank of America</pre>

#### AccountTransactionDetail-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| quoteId | long | This is a unique FX quote ID generated by Visa for a payout currency pair.          <br>*Example:* `987654321` | No |
| endToEndId | string | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification  <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | No |
| payoutSpeed | string, <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority <br>*Enum:* `"STANDARD"`, `"PREMIUM"`<br>*Example:* `"standard"` | No |
| additionalData | [ { **"name"**: string, **"value"**: string } ] | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) | No |
| purposeOfPayment | string | Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) ISO20022 field name: Purpose of Payment  | No |
| clientReferenceId | string | Identifier assigned by the Originating Entity to uniquely identify the transaction.  ISO20022 field name: Transaction Identification  Only alphanumeric and '-' characters are allowed.  | Yes |
| initiatingPartyId | long |  | Yes |
| transactionAmount | double | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| statementNarrative | string |  | No |
| senderSourceOfFunds | string | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account. This field is required for Money Transfers and Funds Disbursements.  ISO20022 field name: Debtor Account Type  | No |
| structuredRemittance | [ { **"amount"**: double, **"taxAmount"**: double, **"taxCurrencyCode"**: string, **"creditorReference"**: { **"code"**: string, <br>**Available values:** "RADM", "RPIN", "FXDR", "DISP", "PUOR", "SCOR", **"number"**: string }, **"amountCurrencyCode"**: string, **"referredDocumentInformation"**: [ { **"code"**: string, <br>**Available values:** "MSIN", "CNFA", "DNFA", "CINV", "CREN", "DEBN", "HIRI", "SBIN", "CMCN", "SOAC", "DISP", "BOLD", "VCHR", "AROI", "TSUT", "PUOR", **"number"**: string, **"relatedDate"**: date } ] } ] | This object carries ISO20022 SMI data. It applies to Visa Direct Account payouts only.  | No |
| businessApplicationId | string | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode | string | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode | string | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |
| senderBeneficiaryRelationship | string | Sender's relationship with recipient | No |

#### AccountTransactionDetail-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| quoteId | long | This is a unique FX quote ID generated by Visa for a payout currency pair.          <br>*Example:* `987654321` | No |
| endToEndId | string | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification  <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | No |
| payoutSpeed | string, <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority <br>*Enum:* `"STANDARD"`, `"PREMIUM"`<br>*Example:* `"standard"` | No |
| additionalData | [ { **"name"**: string, **"value"**: string } ] | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) | No |
| purposeOfPayment | string | Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths) ISO20022 field name: Purpose of Payment  | No |
| clientReferenceId | string | Identifier assigned by the Originating Entity to uniquely identify the transaction.  ISO20022 field name: Transaction Information And Status - Original Transaction Identification  Only alphanumeric and '-' characters are allowed.  | Yes |
| initiatingPartyId | long |  | Yes |
| transactionAmount | double | The amount to debit from merchant's funding account or credit to beneficiary's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Payouts Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| statementNarrative | string |  | No |
| senderSourceOfFunds | string | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account. This field is required for Money Transfers and Funds Disbursements.  ISO20022 field name: Debtor Account Type Source of Funds  | No |
| businessApplicationId | string | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode | string | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode | string | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |
| senderBeneficiaryRelationship | string | Sender's relationship with recipient | No |

#### AccountSenderTypeIsUnspecified-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name |  | Sender name. Full name is conditionally required when "firstName" and "lastName" are not provided. <br>Must have at least 3 chars<br>Must not contain exclusively numeric characters<br>Must not contain special symbols<br><table>  <tr>  <td>!</td><td>"</td><td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name" <br>For 3rd party payments: "Debtor Name"      | No |
| type | <br>**Available values:** "U" | Identifies the type of sender - "U" for Unspecified(whether Individual or Company). <br>*Enum:* `"U"` | Yes |
| cityOfBirth |  | Sender city of birth  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor City of Birth" <br>For 3rd party payments: "Debtor City of Birth"  | No |
| dateOfBirth | undefined (date) | Sender date of birth (Format: "YYYY-MM-DD", e.g. "1980-02-01")  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Birth Date" <br>For 3rd party payments: "Debtor Birth Date"  | No |
| countryOfBirth |  | Sender country of birth  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  Format: 3-character ISO-3166 (Alpha-3) country code  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Country of Birth" <br>For 3rd party payments: "Debtor Country of Birth"  | No |
| identificationList |  | Identification list of sender | No |

#### AccountTransactionDetail-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| quoteId | undefined (int64) | This is a unique FX quote ID generated by Visa for a payout currency pair. <br>*Example:* `987654321` | No |
| endToEndId |  | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | No |
| paymentRail | <br>**Available values:** "SWIFT" | Indicates the payment rails preferred for the payout transaction.<br>*Enum:* `"SWIFT"`<br>*Example:* `"SWIFT"` | No |
| payoutSpeed | <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority <br>*Enum:* `"STANDARD"`, `"PREMIUM"`<br>*Example:* `"STANDARD"` | No |
| fundingModel | <br>**Available values:** "PREFUNDED" | The fundingModel to apply to this payout.<br>*Enum:* `"PREFUNDED"` | No |
| additionalData |  | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) | No |
| purposeOfPayment |  | Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) ISO20022 field name: Purpose of Payment  | No |
| clientReferenceId |  | Identifier assigned by the Originating Entity to uniquely identify the transaction.  ISO20022 field name: Transaction Identification  Only alphanumeric and '-' characters are allowed.  | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| transactionAmount | undefined (double) | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| statementNarrative |  | Originating Entity is advised to provide a narrative that helps the recipient clearly identify the sender and reason for the payment. Text will be displayed on the recipient’s statement when the payment gets posted to the recipient’s account or wallet statement.  Not all wallet operators support a statement narrative.  Conditional - (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths).  ISO20022 field name: Remittance Information Unstructured <br>*Example:* `"testing narrative"` | No |
| senderSourceOfFunds |  | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.  ISO20022 field name: Debtor Account Type  | No |
| structuredRemittance |  | This object carries ISO20022 SMI data. It applies to Visa Direct Account payouts only.  | No |
| businessApplicationId |  | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode |  | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode |  | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |
| senderBeneficiaryRelationship |  | Sender's relationship with recipient | No |

#### ContactNumber Schema

Contact phone number
+ symbol followed by digits, no other symbols, e.g. +447700123456 
(note, refer ISO spec E.164)

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ContactNumber |  | Contact phone number + symbol followed by digits, no other symbols, e.g. +447700123456  (note, refer ISO spec E.164)  |  |

#### AccountTransactionDetail-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| quoteId | long | This is a unique FX quote ID generated by Visa for a payout currency pair. <br>*Example:* `987654321` | No |
| endToEndId | string | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | No |
| paymentRail | string, <br>**Available values:** "SWIFT" | Indicates the payment rails preferred for the payout transaction.<br>*Enum:* `"SWIFT"`<br>*Example:* `"SWIFT"` | No |
| payoutSpeed | string, <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority <br>*Enum:* `"STANDARD"`, `"PREMIUM"`<br>*Example:* `"standard"` | No |
| fundingModel | string, <br>**Available values:** "PREFUNDED" | The fundingModel to apply to this payout.<br>*Enum:* `"PREFUNDED"` | No |
| additionalData | [ { **"name"**: string, **"value"**: string } ] | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) | No |
| purposeOfPayment | string | Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) ISO20022 field name: Purpose of Payment  | No |
| clientReferenceId | string | Identifier assigned by the Originating Entity to uniquely identify the transaction.  ISO20022 field name: Transaction Identification  Only alphanumeric and '-' characters are allowed.  | Yes |
| initiatingPartyId | long |  | Yes |
| transactionAmount | double | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| statementNarrative | string |  | No |
| senderSourceOfFunds | string | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.  ISO20022 field name: Debtor Account Type  | No |
| structuredRemittance | [ { **"amount"**: double, **"taxAmount"**: double, **"taxCurrencyCode"**: string, **"creditorReference"**: { **"code"**: string, <br>**Available values:** "RADM", "RPIN", "FXDR", "DISP", "PUOR", "SCOR", **"number"**: string }, **"amountCurrencyCode"**: string, **"referredDocumentInformation"**: [ { **"code"**: string, <br>**Available values:** "MSIN", "CNFA", "DNFA", "CINV", "CREN", "DEBN", "HIRI", "SBIN", "CMCN", "SOAC", "DISP", "BOLD", "VCHR", "AROI", "TSUT", "PUOR", **"number"**: string, **"relatedDate"**: date } ] } ] | This object carries ISO20022 SMI data. It applies to Visa Direct Account payouts only.  | No |
| businessApplicationId | string | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode | string | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode | string | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |
| senderBeneficiaryRelationship | string | Sender's relationship with recipient | No |

#### 403ErrorResponseObject Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason |  | The short description of the error. | No |
| status |  | 3 digit HTTP status code<br>*Example:* `403` | No |
| details |  |  | No |
| message |  | The long description of the error | No |

#### IndividualsName Schema

Full name of Individual

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| IndividualsName |  | Full name of Individual |  |

**Example**
<pre>Visa</pre>

#### DigitalAssetQueryPendingCancelledResponse-1 Schema

Transaction is in pending or cancelled (cancelled during pending) status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "D" | This field indicates the payout method i.e. Digital Asset Valid values: - "D" Visa Direct Digital Asset <br>*Enum:* `"D"` | No |
| transactionDetail | { **"status"**: string, <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: string, **"initiatingPartyId"**: long } |  | Yes |

#### RecipientAccountPayoutAddress-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city |  | Recipient address city  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Town Name  | No |
| state |  | Recipient address state or province  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Country Sub-division  | No |
| country |  | Recipient address country  Format: 3-character ISO-3166 (Alpha-3) country code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Country  | No |
| postalCode |  | Recipient address postal code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Postal Code  | No |
| addressLine1 |  | Recipient address line 1  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Street Name  | No |
| addressLine2 |  | Recipient address line 2  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Floor  | No |

#### RecipientAccountPayoutAddress-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city | string | Recipient address city  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Town Name  | No |
| state | string | Recipient address state or province  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Country Sub-division  | No |
| country | string | Recipient address country  Format: 3-character ISO-3166 (Alpha-3) country code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Country  | No |
| postalCode | string | Recipient address postal code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Postal Code  | No |
| addressLine1 | string | Recipient address line 1  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Street Name  | No |
| addressLine2 | string | Recipient address line 2  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Floor  | No |

#### BusinessApplicationId-1 Schema

Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.

Valid BAI for Visa Direct Account & Wallet: 
- Money transfer: AA, PP, FT, WT; 
- Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS;

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| BusinessApplicationId-1 | string | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS;  |  |

**Example**
<pre>PP</pre>

#### ValidPayoutWithNetworkResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| nameMatch | <br>**Available values:** "STRONG_MATCH", "PARTIAL_MATCH", "NO_MATCH" | Score provided based on recipient’s name match, if recipient’s account is found and active. Supports below values: STRONG_MATCH,PARTIAL_MATCH and NO_MATCH. STRONG_MATCH - Recipient’s account found and name is a highly confident match. PARTIAL_MATCH - Recipient’s account found and name is a partial match. NO_MATCH - Recipient’s account found but name is likely not a match. Applicable only for Accounts. <br>*Enum:* `"STRONG_MATCH"`, `"PARTIAL_MATCH"`, `"NO_MATCH"` | No |
| currencyCodes |  | List of currency codes accepted by the specific requested account which is verified by the Account verification services. <br>*Example:* `["USD","GBP","EUR"]` | No |
| verificationId |  | Unique verification identifier.<br>*Example:* `"5003f6a0-2c44-11b2-aa57-47378ae53313"` | No |
| bankAccountName |  | recipient bank account name i.e. account holder name as returned by the partner when nameMatch = ‘PARTIAL_MATCH’. Available for some corridors. Applicable only for Accounts. | No |
| expectedPostingDate | undefined (date) |  | No |
| validationResultCode | <br>**Available values:** "VALID_WITH_NETWORK" | - VALID_WITH_NETWORK - Both Visa's and partner network's validations succeed. <br>*Enum:* `"VALID_WITH_NETWORK"` | Yes |
| bankAccountNameTranslation |  | Account HolderName Translated from the source language to english. <br>*Example:* `"Wang Li"` | No |
| clientVerificationReference |  |  | No |

#### WalletQueryOnlyResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| WalletQueryOnlyResponse-2 | { **"payoutMethod"**: <br>**Available values:** "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"returnAmount"**: undefined (double), **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"serviceDetail"**: { **"traceable"**: , **"recallable"**: , **"paymentRail"**: <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**:  }, **"returnDateTime"**: undefined (date-time), **"returnPayoutId"**: , **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"returnCurrencyCode"**: , **"returnSourceAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: , **"description"**:  }, **"transactionDateTime"**: undefined (date-time), **"returnConversionRate"**: undefined (double), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**: , **"walletAdditionalDetails"**: { **"shareLink"**:  }, **"localSchemeTransactionId"**: , **"returnSourceCurrencyCode"**:  } } or { **"payoutMethod"**: <br>**Available values:** "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorDetails"**:  } } or { **"payoutMethod"**: <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64) } } |  |  |

#### WalletQueryOnlyResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| WalletQueryOnlyResponse-1 | { **"payoutMethod"**: string, <br>**Available values:** "W", **"transactionDetail"**: { **"status"**: string, <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: string, <br>**Available values:** "PREFUNDED", **"returnAmount"**: double, **"fundingStatus"**: string, <br>**Available values:** "FUNDED", "NOT_FUNDED", **"serviceDetail"**: { **"traceable"**: boolean, **"recallable"**: boolean, **"paymentRail"**: string, <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**: boolean }, **"returnDateTime"**: dateTime, **"returnPayoutId"**: string, **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"deliveredDateTime"**: dateTime, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"returnCurrencyCode"**: string, **"returnSourceAmount"**: double, **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: string, **"description"**: string }, **"transactionDateTime"**: dateTime, **"returnConversionRate"**: double, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"walletAdditionalDetails"**: { **"shareLink"**: string }, **"localSchemeTransactionId"**: string, **"returnSourceCurrencyCode"**: string } } or { **"payoutMethod"**: string, <br>**Available values:** "W", **"transactionDetail"**: { **"status"**: string, <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorDetails"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ] } } or { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: string, <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: string, **"initiatingPartyId"**: long } } |  |  |

#### ValidatePayoutWalletOnlyRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: long, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: string, <br>**Available values:** "PREFUNDED", **"additionalData"**: [ { **"name"**: string, **"value"**: string } ], **"purposeOfPayment"**: string, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"statementNarrative"**: string, **"senderSourceOfFunds"**: string, **"businessApplicationId"**: string, **"settlementCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"senderBeneficiaryRelationship"**: string } |  | Yes |

#### AccountId-1 Schema

The accountId uniquely identifies the ledger account as a virtual account number(i.e. VAN), with a value or number assigned by Visa.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountId-1 | string | The accountId uniquely identifies the ledger account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. |  |

#### UnspecifiedTypeSenderIdentificationListAccountWallet-1 Schema

Identification list of sender

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| UnspecifiedTypeSenderIdentificationListAccountWallet-1 |  | Identification list of sender |  |

#### ValidatePayoutWalletOnlyRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: undefined (int64), **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"additionalData"**: , **"purposeOfPayment"**: , **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"statementNarrative"**: , **"senderSourceOfFunds"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**: , **"senderBeneficiaryRelationship"**:  } |  | Yes |

#### SettlementOverdueFlexibleSettlementNotification-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId | string | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | string, <br>**Available values:** "SETTLEMENT_OVERDUE" | The type of event that triggered the notification.<br>*Enum:* `"SETTLEMENT_OVERDUE"` | Yes |
| nextDueDetails | [ { **"vplContact"**: string, **"currencyCode"**: string, **"totalAmountDue"**: double, **"totalAmountOverdue"**: double, **"originalDueDateTime"**: dateTime, **"flexibleAccountFrozen"**: boolean } ] |  | Yes |
| initiatingPartyId | long | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| notificationDateTime | dateTime | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### FlexibleAmountLimit Schema

Liquidity limit.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| FlexibleAmountLimit | undefined (double) | Liquidity limit. |  |

#### SettlementOverdueFlexibleSettlementNotification-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId |  | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | <br>**Available values:** "SETTLEMENT_OVERDUE" | The type of event that triggered the notification.<br>*Enum:* `"SETTLEMENT_OVERDUE"` | Yes |
| nextDueDetails |  |  | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| notificationDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### Wallet-4 Schema

Recipient's wallet object

Conditional object when payoutMethod has value 'W'

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| countryCode | string |  | Yes |
| currencyCode | string |  | Yes |
| operatorName | string | This identifies the operator that has issued the account to the recipient and is going to receive and post the funds to the recipient’s wallet. (Refer to Visa Direct Endpoint Guide on list of supported Wallet Operators).  | Yes |
| accountIdentifier | string | The wallet recipient's actual account identifier associated with the wallet operator (e.g., wallet address - phone/email/username that identifies the account associated with the wallet operator)  | Yes |
| accountIdentifierType | string, <br>**Available values:** "PHONENUMBER", "EMAIL", "USERNAME" | The type of account identifier used by the recipient.   Supported values are PHONENUMBER, EMAIL and USERNAME.           <br>*Enum:* `"PHONENUMBER"`, `"EMAIL"`, `"USERNAME"`<br>*Example:* `"PHONENUMBER"` | Yes |

#### FlexibleAmountUtilized Schema

Amount of liquidity that has been utilized.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| FlexibleAmountUtilized | undefined (double) | Amount of liquidity that has been utilized. |  |

#### 403ErrorResponseWithKey Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| errorResponse | { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } |  | No |

#### SettlementDueBreachedFlexibleSettlementNotification-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId | string | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | string, <br>**Available values:** "SETTLEMENT_DUE_BREACHED" | The type of event that triggered the notification.<br>*Enum:* `"SETTLEMENT_DUE_BREACHED"` | Yes |
| nextDueDetails | [ { **"vplContact"**: string, **"currencyCode"**: string, **"totalAmountDue"**: double, **"totalAmountOverdue"**: double, **"originalDueDateTime"**: dateTime, **"flexibleAccountFrozen"**: boolean } ] |  | Yes |
| initiatingPartyId | long | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| notificationDateTime | dateTime | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### SettlementDueBreachedFlexibleSettlementNotification-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId |  | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | <br>**Available values:** "SETTLEMENT_DUE_BREACHED" | The type of event that triggered the notification.<br>*Enum:* `"SETTLEMENT_DUE_BREACHED"` | Yes |
| nextDueDetails |  |  | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| notificationDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### ValidateAccountTransactionDetail-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| quoteId | undefined (int64) | This is a unique FX quote ID generated by Visa for a payout currency pair. <br>*Example:* `987654321` | No |
| endToEndId |  | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | No |
| paymentRail | <br>**Available values:** "SWIFT" | Indicates the payment rails preferred for the payout transaction.<br>*Enum:* `"SWIFT"`<br>*Example:* `"SWIFT"` | No |
| payoutSpeed | <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority <br>*Enum:* `"STANDARD"`, `"PREMIUM"`<br>*Example:* `"STANDARD"` | No |
| fundingModel | <br>**Available values:** "PREFUNDED" | The fundingModel to apply to this payout.<br>*Enum:* `"PREFUNDED"` | No |
| additionalData |  | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) | No |
| purposeOfPayment |  | Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) ISO20022 field name: Purpose of Payment  | No |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| transactionAmount | undefined (double) | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| statementNarrative |  | Originating Entity is advised to provide a narrative that helps the recipient clearly identify the sender and reason for the payment. Text will be displayed on the recipient’s statement when the payment gets posted to the recipient’s account or wallet statement.  Not all wallet operators support a statement narrative.  Conditional - (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths).  ISO20022 field name: Remittance Information Unstructured <br>*Example:* `"testing narrative"` | No |
| senderSourceOfFunds |  | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.  ISO20022 field name: Debtor Account Type  | No |
| structuredRemittance |  | This object carries ISO20022 SMI data. It applies to Visa Direct Account payouts only.  | No |
| businessApplicationId |  | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode |  | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode |  | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |
| senderBeneficiaryRelationship |  | Sender's relationship with recipient | No |

#### ValidateAccountTransactionDetail-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| quoteId | long | This is a unique FX quote ID generated by Visa for a payout currency pair. <br>*Example:* `987654321` | No |
| endToEndId | string | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | No |
| paymentRail | string, <br>**Available values:** "SWIFT" | Indicates the payment rails preferred for the payout transaction.<br>*Enum:* `"SWIFT"`<br>*Example:* `"SWIFT"` | No |
| payoutSpeed | string, <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority <br>*Enum:* `"STANDARD"`, `"PREMIUM"`<br>*Example:* `"standard"` | No |
| fundingModel | string, <br>**Available values:** "PREFUNDED" | The fundingModel to apply to this payout.<br>*Enum:* `"PREFUNDED"` | No |
| additionalData | [ { **"name"**: string, **"value"**: string } ] | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) | No |
| purposeOfPayment | string | Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) ISO20022 field name: Purpose of Payment  | No |
| initiatingPartyId | long |  | Yes |
| transactionAmount | double | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| statementNarrative | string |  | No |
| senderSourceOfFunds | string | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.  ISO20022 field name: Debtor Account Type  | No |
| structuredRemittance | [ { **"amount"**: double, **"taxAmount"**: double, **"taxCurrencyCode"**: string, **"creditorReference"**: { **"code"**: string, <br>**Available values:** "RADM", "RPIN", "FXDR", "DISP", "PUOR", "SCOR", **"number"**: string }, **"amountCurrencyCode"**: string, **"referredDocumentInformation"**: [ { **"code"**: string, <br>**Available values:** "MSIN", "CNFA", "DNFA", "CINV", "CREN", "DEBN", "HIRI", "SBIN", "CMCN", "SOAC", "DISP", "BOLD", "VCHR", "AROI", "TSUT", "PUOR", **"number"**: string, **"relatedDate"**: date } ] } ] | This object carries ISO20022 SMI data. It applies to Visa Direct Account payouts only.  | No |
| businessApplicationId | string | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode | string | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode | string | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |
| senderBeneficiaryRelationship | string | Sender's relationship with recipient | No |

#### ValidateAccountTransactionDetail-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| quoteId | long | This is a unique FX quote ID generated by Visa for a payout currency pair.          <br>*Example:* `987654321` | No |
| endToEndId | string | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification  <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | No |
| payoutSpeed | string, <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority <br>*Enum:* `"STANDARD"`, `"PREMIUM"`<br>*Example:* `"standard"` | No |
| additionalData | [ { **"name"**: string, **"value"**: string } ] | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) | No |
| purposeOfPayment | string | Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) ISO20022 field name: Purpose of Payment  | No |
| initiatingPartyId | long |  | Yes |
| transactionAmount | double | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| statementNarrative | string |  | No |
| senderSourceOfFunds | string | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account. This field is required for Money Transfers and Funds Disbursements.  ISO20022 field name: Debtor Account Type  | No |
| structuredRemittance | [ { **"amount"**: double, **"taxAmount"**: double, **"taxCurrencyCode"**: string, **"creditorReference"**: { **"code"**: string, <br>**Available values:** "RADM", "RPIN", "FXDR", "DISP", "PUOR", "SCOR", **"number"**: string }, **"amountCurrencyCode"**: string, **"referredDocumentInformation"**: [ { **"code"**: string, <br>**Available values:** "MSIN", "CNFA", "DNFA", "CINV", "CREN", "DEBN", "HIRI", "SBIN", "CMCN", "SOAC", "DISP", "BOLD", "VCHR", "AROI", "TSUT", "PUOR", **"number"**: string, **"relatedDate"**: date } ] } ] | This object carries ISO20022 SMI data. It applies to Visa Direct Account payouts only.  | No |
| businessApplicationId | string | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode | string | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode | string | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |
| senderBeneficiaryRelationship | string | Sender's relationship with recipient | No |

#### ValidateAccountTransactionDetail-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndId | string | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification  <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | No |
| payoutSpeed | string, <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority <br>*Enum:* `"STANDARD"`, `"PREMIUM"`<br>*Example:* `"standard"` | No |
| additionalData | [ { **"name"**: string, **"value"**: string } ] | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) | No |
| purposeOfPayment | string | Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths) ISO20022 field name: Purpose of Payment  | No |
| initiatingPartyId | long |  | Yes |
| transactionAmount | double | The amount to debit from merchant's funding account or credit to beneficiary's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Payouts Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| statementNarrative | string |  | No |
| senderSourceOfFunds | string | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account. This field is required for Money Transfers and Funds Disbursements.  ISO20022 field name: Debtor Account Type Source of Funds  | No |
| businessApplicationId | string | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode | string | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode | string | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |
| senderBeneficiaryRelationship | string | Sender's relationship with recipient | No |

#### ValidatePayoutWalletRequest-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"additionalData"**: [ { **"name"**: string, **"value"**: string } ], **"purposeOfPayment"**: string, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"statementNarrative"**: string, **"senderSourceOfFunds"**: string, **"businessApplicationId"**: string, **"settlementCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"senderBeneficiaryRelationship"**: string } |  | Yes |

#### ValidatePayoutWalletRequest-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: long, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"additionalData"**: [ { **"name"**: string, **"value"**: string } ], **"purposeOfPayment"**: string, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"statementNarrative"**: string, **"senderSourceOfFunds"**: string, **"businessApplicationId"**: string, **"settlementCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"senderBeneficiaryRelationship"**: string } |  | Yes |

#### AdditionalDataValue Schema

Value of the field.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AdditionalDataValue |  | Value of the field. |  |

#### DigitalAssetQueryErrorResponse-1 Schema

Transaction is accepted and will be processed & notified status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "D" | This field indicates the payout method i.e. Digital Asset Valid values: - "D" Visa Direct Digital Asset <br>*Enum:* `"D"` | No |
| transactionDetail | { **"status"**: string, <br>**Available values:** "VALIDATION_FAILED", "ERROR                -", **"errorDetails"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ] } |  | Yes |

#### BusinessApplicationId-2 Schema

Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.

Valid BAI for Visa Direct Account & Wallet: 
- Money transfer: AA, PP; 
- Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP;

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| BusinessApplicationId-2 | string | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP;  |  |

**Example**
<pre>PP</pre>

#### WalletRecipientIsCompany Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name |  | Recipient company name. <br>Must not contain exclusively numeric characters  ISO20022 field name: Creditor Name  | Yes |
| type | <br>**Available values:** "I", "C" | Identifies the type of recipient - "C" for Company   | Yes |
| address | { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  } |  | No |
| identificationList |  |  | No |

#### BusinessApplicationId-3 Schema

Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.

Valid BAI for Visa Direct Account & Wallet: 
- Money transfer: AA, PP, FT, WT; 
- Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP;

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| BusinessApplicationId-3 | string | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP;  |  |

**Example**
<pre>PP</pre>

#### ValidatePayoutAccountRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: undefined (int64), **"endToEndId"**: , **"paymentRail"**: <br>**Available values:** "SWIFT", **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"additionalData"**: , **"purposeOfPayment"**: , **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"statementNarrative"**: , **"senderSourceOfFunds"**: , **"structuredRemittance"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**: , **"senderBeneficiaryRelationship"**:  } |  | Yes |
| accountVerificationRequired |  | Indicates whether account verification services are required.If True, account will be verified.If False, account verification will be skipped. Applicable only for Accounts. | No |
| clientVerificationReference |  | A client submitted identifier. This field and same value will be returned in the response.  Conditional: Required if accountVerificationRequired = True  | No |

#### LimitReachedFlexibleSettlementNotification Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId |  | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | <br>**Available values:** "LIMIT_REACHED" | The type of event that triggered the notification.<br>*Enum:* `"LIMIT_REACHED"` | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| limitReachedDetails |  |  | Yes |
| notificationDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### EODFlexibleSettlementNotification-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId | string | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | string, <br>**Available values:** "END_OF_DAY" | The type of event that triggered the notification.<br>*Enum:* `"END_OF_DAY"` | Yes |
| windowDueDetails | [ { **"vplContact"**: string, **"dueDateTime"**: dateTime, **"currencyCode"**: string, **"totalAmountDue"**: double, **"pullFundsDetails"**: { **"iBan"**: string, **"bankName"**: string, **"accountNumber"**: integer, **"expectedDebitDateTime"**: dateTime } } ] |  | Yes |
| currentDueDetails | [ { **"vplContact"**: string, **"dueDateTime"**: dateTime, **"currencyCode"**: string, **"totalAmountDue"**: double } ] |  | No |
| initiatingPartyId | long | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| notificationDateTime | dateTime | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### FundingDetailsFundsNotReceived-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pullFundId | string | The pull fund id generated by Visa. | Yes |
| currencyCode | string | 3-character ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| totalAmountDue | double | Total amount due by due date. Pulled in this request.  | Yes |
| pullFundsDetails | { **"iBan"**: string, **"bankName"**: string, **"accountNumber"**: integer, **"originalDueDateTime"**: dateTime, **"expectedDebitDateTime"**: dateTime } |  | Yes |

#### DigitalAssetSenderIsCompany Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name |  |  | No |
| type | <br>**Available values:** "I", "C" | Identifies the type of sender - "C" for Company  | Yes |

#### EODFlexibleSettlementNotification-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId |  | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | <br>**Available values:** "END_OF_DAY" | The type of event that triggered the notification.<br>*Enum:* `"END_OF_DAY"` | Yes |
| windowDueDetails |  |  | Yes |
| currentDueDetails |  |  | No |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| notificationDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### PullFundsInitNotification Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId |  | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | <br>**Available values:** "PULL_FUNDS_INITIATED" | The type of event that triggered the notification.<br>*Enum:* `"PULL_FUNDS_INITIATED"` | Yes |
| fundingDetails |  |  | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| notificationDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### SenderTransactorDetail Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SenderTransactorDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C" } |  |  |

#### SenderReferenceNumber Schema

Conditional: If the sender intends to fund the transaction with card or wallet and not a bank account, then a reference number unique to the sender is required. This field is required if senderAccountNumber is not sent. Client should not send any card PANs in this field for payout.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SenderReferenceNumber |  | Conditional: If the sender intends to fund the transaction with card or wallet and not a bank account, then a reference number unique to the sender is required. This field is required if senderAccountNumber is not sent. Client should not send any card PANs in this field for payout.  |  |

**Example**
<pre>John</pre>

#### PayoutNotificationRequestStatus Schema

Status of the transaction being queried

ISO20022 field name: Transaction Status

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayoutNotificationRequestStatus |  | Status of the transaction being queried  ISO20022 field name: Transaction Status  |  |

#### AccountQueryOnlyErrorResponse Schema

Transaction is accepted and will be processed & notified status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B" | Originating Entity must indicate the payout method i.e. To Account    Valid values: “B” – Visa Direct Account <br>*Enum:* `"B"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorDetails"**:  } |  | Yes |

#### AccountQueryResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountQueryResponse-1 | { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: string, <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: string, <br>**Available values:** "PREFUNDED", **"returnAmount"**: double, **"fundingStatus"**: string, <br>**Available values:** "FUNDED", "NOT_FUNDED", **"serviceDetail"**: { **"traceable"**: boolean, **"recallable"**: boolean, **"paymentRail"**: string, <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**: boolean }, **"returnDateTime"**: dateTime, **"returnPayoutId"**: string, **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"deliveredDateTime"**: dateTime, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"returnCurrencyCode"**: string, **"returnSourceAmount"**: double, **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: string, **"description"**: string }, **"transactionDateTime"**: dateTime, **"returnConversionRate"**: double, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"walletAdditionalDetails"**: { **"shareLink"**: string }, **"localSchemeTransactionId"**: string, **"returnSourceCurrencyCode"**: string } } or { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: string, <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorDetails"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ] } } or { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: string, <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: string, **"initiatingPartyId"**: long } } |  |  |

#### TimestampType Schema

ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00

example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00

ISO20022 field name: Transaction Information And Status - Message Creation Date Time

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TimestampType | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  |  |

#### AccountQueryResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountQueryResponse-2 | { **"payoutMethod"**: <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"returnAmount"**: undefined (double), **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"serviceDetail"**: { **"traceable"**: , **"recallable"**: , **"paymentRail"**: <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**:  }, **"returnDateTime"**: undefined (date-time), **"returnPayoutId"**: , **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"returnCurrencyCode"**: , **"returnSourceAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: , **"description"**:  }, **"transactionDateTime"**: undefined (date-time), **"returnConversionRate"**: undefined (double), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**: , **"walletAdditionalDetails"**: { **"shareLink"**:  }, **"localSchemeTransactionId"**: , **"returnSourceCurrencyCode"**:  } } or { **"payoutMethod"**: <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorDetails"**:  } } or { **"payoutMethod"**: <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64) } } |  |  |

#### AccountQueryOnlySuccessResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B" | Originating Entity must indicate the payout method i.e. To Account    Valid values: “B” – Visa Direct Account <br>*Enum:* `"B"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"returnAmount"**: undefined (double), **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"serviceDetail"**: { **"traceable"**: , **"recallable"**: , **"paymentRail"**: <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**:  }, **"returnDateTime"**: undefined (date-time), **"returnPayoutId"**: , **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"returnCurrencyCode"**: , **"returnSourceAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: , **"description"**:  }, **"transactionDateTime"**: undefined (date-time), **"returnConversionRate"**: undefined (double), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**: , **"localSchemeTransactionId"**: , **"returnSourceCurrencyCode"**:  } |  | Yes |

#### FundingDetailsFundsNotReceived-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pullFundId |  | The pull fund id generated by Visa. | Yes |
| currencyCode |  | 3-character ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| totalAmountDue | undefined (double) | Total amount due by due date. Pulled in this request.  | Yes |
| pullFundsDetails | { **"iBan"**: , **"bankName"**: , **"accountNumber"**: , **"originalDueDateTime"**: undefined (date-time), **"expectedDebitDateTime"**: undefined (date-time) } |  | Yes |

#### AccountQueryResponse-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountQueryResponse-3 | { **"transactionDetail"**: { **"status"**: string, <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"returnAmount"**: double, **"fundingStatus"**: string, <br>**Available values:** "FUNDED", "NOT_FUNDED", **"serviceDetail"**: { **"traceable"**: boolean, **"recallable"**: boolean, **"paymentRail"**: string, <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT" }, **"returnDateTime"**: dateTime, **"returnPayoutId"**: string, **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"returnCurrencyCode"**: string, **"returnSourceAmount"**: double, **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: string, **"description"**: string }, **"transactionDateTime"**: dateTime, **"returnConversionRate"**: double, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"returnSourceCurrencyCode"**: string } } or { **"transactionalDetail"**: { **"status"**: string, <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorDetails"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ] } } or { **"transactionalDetail"**: { **"status"**: string, <br>**Available values:** "PENDING", **"clientReferenceId"**: string, **"initiatingPartyId"**: long } } |  |  |

#### PayoutNotification Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayoutNotification | { **"payoutMethod"**: <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: undefined (date-time), **"notificationDateTime"**: undefined (date-time), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**:  } } or { **"payoutMethod"**: <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"endToEndId"**: , **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"serviceDetail"**: { **"traceable"**: , **"recallable"**: , **"paymentRail"**: <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**:  }, **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"initiatingPartyId"**: undefined (int64), **"expectedPostingDate"**: undefined (date), **"notificationDateTime"**: undefined (date-time), **"walletAdditionalDetails"**: { **"shareLink"**:  }, **"localSchemeTransactionId"**:  } } or { **"payoutMethod"**: <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorResponses"**: , **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64), **"notificationDateTime"**: undefined (date-time) } } |  |  |

#### AccountQueryResponse-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountQueryResponse-4 | { **"transactionDetail"**: { **"status"**: string, <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"returnAmount"**: double, **"fundingStatus"**: string, <br>**Available values:** "FUNDED", "NOT_FUNDED", **"serviceDetail"**: { **"traceable"**: boolean, **"recallable"**: boolean, **"paymentRail"**: string, <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT" }, **"returnDateTime"**: dateTime, **"returnPayoutId"**: string, **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"returnCurrencyCode"**: string, **"returnSourceAmount"**: double, **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: string, **"description"**: string }, **"transactionDateTime"**: dateTime, **"returnConversionRate"**: double, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"returnSourceCurrencyCode"**: string } } or { **"transactionalDetail"**: { **"status"**: string, <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorDetails"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ] } } or { **"transactionalDetail"**: { **"status"**: string, <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: string, **"initiatingPartyId"**: long } } |  |  |

#### NotificationsErrorResponseWithKey Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| errorResponse | { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } |  | No |

#### AccountPayoutRequest-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: long, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"additionalData"**: [ { **"name"**: string, **"value"**: string } ], **"purposeOfPayment"**: string, **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"statementNarrative"**: string, **"senderSourceOfFunds"**: string, **"businessApplicationId"**: string, **"settlementCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"senderBeneficiaryRelationship"**: string } |  | Yes |

#### BIC Schema

Business Identifier Code (BIC) of the Sponsor FI (Acquirer)

ISO20022 field name: Debtor Agent FI BIC

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| BIC |  | Business Identifier Code (BIC) of the Sponsor FI (Acquirer)  ISO20022 field name: Debtor Agent FI BIC  |  |

#### AccountPayoutRequest-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: long, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"additionalData"**: [ { **"name"**: string, **"value"**: string } ], **"purposeOfPayment"**: string, **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"statementNarrative"**: string, **"senderSourceOfFunds"**: string, **"structuredRemittance"**: [ { **"amount"**: double, **"taxAmount"**: double, **"taxCurrencyCode"**: string, **"creditorReference"**: { **"code"**: string, <br>**Available values:** "RADM", "RPIN", "FXDR", "DISP", "PUOR", "SCOR", **"number"**: string }, **"amountCurrencyCode"**: string, **"referredDocumentInformation"**: [ { **"code"**: string, <br>**Available values:** "MSIN", "CNFA", "DNFA", "CINV", "CREN", "DEBN", "HIRI", "SBIN", "CMCN", "SOAC", "DISP", "BOLD", "VCHR", "AROI", "TSUT", "PUOR", **"number"**: string, **"relatedDate"**: date } ] } ], **"businessApplicationId"**: string, **"settlementCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"senderBeneficiaryRelationship"**: string } |  | Yes |

#### AccountPayoutRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: long, **"endToEndId"**: string, **"paymentRail"**: string, <br>**Available values:** "SWIFT", **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: string, <br>**Available values:** "PREFUNDED", **"additionalData"**: [ { **"name"**: string, **"value"**: string } ], **"purposeOfPayment"**: string, **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"statementNarrative"**: string, **"senderSourceOfFunds"**: string, **"structuredRemittance"**: [ { **"amount"**: double, **"taxAmount"**: double, **"taxCurrencyCode"**: string, **"creditorReference"**: { **"code"**: string, <br>**Available values:** "RADM", "RPIN", "FXDR", "DISP", "PUOR", "SCOR", **"number"**: string }, **"amountCurrencyCode"**: string, **"referredDocumentInformation"**: [ { **"code"**: string, <br>**Available values:** "MSIN", "CNFA", "DNFA", "CINV", "CREN", "DEBN", "HIRI", "SBIN", "CMCN", "SOAC", "DISP", "BOLD", "VCHR", "AROI", "TSUT", "PUOR", **"number"**: string, **"relatedDate"**: date } ] } ], **"businessApplicationId"**: string, **"settlementCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"senderBeneficiaryRelationship"**: string } |  | Yes |

#### AccountPayoutRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: undefined (int64), **"endToEndId"**: , **"paymentRail"**: <br>**Available values:** "SWIFT", **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"additionalData"**: , **"purposeOfPayment"**: , **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"statementNarrative"**: , **"senderSourceOfFunds"**: , **"structuredRemittance"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**: , **"senderBeneficiaryRelationship"**:  } |  | Yes |

#### RecipientCompany Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name | string | Recipient company name  ISO20022 field name: Creditor Name  | Yes |
| type | string, <br>**Available values:** "I", "C" | Identifies the type of recipient - "C" for Company   ISO20022 field name: Creditor Identification Type         | Yes |
| address | { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } |  | No |

#### ValidatePayoutResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ValidatePayoutResponse-1 | { **"verificationId"**: string, **"validationDetails"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ], **"expectedPostingDate"**: undefined (date), **"validationResultCode"**: string, <br>**Available values:** "VALID", **"clientVerificationReference"**: string } or { **"nameMatch"**: string, <br>**Available values:** "STRONG_MATCH", "PARTIAL_MATCH", "NO_MATCH", **"currencyCodes"**: [ string ], **"verificationId"**: string, **"bankAccountName"**: string, **"expectedPostingDate"**: undefined (date), **"validationResultCode"**: string, <br>**Available values:** "VALID_WITH_NETWORK", **"bankAccountNameTranslation"**: string, **"clientVerificationReference"**: string } or { **"verificationId"**: string, **"validationDetails"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ], **"validationResultCode"**: string, <br>**Available values:** "INVALID", **"clientVerificationReference"**: string } |  |  |

#### BalanceNotification Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| balance |  | array of balances for all currencies of the 'accountId' | Yes |
| accountId |  |  | Yes |
| eventType | <br>**Available values:** "THRESHOLD", "LIQUIDITY_FAILURE", "PERIODIC" | Indicates why the balance notification is triggered  Possible values: * `THRESHOLD` - When balance threshold is exceeded * `LIQUIDITY_FAILURE` - when balance is negative * `PERIODIC` - Regular balance snapshot at certain day/time <br>*Enum:* `"THRESHOLD"`, `"LIQUIDITY_FAILURE"`, `"PERIODIC"` | Yes |
| initiatingPartyId | undefined (int64) |  | Yes |

#### accountVerificationRequired Schema

Indicates whether account verification services are required.If True, account will be verified.If False, account verification will be skipped. Applicable only for Accounts.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountVerificationRequired |  | Indicates whether account verification services are required.If True, account will be verified.If False, account verification will be skipped. Applicable only for Accounts. |  |

#### IndividualSenderIdentificationListAccount-1 Schema

Identification list of sender

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| IndividualSenderIdentificationListAccount-1 | [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] | Identification list of sender |  |

#### DigitalAssetQuerySuccessResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "D" | This field indicates the payout method i.e. Digital Asset Valid values: - "D" Visa Direct Digital Asset <br>*Enum:* `"D"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"returnAmount"**: undefined (double), **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"returnDateTime"**: undefined (date-time), **"returnPayoutId"**: , **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"returnCurrencyCode"**: , **"returnSourceAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: , **"description"**:  }, **"transactionDateTime"**: undefined (date-time), **"returnConversionRate"**: undefined (double), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: <br>**Available values:** "USDC", **"transactionCurrencyCode"**: , **"returnSourceCurrencyCode"**: , **"digitalAssetAdditionalDetail"**: { **"hash"**:  } } |  | Yes |

#### ReturnReasonCodeDetailsType-1 Schema

Indicates the PSP return type when the payout is returned. Refer to PSP Return Type

ISO20022 field name: Payment Return - PSP Return Type

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ReturnReasonCodeDetailsType-1 | string, <br>**Available values:** "REJECTED", "RETURNED" | Indicates the PSP return type when the payout is returned. Refer to PSP Return Type  ISO20022 field name: Payment Return - PSP Return Type  |  |

#### LocalSchemeTransactionId-1 Schema

Optional.
Applicable for statuses PAYMENT_SENT, PAYMENT_DELIVERED, DELIVERED_TO_SCHEME and DELIVERED_TO_RECIPIENT_BANK, when available.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| LocalSchemeTransactionId-1 | string | Optional. Applicable for statuses PAYMENT_SENT, PAYMENT_DELIVERED, DELIVERED_TO_SCHEME and DELIVERED_TO_RECIPIENT_BANK, when available.  |  |

#### ValidatePayoutResponse-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ValidatePayoutResponse-3 | { **"validationResultCode"**: string, <br>**Available values:** "VALID" } or { **"validationResultCode"**: string, <br>**Available values:** "VALID_WITH_NETWORK" } or { **"validationDetails"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ], **"validationResultCode"**: string, <br>**Available values:** "INVALID" } |  |  |

#### ValidatePayoutResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ValidatePayoutResponse-2 | { **"verificationId"**: , **"validationDetails"**: , **"expectedPostingDate"**: undefined (date), **"validationResultCode"**: <br>**Available values:** "VALID", **"clientVerificationReference"**:  } or { **"nameMatch"**: <br>**Available values:** "STRONG_MATCH", "PARTIAL_MATCH", "NO_MATCH", **"currencyCodes"**: , **"verificationId"**: , **"bankAccountName"**: , **"expectedPostingDate"**: undefined (date), **"validationResultCode"**: <br>**Available values:** "VALID_WITH_NETWORK", **"bankAccountNameTranslation"**: , **"clientVerificationReference"**:  } or { **"verificationId"**: , **"validationDetails"**: , **"validationResultCode"**: <br>**Available values:** "INVALID", **"clientVerificationReference"**:  } |  |  |

#### AccountQueryOnlyResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountQueryOnlyResponse | { **"payoutMethod"**: <br>**Available values:** "B", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"returnAmount"**: undefined (double), **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"serviceDetail"**: { **"traceable"**: , **"recallable"**: , **"paymentRail"**: <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**:  }, **"returnDateTime"**: undefined (date-time), **"returnPayoutId"**: , **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"returnCurrencyCode"**: , **"returnSourceAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: , **"description"**:  }, **"transactionDateTime"**: undefined (date-time), **"returnConversionRate"**: undefined (double), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**: , **"localSchemeTransactionId"**: , **"returnSourceCurrencyCode"**:  } } or { **"payoutMethod"**: <br>**Available values:** "B", **"transactionDetail"**: { **"status"**: <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorDetails"**:  } } or { **"payoutMethod"**: <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64) } } |  |  |

#### PayoutToWalletRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "W" | Originating Entity must indicate the payout method i.e. Wallet  Valid values: “W” – Visa Direct Wallet <br>*Enum:* `"W"` | No |
| senderDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", **"idNumber"**: string, **"idIssueCountry"**: string } ] } |  | Yes |
| recipientDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", **"idNumber"**: string, **"idIssueCountry"**: string } ] } |  | Yes |

#### ValidatePayoutResponse-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ValidatePayoutResponse-4 | { **"expectedPostingDate"**: undefined (date), **"validationResultCode"**: string, <br>**Available values:** "VALID" } or { **"expectedPostingDate"**: undefined (date), **"validationResultCode"**: string, <br>**Available values:** "VALID_WITH_NETWORK" } or { **"validationDetails"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ], **"validationResultCode"**: string, <br>**Available values:** "INVALID" } |  |  |

#### PayoutToWalletRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "W" | Originating Entity must indicate the payout method i.e. Wallet  Valid values: “W” – Visa Direct Wallet <br>*Enum:* `"W"` | No |
| senderDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"identificationList"**:  } |  | Yes |
| recipientDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } |  | Yes |

#### WalletPayoutOnlyRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: long, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: string, <br>**Available values:** "PREFUNDED", **"additionalData"**: [ { **"name"**: string, **"value"**: string } ], **"purposeOfPayment"**: string, **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"statementNarrative"**: string, **"senderSourceOfFunds"**: string, **"businessApplicationId"**: string, **"settlementCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"senderBeneficiaryRelationship"**: string } |  | Yes |

#### WalletPayoutOnlyRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: undefined (int64), **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"additionalData"**: , **"purposeOfPayment"**: , **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"statementNarrative"**: , **"senderSourceOfFunds"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**: , **"senderBeneficiaryRelationship"**:  } |  | Yes |

#### ExpectedPostingDateForValidate-1 Schema

This is an estimated date by which the payout should be posted to the recipient’s account. This date should be communicated to the sender and recipient (if possible) to ensure that they know when to expect the funds.

The EPD is a variable field that may alter between the responses of validate payout API and send payout API.

ISO20022 field name: Interbank Settlement Date

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ExpectedPostingDateForValidate-1 | undefined (date) | This is an estimated date by which the payout should be posted to the recipient’s account. This date should be communicated to the sender and recipient (if possible) to ensure that they know when to expect the funds.  The EPD is a variable field that may alter between the responses of validate payout API and send payout API.  ISO20022 field name: Interbank Settlement Date  |  |

**Example**
<pre>1980-02-01</pre>

#### SettlementOverdueDetails-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| vplContact |  | Contact information for VPL Client Support. | Yes |
| currencyCode |  | 3-character ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| totalAmountDue | undefined (double) | Total amount due by due date. | Yes |
| totalAmountOverdue | undefined (double) | Total amount currently overdue. This represents only the amounts that have actually breached their due date/time, excluding any future-dated amounts that are not yet due.  | Yes |
| originalDueDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |
| flexibleAccountFrozen |  | Indicates if the flexible account is frozen. | Yes |

#### DigitalAssetSenderIsIndividual Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| type | <br>**Available values:** "I", "C" | Identifies the type of sender - "I" for Individual  | Yes |
| lastName |  | Sender last name. The length of first name(s) and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name" <br>For 3rd party payments: "Debtor Name"  | Yes |
| firstName |  | Sender first name(s), include all first (given) names. The length of first name and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name" <br>For 3rd party payments: "Debtor Name"  | Yes |

#### AccountQuerySuccessResponse-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"status"**: string, <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"returnAmount"**: double, **"fundingStatus"**: string, <br>**Available values:** "FUNDED", "NOT_FUNDED", **"serviceDetail"**: { **"traceable"**: boolean, **"recallable"**: boolean, **"paymentRail"**: string, <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT" }, **"returnDateTime"**: dateTime, **"returnPayoutId"**: string, **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"returnCurrencyCode"**: string, **"returnSourceAmount"**: double, **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: string, **"description"**: string }, **"transactionDateTime"**: dateTime, **"returnConversionRate"**: double, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"returnSourceCurrencyCode"**: string } |  | Yes |

#### ExpectedPostingDateForValidate-2 Schema

This is an estimated date by which the payout should be posted to the recipient’s account. This date should be communicated to the sender and recipient (if possible) to ensure that they know when to expect the funds.

It is optional field, if exists, indicates expected posting date. 

The EPD is a variable field that may alter between the responses of validate payout API and send payout API.

ISO20022 field name: Interbank Settlement Date

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ExpectedPostingDateForValidate-2 | undefined (date) | This is an estimated date by which the payout should be posted to the recipient’s account. This date should be communicated to the sender and recipient (if possible) to ensure that they know when to expect the funds.  It is optional field, if exists, indicates expected posting date.   The EPD is a variable field that may alter between the responses of validate payout API and send payout API.  ISO20022 field name: Interbank Settlement Date  |  |

**Example**
<pre>1980-02-01</pre>

#### IndividualSenderIdentificationListAccount-2 Schema

Identification list of sender

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| IndividualSenderIdentificationListAccount-2 |  | Identification list of sender |  |

#### AccountNumber Schema

When present, this field contains recipient’s account number or alias at the bank.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountNumber |  | When present, this field contains recipient’s account number or alias at the bank. |  |

**Example**
<pre>3012345678901432</pre>

#### AccountQuerySuccessResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: string, <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: string, <br>**Available values:** "PREFUNDED", **"returnAmount"**: double, **"fundingStatus"**: string, <br>**Available values:** "FUNDED", "NOT_FUNDED", **"serviceDetail"**: { **"traceable"**: boolean, **"recallable"**: boolean, **"paymentRail"**: string, <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**: boolean }, **"returnDateTime"**: dateTime, **"returnPayoutId"**: string, **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"deliveredDateTime"**: dateTime, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"returnCurrencyCode"**: string, **"returnSourceAmount"**: double, **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: string, **"description"**: string }, **"transactionDateTime"**: dateTime, **"returnConversionRate"**: double, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"walletAdditionalDetails"**: { **"shareLink"**: string }, **"localSchemeTransactionId"**: string, **"returnSourceCurrencyCode"**: string } |  | Yes |

#### PayoutFailedAfter202InSendPayout-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorResponses"**: , **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64), **"notificationDateTime"**: undefined (date-time) } |  | Yes |

#### PayoutFailedAfter202InSendPayout-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: string, **"errorResponses"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ], **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"notificationDateTime"**: dateTime } |  | Yes |

#### AccountPayoutResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountPayoutResponse | { **"transactionDetail"**: { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: undefined (date-time), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**:  } } |  |  |

#### TransactionalStructuredRemittance Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TransactionalStructuredRemittance |  |  |  |

#### ValidatePayoutDigitalAssetRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"senderSourceOfFunds"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**:  } |  | Yes |

#### CurrentStatus-1 Schema

Indicates the current status of the currency. Only two values are allowed <br />
ENABLED – payouts in this currency are allowed. <br />
DISABLED – payouts in this currency are not allowed.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CurrentStatus-1 | string, <br>**Available values:** "ENABLED", "DISABLED" | Indicates the current status of the currency. Only two values are allowed <br /> ENABLED – payouts in this currency are allowed. <br /> DISABLED – payouts in this currency are not allowed.  |  |

**Example**
<pre>ENABLED</pre>

#### AccountQuerySuccessResponse-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"status"**: string, <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"returnAmount"**: double, **"fundingStatus"**: string, <br>**Available values:** "FUNDED", "NOT_FUNDED", **"serviceDetail"**: { **"traceable"**: boolean, **"recallable"**: boolean, **"paymentRail"**: string, <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT" }, **"returnDateTime"**: dateTime, **"returnPayoutId"**: string, **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"returnCurrencyCode"**: string, **"returnSourceAmount"**: double, **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: string, **"description"**: string }, **"transactionDateTime"**: dateTime, **"returnConversionRate"**: double, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"returnSourceCurrencyCode"**: string } |  | Yes |

#### ValidPayoutResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| verificationId |  | Unique verification identifier.<br>*Example:* `"5003f6a0-2c44-11b2-aa57-47378ae53313"` | No |
| validationDetails |  | comprehensive array of errors | No |
| expectedPostingDate | undefined (date) |  | No |
| validationResultCode | <br>**Available values:** "VALID" | - VALID - Visa's validation succeeds. <br>*Enum:* `"VALID"` | Yes |
| clientVerificationReference |  |  | No |

#### AccountQuerySuccessResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"returnAmount"**: undefined (double), **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"serviceDetail"**: { **"traceable"**: , **"recallable"**: , **"paymentRail"**: <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**:  }, **"returnDateTime"**: undefined (date-time), **"returnPayoutId"**: , **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"returnCurrencyCode"**: , **"returnSourceAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: , **"description"**:  }, **"transactionDateTime"**: undefined (date-time), **"returnConversionRate"**: undefined (double), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**: , **"walletAdditionalDetails"**: { **"shareLink"**:  }, **"localSchemeTransactionId"**: , **"returnSourceCurrencyCode"**:  } |  | Yes |

#### SettlementDueBreachedDetails Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| vplContact |  | Contact information for VPL Client Support. | Yes |
| currencyCode |  |  | Yes |
| totalAmountDue | undefined (double) | Total amount due by due date. | Yes |
| totalAmountOverdue | undefined (double) | Total amount currently overdue. This represents only the amounts that have actually breached their due date/time, excluding any future-dated amounts that are not yet due.  | Yes |
| originalDueDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |
| flexibleAccountFrozen |  | Indicates if the flexible account is frozen. | Yes |

#### SettlementOverdueDetails-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| vplContact | string | Contact information for VPL Client Support. | Yes |
| currencyCode | string |  | Yes |
| totalAmountDue | double | Total amount due by due date. | Yes |
| totalAmountOverdue | double | Total amount currently overdue. This represents only the amounts that have actually breached their due date/time, excluding any future-dated amounts that are not yet due.  | Yes |
| originalDueDateTime | dateTime | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |
| flexibleAccountFrozen | boolean | Indicates if the flexible account is frozen. | Yes |

#### DigitalAssetSenderTransactorDetailWithID-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DigitalAssetSenderTransactorDetailWithID-2 | { **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C" } |  |  |

#### DigitalAssetSenderTransactorDetailWithID-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DigitalAssetSenderTransactorDetailWithID-1 | { **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C" } |  |  |

#### NearLimitReachedDetails Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| currencyCode |  | 3-character ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| flexibleAmountLimit | undefined (double) | Liquidity limit. | Yes |
| flexibleAmountUtilized | undefined (double) | Amount of liquidity that has been utilized. | Yes |
| flexibleAmountRemaining | undefined (double) | Remaining amount of liquidity available. | Yes |

#### AccountRecipientIsCompany Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name |  | Recipient company name. <br>Must not contain exclusively numeric characters  ISO20022 field name: Creditor Name  | Yes |
| type | <br>**Available values:** "I", "C" | Identifies the type of recipient - "C" for Company   | Yes |
| address | { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  } |  | No |
| identificationList |  |  | No |

#### WalletQueryPendingOnlyCancelledResponse Schema

Transaction is in pending or cancelled (cancelled during pending) status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64) } |  | Yes |

#### SenderAdditionalData Schema

Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value)

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SenderAdditionalData |  | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) |  |

#### CompanyRecipientIdentificationListAccount-2 Schema

Identification list of recipient

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CompanyRecipientIdentificationListAccount-2 |  | Identification list of recipient |  |

#### ExposureInfoFlexibleSettlementNotification-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId | string | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | string, <br>**Available values:** "CLIENT_EXPOSURE" | The type of event that triggered the notification.<br>*Enum:* `"CLIENT_EXPOSURE"` | Yes |
| exposureInfo | [ { **"dueDateTime"**: dateTime, **"currencyCode"**: string, **"totalAmountDue"**: double, **"totalAmountOverdue"**: double, **"flexibleAmountLimit"**: double, **"originalDueDateTime"**: dateTime, **"flexibleAmountUtilized"**: double, **"flexibleAmountRemaining"**: double } ] |  | Yes |
| initiatingPartyId | long | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| notificationDateTime | dateTime | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### CompanyRecipientIdentificationListAccount-1 Schema

Identification list of recipient

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CompanyRecipientIdentificationListAccount-1 | [ { **"idType"**: string, <br>**Available values:** "T", "L", "I", **"idNumber"**: string, **"idIssueCountry"**: string } ] | Identification list of recipient |  |

#### industryCode Schema

Code describing the sender's type of industry or service. Only required in the following use case: Visa Direct for Wallet Business to Consumer payments. See the Wallet Payments Endpoint Guide for further details.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| industryCode |  | Code describing the sender's type of industry or service. Only required in the following use case: Visa Direct for Wallet Business to Consumer payments. See the Wallet Payments Endpoint Guide for further details.  |  |

**Example**
<pre>1400</pre>

#### WalletPayoutRequest-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: long, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"additionalData"**: [ { **"name"**: string, **"value"**: string } ], **"purposeOfPayment"**: string, **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"statementNarrative"**: string, **"senderSourceOfFunds"**: string, **"businessApplicationId"**: string, **"settlementCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"senderBeneficiaryRelationship"**: string } |  | Yes |

#### DigitalAssetCurrencyCode Schema

The cryptocurrency or fiat currency code

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DigitalAssetCurrencyCode | <br>**Available values:** "USDC" | The cryptocurrency or fiat currency code |  |

**Example**
<pre>USDC</pre>

#### WalletPayoutRequest-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: long, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"additionalData"**: [ { **"name"**: string, **"value"**: string } ], **"purposeOfPayment"**: string, **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"statementNarrative"**: string, **"senderSourceOfFunds"**: string, **"businessApplicationId"**: string, **"settlementCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"senderBeneficiaryRelationship"**: string } |  | Yes |

#### WalletPayoutRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: long, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: string, <br>**Available values:** "PREFUNDED", **"additionalData"**: [ { **"name"**: string, **"value"**: string } ], **"purposeOfPayment"**: string, **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"statementNarrative"**: string, **"senderSourceOfFunds"**: string, **"businessApplicationId"**: string, **"settlementCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"senderBeneficiaryRelationship"**: string } |  | Yes |

#### ReturnReasonDetails Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| code |  |  | Yes |
| description |  | Indicates the PSP return description when the payout is returned. Refer to PSP Return Description  ISO20022 field name: Payment Return - PSP Return Description  | No |

#### WalletPayoutRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: undefined (int64), **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"additionalData"**: , **"purposeOfPayment"**: , **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"statementNarrative"**: , **"senderSourceOfFunds"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**: , **"senderBeneficiaryRelationship"**:  } |  | Yes |

#### DigitalAssetLedgerCurrencyCode-1 Schema

The cryptocurrency or fiat currency code

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DigitalAssetLedgerCurrencyCode-1 | string, <br>**Available values:** "USDC", "PYUSD" | The cryptocurrency or fiat currency code |  |

**Example**
<pre>USDC</pre>

#### DigitalAssetCompanyRecipientIdentificationListWallet-2 Schema

Identification list of recipient

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DigitalAssetCompanyRecipientIdentificationListWallet-2 |  | Identification list of recipient |  |

#### DigitalAssetCompanyRecipientIdentificationListWallet-1 Schema

Identification list of recipient

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DigitalAssetCompanyRecipientIdentificationListWallet-1 | [ { **"idType"**: string, <br>**Available values:** "T", "L", **"idNumber"**: string, **"idIssueCountry"**: string } ] | Identification list of recipient |  |

#### AccountBalanceWithTimestamp Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId |  |  | Yes |
| balanceTimestamp | undefined (date-time) |  | No |
| lastTransactionTimestamp | undefined (date-time) | The timestamp of the last money movement on the client's account.   This is a valid ISO 8601 timestamp, such as YYYY-MM-DDThh:mm:ss.sss±hh:mm.  | No |

#### AccountVerifyResponse-1 Schema

This object is only present if verificationStatus is COMPLETED

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| verificationId | string | Unique verification identifier.<br>*Example:* `"5003f6a0-2c44-11b2-aa57-47378ae53313"` | Yes |
| verificationStatus | string, <br>**Available values:** "COMPLETED", "NOT_COMPLETED" | Provides the status of verification request. * COMPLETED - Request was completed and result is available. * NOT_COMPLETED - Service Provider not available. <br>*Enum:* `"COMPLETED"`, `"NOT_COMPLETED"`<br>*Example:* `"COMPLETED"` | Yes |
| verificationDetails | { **"code"**: integer, **"message"**: string, **"location"**: string or null } |  | No |
| accountVerificationDetail | { **"nameMatch"**: string, <br>**Available values:** "Strong_Match", "Partial_Match", "No_Match" or null, **"currencyCodes"**: [ string ], **"bankAccountName"**: string or null, **"accountIdentifierMatch"**: string, **"bankAccountNameTranslation"**: string } |  | No |
| clientVerificationReference | string |  | Yes |

#### AccountVerifyResponse-2 Schema

This object is only present if verificationStatus is COMPLETED

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| verificationId |  | Unique verification identifier.<br>*Example:* `"5003f6a0-2c44-11b2-aa57-47378ae53313"` | Yes |
| verificationStatus | <br>**Available values:** "COMPLETED", "NOT_COMPLETED" | Provides the status of verification request. * COMPLETED - Request was completed and result is available. * NOT_COMPLETED - Service Provider not available. <br>*Enum:* `"COMPLETED"`, `"NOT_COMPLETED"`<br>*Example:* `"COMPLETED"` | Yes |
| accountVerificationDetail | { **"bankCode"**:  or null, **"nameMatch"**: <br>**Available values:** "STRONG_MATCH", "PARTIAL_MATCH", "NO_MATCH", **"accountType"**:  or null, **"currencyCodes"**: , **"bankAccountName"**:  or null, **"verificationDetails"**: { **"code"**: , **"message"**: , **"location"**:  or null } or null, **"accountIdentifierMatch"**: <br>**Available values:** "YES", "NO" or null, **"bankAccountHolderLastName"**:  or null, **"bankAccountHolderFirstName"**:  or null, **"bankAccountNameTranslation"**:  or null } | This object is only present if verificationStatus is COMPLETED | No |
| clientVerificationReference |  | A client submitted identifier. This field and same value will be returned in the response.<br>*Example:* `"1234567890"` | Yes |

#### ReturnReasonCodeDetailsType-2 Schema

Indicates the PSP return type when the payout is returned. Refer to PSP Return Type (add link to VDP)

ISO20022 field name: Payment Return - PSP Return Type

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ReturnReasonCodeDetailsType-2 | string, <br>**Available values:** "REJECTED", "RETURNED" | Indicates the PSP return type when the payout is returned. Refer to PSP Return Type (add link to VDP)  ISO20022 field name: Payment Return - PSP Return Type  |  |

#### DateOfBirth Schema

This field should contain recipient’s date of birth.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DateOfBirth | undefined (date) | This field should contain recipient’s date of birth. |  |

**Example**
<pre>1980-02-01</pre>

#### PayoutFailedAfter202InSendPayout Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorResponses"**: , **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64), **"notificationDateTime"**: undefined (date-time) } |  | Yes |

#### RecipientIndividual Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name | string | Full name of recipient, conditionally required when firstName and lastName are not provided<br>*Example:* `"Joe Smith"` | No |
| type | string, <br>**Available values:** "I", "C" | Identifies the type of recipient - "I" for Individual   ISO20022 field name: Creditor Identification Type         | Yes |
| address | { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } |  | No |
| lastName | string | Recipient last name, conditionally required when name is not provided  ISO20022 field name: Creditor Last Name  | No |
| firstName | string | Recipient first name, conditionally required when name is not provided  ISO20022 field name: Creditor First Name  | No |
| cityOfBirth | string | Recipient city of birth  ISO20022 field name: Creditor City of Birth  | No |
| dateOfBirth | date | Recipient date of birth (Format: "YYYY-MM-DD", e.g. "1980-02-01")  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Birth Date  | No |
| countryOfBirth | string | Recipient country of birth  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  Format: 3-character ISO-3166 (Alpha-3) country code  ISO20022 field name: Creditor Country of Birth  | No |

#### IdentityFieldInput-1 Schema

Supported input types for a recipient identity UI.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| IdentityFieldInput-1 | string, <br>**Available values:** "text", "date", "number", "list" | Supported input types for a recipient identity UI. |  |

#### AccountQuerySuccessResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"returnAmount"**: undefined (double), **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"serviceDetail"**: { **"traceable"**: , **"recallable"**: , **"paymentRail"**: <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**:  }, **"returnDateTime"**: undefined (date-time), **"returnPayoutId"**: , **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"returnCurrencyCode"**: , **"returnSourceAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: , **"description"**:  }, **"transactionDateTime"**: undefined (date-time), **"returnConversionRate"**: undefined (double), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**: , **"walletAdditionalDetails"**: { **"shareLink"**:  }, **"localSchemeTransactionId"**: , **"returnSourceCurrencyCode"**:  } |  | Yes |

#### DigitalAssetCompanyRecipientIdentificationListWallet Schema

Identification list of recipient

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DigitalAssetCompanyRecipientIdentificationListWallet |  | Identification list of recipient |  |

#### AmountWithZero Schema

This field only applies to 'THRESHOLD' and 'LIQUIDITY_FAILURE' eventType. Threshold value would be zero for LIQUIDITY_FAILURE eventType.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AmountWithZero | undefined (double) | This field only applies to 'THRESHOLD' and 'LIQUIDITY_FAILURE' eventType. Threshold value would be zero for LIQUIDITY_FAILURE eventType.  |  |

**Example**
<pre>12.34</pre>

#### SettlementDueBreachedFlexibleSettlementNotification Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId |  | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | <br>**Available values:** "SETTLEMENT_DUE_BREACHED" | The type of event that triggered the notification.<br>*Enum:* `"SETTLEMENT_DUE_BREACHED"` | Yes |
| nextDueDetails |  |  | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| notificationDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### FullNameInUnspecifiedIdentityType Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| FullNameInUnspecifiedIdentityType |  |  |  |

#### IdentityField-1 Schema

Each IdentityField would normally be displayed in the UI from left to right based on the tabOrder attribute. The IdentityField element contains the attributes described below:-

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| locale | string | The localization setting of this particular record. | Yes |
| maxSize | integer | Suggested client side syntactic validation rule. | No |
| subTitle | string | If present contains a sub-label to be displayed with the field. | No |
| tabOrder | integer | Indicates the ordering of this field in the UI. | No |
| inputType | string, <br>**Available values:** "text", "date", "number", "list" | Supported input types for a recipient identity UI.<br>*Enum:* `"text"`, `"date"`, `"number"`, `"list"` | Yes |
| listItems | [ { **"label"**: string, **"value"**: string } ] | The identityListItems contain listItem sub-elements. The listItem sub-elements would normally be present where the inputType attribute is 'list'. | No |
| mandatory | boolean | Indicates whether the field is mandatory. | Yes |
| separator | string | The separator to display following (to the right hand side) this field, usually '-' or '/'. | No |
| description | string | Suggested roll-over or help text description to assist users. | Yes |
| displaySize | integer | A suggested field size to display. | No |
| elementName | string | The name of the element. | Yes |
| valueRegexp | string | The regexp for the value of this field. | No |

#### IdType Schema

When present, this field contains the type of identification document.

Valid values:
* `P` - Passport
* `D` - Driving License
* `N` - National Id
* `T` - Tax Id
* `L` - Legal Entity Registration Number
* `F` - Foreign Id

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| IdType | <br>**Available values:** "P", "D", "N", "T", "L", "F" | When present, this field contains the type of identification document.  Valid values: * `P` - Passport * `D` - Driving License * `N` - National Id * `T` - Tax Id * `L` - Legal Entity Registration Number * `F` - Foreign Id  |  |

**Example**
<pre>P</pre>

#### PendingCancelledTransactionStatus Schema

- PENDING: Payout is accepted but has not been acknowledged
- PENDING_CANCELLATION: Cancel payout status is pending
- CANCELLED - Payout is cancelled when in pending status

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PendingCancelledTransactionStatus | <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED" | - PENDING: Payout is accepted but has not been acknowledged - PENDING_CANCELLATION: Cancel payout status is pending - CANCELLED - Payout is cancelled when in pending status  |  |

#### AddressLine2-1 Schema

This field contains individual recipient's 2nd line of address.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AddressLine2-1 | string | This field contains individual recipient's 2nd line of address. |  |

#### AddressLine2-2 Schema

This field contains individual recipient's 2nd line of address.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AddressLine2-2 |  | This field contains individual recipient's 2nd line of address. |  |

**Example**
<pre>#999</pre>

#### ReturnReasonCode-2 Schema

If the Transaction Status is RETURNED or REJECTED then Return reason code will be populated

ISO20022 field name: Payment Return - Reason Code  

Codes and descriptions please refer to Visa Payment Guide

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ReturnReasonCode-2 | string | If the Transaction Status is RETURNED or REJECTED then Return reason code will be populated  ISO20022 field name: Payment Return - Reason Code    Codes and descriptions please refer to Visa Payment Guide  |  |

**Example**
<pre>RE101</pre>

#### ReturnReasonCode-3 Schema

If the Transaction Status is RETURNED or REJECTED then Return reason code will be populated

ISO20022 field name: Payment Return - Reason Code  

For a complete list of reject/return codes and descriptions please visit <a href='/capabilities/visa-direct-account-and-wallet/docs-error-codes'>Visa Direct Account and Wallet - Error Codes</a> 

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ReturnReasonCode-3 | string | If the Transaction Status is RETURNED or REJECTED then Return reason code will be populated  ISO20022 field name: Payment Return - Reason Code    For a complete list of reject/return codes and descriptions please visit <a href='/capabilities/visa-direct-account-and-wallet/docs-error-codes'>Visa Direct Account and Wallet - Error Codes</a>   |  |

**Example**
<pre>RE303</pre>

#### ReturnReasonCode-1 Schema

If the Transaction Status is RETURNED or REJECTED then Return reason code will be populated

ISO20022 field name: Payment Return - Reason Code  

For a complete list of reject/return codes and descriptions please visit <a href='/capabilities/visa-direct-account-and-wallet/docs-error-codes'>Visa Direct Account and Wallet - Error Codes</a>

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ReturnReasonCode-1 | string | If the Transaction Status is RETURNED or REJECTED then Return reason code will be populated  ISO20022 field name: Payment Return - Reason Code    For a complete list of reject/return codes and descriptions please visit <a href='/capabilities/visa-direct-account-and-wallet/docs-error-codes'>Visa Direct Account and Wallet - Error Codes</a>  |  |

**Example**
<pre>RE303</pre>

#### PayoutNotificationReceivedRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: string, **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: dateTime, **"notificationDateTime"**: dateTime, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string } |  | Yes |

#### AlphaCountryCode-1 Schema

3-character ISO-3166 (Alpha-3) country code.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AlphaCountryCode-1 | string | 3-character ISO-3166 (Alpha-3) country code. |  |

**Example**
<pre>USA</pre>

#### PayoutAccountRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. To Account or Wallet  Valid values: “B” – Visa Direct Account  | Yes |
| senderDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "U", **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } |  | Yes |
| recipientDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "U", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } |  | Yes |

#### AccountSenderTransactorDetailWithID Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountSenderTransactorDetailWithID | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "U", **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } |  |  |

#### WalletVerificationDetail Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| nameMatch | <br>**Available values:** "STRONG_MATCH", "NO_MATCH", "NOT_SUPPORTED" | Indicates if recipient name matches the wallet account name - STRONG_MATCH: The recipient name matches the wallet account holder name with high confidence. - NO_MATCH: The recipient name does not match the wallet account holder name.     - NOT_SUPPORTED: The Wallet Operator does not support name matching functionality. <br>*Enum:* `"STRONG_MATCH"`, `"NO_MATCH"`, `"NOT_SUPPORTED"` | No |
| accountIdentifierMatch |  | Indicates if the account identifier matches the recipient's wallet account identifier - YES: Valid - NO: Not valid  | Yes |

#### AccountName Schema

When present, this field contains recipient’s account name at the bank.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountName |  | When present, this field contains recipient’s account name at the bank. |  |

**Example**
<pre>John Doe</pre>

#### ValidatePayoutAccountOnlyRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: undefined (int64), **"endToEndId"**: , **"paymentRail"**: <br>**Available values:** "SWIFT", **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"additionalData"**: , **"purposeOfPayment"**: , **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"statementNarrative"**: , **"senderSourceOfFunds"**: , **"structuredRemittance"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**: , **"senderBeneficiaryRelationship"**:  } |  | Yes |
| accountVerificationRequired |  | Indicates whether account verification services are required.If True, account will be verified.If False, account verification will be skipped. Applicable only for Accounts. | No |
| clientVerificationReference |  | A client submitted identifier. This field and same value will be returned in the response.  Conditional: Required if accountVerificationRequired = True  | No |

#### CompanyIdTypeWallet-2 Schema

When present, this field contains the type of identification document.

Valid values:
* `T` - Tax Id
* `L` - Legal Entity Registration Number

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CompanyIdTypeWallet-2 | <br>**Available values:** "T", "L" | When present, this field contains the type of identification document.  Valid values: * `T` - Tax Id * `L` - Legal Entity Registration Number  |  |

**Example**
<pre>T</pre>

#### ValidatePayoutDigitalAssetRequestAltered-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"senderSourceOfFunds"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**:  } |  | Yes |

#### AccountPayoutOnlyRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: undefined (int64), **"endToEndId"**: , **"paymentRail"**: <br>**Available values:** "SWIFT", **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"additionalData"**: , **"purposeOfPayment"**: , **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"statementNarrative"**: , **"senderSourceOfFunds"**: , **"structuredRemittance"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**: , **"senderBeneficiaryRelationship"**:  } |  | Yes |

#### ValidatePayoutDigitalAssetRequestAltered-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"senderSourceOfFunds"**: string, **"businessApplicationId"**: string, **"settlementCurrencyCode"**: string, **"transactionCurrencyCode"**: string } |  | Yes |

#### SenderIndividual-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name | string | Full name of sender is conditionally required when "firstName" and "lastName" are not provided.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name" <br>For 3rd party payments: "Debtor Name"  | No |
| type | string, <br>**Available values:** "I", "C" | Identifies the type of sender - "I" for Individual   | Yes |
| lastName | string | Sender last name<br>Sender first name and last name are conditionally required when "name" is not provided. The length of first name and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name" <br>For 3rd party payments: "Debtor Name"  | No |
| firstName | string | Sender first name<br>Sender first name and last name are conditionally required when "name" is not provided. The length of first name and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name" <br>For 3rd party payments: "Debtor Name"  | No |
| cityOfBirth | string | Sender city of birth  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor City of Birth" <br>For 3rd party payments: "Debtor City of Birth"  | No |
| dateOfBirth | date | Sender date of birth (Format: "YYYY-MM-DD", e.g. "1980-02-01")  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Birth Date" <br>For 3rd party payments: "Debtor Birth Date"  | No |
| countryOfBirth | string | Sender country of birth  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  Format: 3-character ISO-3166 (Alpha-3) country code  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Country of Birth" <br>For 3rd party payments: "Debtor Country of Birth"  | No |

#### ValidatePayoutAccountOnlyRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: long, **"endToEndId"**: string, **"paymentRail"**: string, <br>**Available values:** "SWIFT", **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: string, <br>**Available values:** "PREFUNDED", **"additionalData"**: [ { **"name"**: string, **"value"**: string } ], **"purposeOfPayment"**: string, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"statementNarrative"**: string, **"senderSourceOfFunds"**: string, **"structuredRemittance"**: [ { **"amount"**: double, **"taxAmount"**: double, **"taxCurrencyCode"**: string, **"creditorReference"**: { **"code"**: string, <br>**Available values:** "RADM", "RPIN", "FXDR", "DISP", "PUOR", "SCOR", **"number"**: string }, **"amountCurrencyCode"**: string, **"referredDocumentInformation"**: [ { **"code"**: string, <br>**Available values:** "MSIN", "CNFA", "DNFA", "CINV", "CREN", "DEBN", "HIRI", "SBIN", "CMCN", "SOAC", "DISP", "BOLD", "VCHR", "AROI", "TSUT", "PUOR", **"number"**: string, **"relatedDate"**: date } ] } ], **"businessApplicationId"**: string, **"settlementCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"senderBeneficiaryRelationship"**: string } |  | Yes |
| accountVerificationRequired | boolean | Indicates whether account verification services are required.If True, account will be verified.If False, account verification will be skipped. Applicable only for Accounts. | No |

#### CompanyIdTypeAccount-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CompanyIdTypeAccount-1 | string, <br>**Available values:** "T", "L", "I" |  |  |

#### ValidatePayoutAccountOnlyRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: undefined (int64), **"endToEndId"**: , **"paymentRail"**: <br>**Available values:** "SWIFT", **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"additionalData"**: , **"purposeOfPayment"**: , **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"statementNarrative"**: , **"senderSourceOfFunds"**: , **"structuredRemittance"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**: , **"senderBeneficiaryRelationship"**:  } |  | Yes |
| accountVerificationRequired |  | Indicates whether account verification services are required.If True, account will be verified.If False, account verification will be skipped. Applicable only for Accounts. | No |
| clientVerificationReference |  | A client submitted identifier. This field and same value will be returned in the response.  Conditional: Required if accountVerificationRequired = True  | No |

#### StatementNarrative Schema

Originating Entity is advised to provide a narrative that helps the recipient clearly identify the sender and reason for the payment. Text will be displayed on the recipient’s statement when the payment gets posted to the recipient’s account or wallet statement. 
Not all wallet operators support a statement narrative.

Conditional - (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths).

ISO20022 field name: Remittance Information Unstructured

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| StatementNarrative |  | Originating Entity is advised to provide a narrative that helps the recipient clearly identify the sender and reason for the payment. Text will be displayed on the recipient’s statement when the payment gets posted to the recipient’s account or wallet statement.  Not all wallet operators support a statement narrative.  Conditional - (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths).  ISO20022 field name: Remittance Information Unstructured  |  |

**Example**
<pre>testing narrative</pre>

#### ServiceDetail Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| traceable |  | Indicates if a payout transaction is traceable | No |
| recallable |  | Indicates if a payout transaction is recallable | No |
| paymentRail | <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT" | Indicates the payment rail used for the payout transaction<br>*Enum:* `"ACH"`, `"RTP"`, `"RTGS"`, `"SWIFT"` | No |
| isFinalStatus |  | Only populated at PAYMENT_SENT status. If 'false' indicates that network partner will provide any of the following status 'PAYMENT_DELIVERED', 'DELIVERED_TO_SCHEME', 'DELIVERED_TO_RECIPIENT_BANK'. | No |

#### PayoutReturnRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: string, <br>**Available values:** "REJECTED", "RETURNED", **"endToEndId"**: string, **"returnAmount"**: double, **"returnDateTime"**: dateTime, **"returnPayoutId"**: string, **"originalPayoutId"**: string, **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"returnCurrencyCode"**: string, **"returnSourceAmount"**: double, **"returnReasonDetails"**: { **"code"**: string, **"description"**: string }, **"returnConversionRate"**: double, **"returnSourceCurrencyCode"**: string } |  | Yes |

#### PayoutReturnRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "REJECTED", "RETURNED", **"endToEndId"**: , **"returnAmount"**: undefined (double), **"returnDateTime"**: undefined (date-time), **"returnPayoutId"**: , **"originalPayoutId"**: , **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64), **"returnCurrencyCode"**: , **"returnSourceAmount"**: undefined (double), **"returnReasonDetails"**: { **"code"**: , **"description"**:  }, **"returnConversionRate"**: undefined (double), **"returnSourceCurrencyCode"**:  } |  | Yes |

#### PayoutReturnRequest-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: string, <br>**Available values:** "REJECTED", "RETURNED", **"endToEndId"**: string, **"returnAmount"**: double, **"returnDateTime"**: dateTime, **"returnPayoutId"**: string, **"originalPayoutId"**: string, **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"returnCurrencyCode"**: string, **"returnSourceAmount"**: double, **"returnReasonDetails"**: { **"code"**: string, **"description"**: string }, **"returnConversionRate"**: double, **"returnSourceCurrencyCode"**: string } |  | Yes |

#### RecipientIsIndividual-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name |  | Full name of recipient is conditionally required when "firstName" and "lastName" are not provided.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table><br>*Example:* `"Joe Smith"` | No |
| type | <br>**Available values:** "I", "C" | Identifies the type of recipient - "I" for Individual and "C" for Company.   | Yes |
| address | { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  } |  | No |
| lastName |  | Recipient last name<br>Recipient first name and last name are conditionally required when "name" is not provided. The length of first name and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name: Creditor Name  | No |
| firstName |  | Recipient first name(s), include all first (given) names<br>Recipient first name(s) and last name are conditionally required when "name" is not provided. The length of first name(s) and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name: Creditor Name  | No |
| cityOfBirth |  | Recipient city of birth  ISO20022 field name: Creditor City of Birth  | No |
| dateOfBirth | undefined (date) | Recipient date of birth (Format: "YYYY-MM-DD", e.g. "1980-02-01")  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Birth Date  | No |
| countryOfBirth |  | Recipient country of birth  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  Format: 3-character ISO-3166 (Alpha-3) country code  ISO20022 field name: Creditor Country of Birth  | No |
| identificationList |  | Identification list of recipient | No |

#### RecipientIsIndividual-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name | string | Full name of recipient is conditionally required when "firstName" and "lastName" are not provided.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table><br>*Example:* `"Joe Smith"` | No |
| type | string, <br>**Available values:** "I", "C" | Identifies the type of recipient - "I" for Individual and "C" for Company.   | Yes |
| address | { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } |  | No |
| lastName | string | Recipient last name<br>Recipient first name and last name are conditionally required when "name" is not provided. The length of first name and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name: Creditor Name  | No |
| firstName | string | Recipient first name(s), include all first (given) names<br>Recipient first name(s) and last name are conditionally required when "name" is not provided. The length of first name(s) and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name: Creditor Name  | No |
| cityOfBirth | string | Recipient city of birth  ISO20022 field name: Creditor City of Birth  | No |
| dateOfBirth | date | Recipient date of birth (Format: "YYYY-MM-DD", e.g. "1980-02-01")  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Birth Date  | No |
| countryOfBirth | string | Recipient country of birth  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  Format: 3-character ISO-3166 (Alpha-3) country code  ISO20022 field name: Creditor Country of Birth  | No |
| identificationList | [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] | Identification list of recipient | No |

#### AccountSenderIsCompany Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name |  | Sender company name. <br>Must not contain exclusively numeric characters  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name"<br>For 3rd party payments: "Debtor Name"  | Yes |
| type | <br>**Available values:** "I", "C" | Identifies the type of sender - "C" for Company   | Yes |
| identificationList |  | Identification list of sender | No |

#### PayoutIdentifier-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayoutIdentifier-1 | string or string |  |  |

#### PayoutIdentifier-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayoutIdentifier-2 | string or string |  |  |

#### DeliveredDateTime-1 Schema

Optional.
Applicable for statuses PAYMENT_DELIVERED, DELIVERED_TO_SCHEME and DELIVERED_TO_RECIPIENT_BANK, when available.

ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00

Example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DeliveredDateTime-1 | dateTime | Optional. Applicable for statuses PAYMENT_DELIVERED, DELIVERED_TO_SCHEME and DELIVERED_TO_RECIPIENT_BANK, when available.  ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  Example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  |  |

#### DigitalAssetRecipientIsIndividual-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| type | <br>**Available values:** "I", "C" | Identifies the type of recipient - "I" for Individual and "C" for Company.   | Yes |
| address | { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  } |  | Yes |
| lastName |  | Recipient last name<br>Recipient last name. The length of first name and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name: Creditor Name  | Yes |
| firstName |  | Recipient first name(s), include all first (given) names<br> The length of first name(s) and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name: Creditor Name  | Yes |
| dateOfBirth | undefined (date) | Recipient date of birth (Format: "YYYY-MM-DD", e.g. "1980-02-01")  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Birth Date  | Yes |
| identificationList |  | Identification list of recipient | No |

#### CompanySenderIdentificationListWallet Schema

Identification list of sender

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CompanySenderIdentificationListWallet |  | Identification list of sender |  |

#### DigitalAssetRecipientIsIndividual-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| type | string, <br>**Available values:** "I", "C" | Identifies the type of recipient - "I" for Individual and "C" for Company.   | Yes |
| address | { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } |  | Yes |
| lastName | string | Recipient last name<br>Recipient last name. The length of first name and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name: Creditor Name  | Yes |
| firstName | string | Recipient first name(s), include all first (given) names<br> The length of first name(s) and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name: Creditor Name  | Yes |
| dateOfBirth | date | Recipient date of birth (Format: "YYYY-MM-DD", e.g. "1980-02-01")  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Birth Date  | Yes |
| identificationList | [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] | Identification list of recipient | No |

#### PurposeOfPayments-2 Schema

This group contains all configuration information for Purpose of Payment options. The 'mandatory' attribute indicates whether provision of Purpose of Payment data is required for the Payout to be accepted.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| mandatory | boolean | Whether the purpose of payment is mandatory.<br>*Example:* `true` | Yes |
| purposeOfPaymentCodes | [ { **"code"**: string, **"description"**: string, **"senderCompany"**: boolean, **"recipientCompany"**: boolean, **"senderIndividual"**: boolean, **"recipientIndividual"**: boolean } ] | List of valid purpose of payment codes. | No |

#### PurposeOfPayments-1 Schema

This group contains all configuration information for Purpose of Payment options. The 'mandatory' attribute indicates whether provision of Purpose of Payment data is required for the Payout to be accepted.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| mandatory | boolean | Whether the purpose of payment is mandatory.<br>*Example:* `true` | Yes |
| purposeOfPaymentCodes | [ { **"code"**: string, **"description"**: string, **"senderCompany"**: boolean, **"recipientCompany"**: boolean, **"senderIndividual"**: boolean, **"recipientIndividual"**: boolean } ] | List of valid purpose of payment codes. | No |

#### CompanyIdTypeWallet-1 Schema

When present, this field contains the type of identification document.

Valid values:
* `T` - Tax Id
* `L` - Legal Entity Registration Number

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CompanyIdTypeWallet-1 | string, <br>**Available values:** "T", "L" | When present, this field contains the type of identification document.  Valid values: * `T` - Tax Id * `L` - Legal Entity Registration Number  |  |

**Example**
<pre>P</pre>

#### WalletRecipientTransactorDetailWithID Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| WalletRecipientTransactorDetailWithID | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } |  |  |

#### TransactionDetailMetadata-2 Schema

TransactionDetail Object                

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| purposeOfPayment | { **"mandatory"**: boolean, **"purposeOfPaymentCodes"**: [ { **"code"**: string, **"description"**: string, **"senderCompany"**: boolean, **"recipientCompany"**: boolean, **"senderIndividual"**: boolean, **"recipientIndividual"**: boolean } ] } | This group contains all configuration information for Purpose of Payment options. The 'mandatory' attribute indicates whether provision of Purpose of Payment data is required for the Payout to be accepted. | Yes |

#### RecipientAccountPayoutAddress-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city | string | Recipient address city  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Town Name  | No |
| state | string | Recipient address state or province  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Country Sub-division  | No |
| country | string | Recipient address country  Format: 3-character ISO-3166 (Alpha-3) country code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Country  | No |
| postalCode | string | Recipient address postal code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Postal Code  | No |
| addressLine1 | string | Recipient address line 1  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Street Name   | No |
| addressLine2 | string | Recipient address line 2  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Floor  | No |

#### TransactionDetailMetadata-1 Schema

TransactionDetail Object

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| purposeOfPayment | { **"mandatory"**: boolean, **"purposeOfPaymentCodes"**: [ { **"code"**: string, **"description"**: string, **"senderCompany"**: boolean, **"recipientCompany"**: boolean, **"senderIndividual"**: boolean, **"recipientIndividual"**: boolean } ] } | This group contains all configuration information for Purpose of Payment options. The 'mandatory' attribute indicates whether provision of Purpose of Payment data is required for the Payout to be accepted. | Yes |

#### RecipientAccountPayoutAddress-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city | string | Recipient address city  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Town Name  | No |
| state | string | Recipient address state or province  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Country Sub-division  | No |
| country | string | Recipient address country  Format: 3-character ISO-3166 (Alpha-3) country code  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Country  | No |
| postalCode | string | Recipient address postal code  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Postal Code  | No |
| addressLine1 | string | Recipient address line 1  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Line 1  | No |
| addressLine2 | string | Recipient address line 2  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Line 2  | No |

#### Amount Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| Amount | undefined (double) |  |  |

**Example**
<pre>12.34</pre>

#### TransactionDetailMetadata-3 Schema

TransactionDetail Object                

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| purposeOfPayment | { **"mandatory"**: boolean, **"purposeOfPaymentCodes"**: [ { **"code"**: string, **"description"**: string, **"senderCompany"**: boolean, **"recipientCompany"**: boolean, **"senderIndividual"**: boolean, **"recipientIndividual"**: boolean } ] } | This group contains all configuration information for Purpose of Payment options. The 'mandatory' attribute indicates whether provision of Purpose of Payment data is required for the Payout to be accepted. | Yes |

#### AccountSenderTransactorDetailWithID-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountSenderTransactorDetailWithID-2 | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "U", **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } |  |  |

#### AccountSenderTransactorDetailWithID-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountSenderTransactorDetailWithID-1 | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", "I", **"idNumber"**: string, **"idIssueCountry"**: string } ] } |  |  |

#### DigitalAssetValidateWalletTransactionDetail Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| initiatingPartyId | undefined (int64) |  | Yes |
| transactionAmount | undefined (double) | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| senderSourceOfFunds |  | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.  ISO20022 field name: Debtor Account Type  | No |
| businessApplicationId |  | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode |  | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode |  | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |

#### AccountNumber-3 Schema

When present, this field contains recipient’s account number at the bank.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountNumber-3 | string | When present, this field contains recipient’s account number at the bank. |  |

**Example**
<pre>3012345678901432</pre>

#### AccountRecipientTypeIsUnspecified-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name |  | Recipient company name. Full name is conditionally required when "firstName" and "lastName" are not provided. <br>Must have at least 3 chars<br>Must not contain exclusively numeric characters<br>Must not contain special symbols<br> <table>  <tr>  <td>!</td><td>"</td><td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name: Creditor Name  | No |
| type | <br>**Available values:** "U" | Identifies the type of recipient - "U" for Unspecified(whether Individual or Company). <br>*Enum:* `"U"` | Yes |
| address | { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  } |  | No |
| cityOfBirth |  | Recipient city of birth  ISO20022 field name: Creditor City of Birth  | No |
| dateOfBirth | undefined (date) | Recipient date of birth (Format: "YYYY-MM-DD", e.g. "1980-02-01")  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Birth Date  | No |
| countryOfBirth |  | Recipient country of birth  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  Format: 3-character ISO-3166 (Alpha-3) country code  ISO20022 field name: Creditor Country of Birth  | No |
| identificationList |  | Identification list of recipient | No |

#### DigitalAssetSenderTransactorDetailWithID Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DigitalAssetSenderTransactorDetailWithID | { **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C" } |  |  |

#### AccountNumber-2 Schema

When present, this field contains recipient’s account number or alias at the bank.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountNumber-2 |  | When present, this field contains recipient’s account number or alias at the bank. |  |

**Example**
<pre>3012345678901432</pre>

#### AccountNumber-1 Schema

When present, this field contains recipient’s account number or alias at the bank.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountNumber-1 | string | When present, this field contains recipient’s account number or alias at the bank. |  |

**Example**
<pre>3012345678901432</pre>

#### nameMatch-1 Schema

Score provided based on recipient’s name match, if recipient’s account is found and active. Supports below values: STRONG_MATCH,PARTIAL_MATCH and NO_MATCH. STRONG_MATCH - Recipient’s account found and name is a highly confident match. PARTIAL_MATCH - Recipient’s account found and name is a partial match. NO_MATCH - Recipient’s account found but name is likely not a match. Applicable only for Accounts.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| nameMatch-1 | string, <br>**Available values:** "STRONG_MATCH", "PARTIAL_MATCH", "NO_MATCH" | Score provided based on recipient’s name match, if recipient’s account is found and active. Supports below values: STRONG_MATCH,PARTIAL_MATCH and NO_MATCH. STRONG_MATCH - Recipient’s account found and name is a highly confident match. PARTIAL_MATCH - Recipient’s account found and name is a partial match. NO_MATCH - Recipient’s account found but name is likely not a match. Applicable only for Accounts.  |  |

#### IdentityField Schema

Each IdentityField would normally be displayed in the UI from left to right based on the tabOrder attribute. The IdentityField element contains the attributes described below:-

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| locale |  | The localization setting of this particular record. | Yes |
| maxSize | undefined (int32) | Suggested client side syntactic validation rule. | No |
| subTitle |  | If present contains a sub-label to be displayed with the field. | No |
| tabOrder | undefined (int32) | Indicates the ordering of this field in the UI. | No |
| inputType | <br>**Available values:** "text", "date", "number", "list" | Supported input types for a recipient identity UI.<br>*Enum:* `"text"`, `"date"`, `"number"`, `"list"` | Yes |
| listItems |  | The identityListItems contain listItem sub-elements. The listItem sub-elements would normally be present where the inputType attribute is 'list'. | No |
| mandatory |  | Indicates whether the field is mandatory. | Yes |
| separator |  | The separator to display following (to the right hand side) this field, usually '-' or '/'. | No |
| description |  | Suggested roll-over or help text description to assist users. | Yes |
| displaySize | undefined (int32) | A suggested field size to display. | No |
| elementName |  | The name of the element. | Yes |
| valueRegexp |  | The regexp for the value of this field. | No |

#### DigitalAssetValidatePayoutResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DigitalAssetValidatePayoutResponse | { **"validationDetails"**: , **"expectedPostingDate"**: undefined (date), **"validationResultCode"**: <br>**Available values:** "VALID" } or { **"verificationId"**: , **"validationDetails"**: , **"validationResultCode"**: <br>**Available values:** "INVALID", **"clientVerificationReference"**:  } |  |  |

#### AccountRecipientTransactorDetailWithID Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountRecipientTransactorDetailWithID | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "U", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } |  |  |

#### nameMatch Schema

Score provided based on recipient’s name match, if recipient’s account is found and active. Supports below values: STRONG_MATCH,PARTIAL_MATCH and NO_MATCH. STRONG_MATCH - Recipient’s account found and name is a highly confident match. PARTIAL_MATCH - Recipient’s account found and name is a partial match. NO_MATCH - Recipient’s account found but name is likely not a match. Applicable only for Accounts.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| nameMatch | <br>**Available values:** "STRONG_MATCH", "PARTIAL_MATCH", "NO_MATCH" | Score provided based on recipient’s name match, if recipient’s account is found and active. Supports below values: STRONG_MATCH,PARTIAL_MATCH and NO_MATCH. STRONG_MATCH - Recipient’s account found and name is a highly confident match. PARTIAL_MATCH - Recipient’s account found and name is a partial match. NO_MATCH - Recipient’s account found but name is likely not a match. Applicable only for Accounts.  |  |

#### S2AMetaData Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| recipientDetail | { **"identityGroups"**:  } |  | Yes |
| transactionDetail | { **"purposeOfPayment"**: { **"mandatory"**: , **"purposeOfPaymentCodes"**:  } } |  | Yes |

#### DueDateTime Schema

ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DueDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00 |  |

**Example**
<pre>2020-05-05T12:12:12.000Z</pre>

#### TotalAmountDue-1 Schema

Total amount due by due date.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TotalAmountDue-1 | double | Total amount due by due date. |  |

#### UnspecifiedTypeSenderIdentificationListAccountWallet Schema

Identification list of sender

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| UnspecifiedTypeSenderIdentificationListAccountWallet |  | Identification list of sender |  |

#### ValidatePayoutAccountRequest-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"additionalData"**: [ { **"name"**: string, **"value"**: string } ], **"purposeOfPayment"**: string, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"statementNarrative"**: string, **"senderSourceOfFunds"**: string, **"businessApplicationId"**: string, **"settlementCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"senderBeneficiaryRelationship"**: string } |  | Yes |

#### CompanyName Schema

Company name

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CompanyName |  | Company name |  |

**Example**
<pre>Visa</pre>

#### ClientVerificationReference Schema

A client submitted identifier. This field and same value will be returned in the response.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ClientVerificationReference |  | A client submitted identifier. This field and same value will be returned in the response. |  |

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

#### ValidatePayoutAccountRequest-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: long, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"additionalData"**: [ { **"name"**: string, **"value"**: string } ], **"purposeOfPayment"**: string, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"statementNarrative"**: string, **"senderSourceOfFunds"**: string, **"structuredRemittance"**: [ { **"amount"**: double, **"taxAmount"**: double, **"taxCurrencyCode"**: string, **"creditorReference"**: { **"code"**: string, <br>**Available values:** "RADM", "RPIN", "FXDR", "DISP", "PUOR", "SCOR", **"number"**: string }, **"amountCurrencyCode"**: string, **"referredDocumentInformation"**: [ { **"code"**: string, <br>**Available values:** "MSIN", "CNFA", "DNFA", "CINV", "CREN", "DEBN", "HIRI", "SBIN", "CMCN", "SOAC", "DISP", "BOLD", "VCHR", "AROI", "TSUT", "PUOR", **"number"**: string, **"relatedDate"**: date } ] } ], **"businessApplicationId"**: string, **"settlementCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"senderBeneficiaryRelationship"**: string } |  | Yes |

#### FundingModel Schema

The fundingModel to apply to this payout.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| FundingModel | <br>**Available values:** "PREFUNDED" | The fundingModel to apply to this payout. |  |

#### WalletQueryOnlySuccessResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "W" | Originating Entity must indicate the payout method i.e. To Wallet    Valid values: “W” – Visa Direct Wallet <br>*Enum:* `"W"` | No |
| transactionDetail | { **"status"**: string, <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: string, <br>**Available values:** "PREFUNDED", **"returnAmount"**: double, **"fundingStatus"**: string, <br>**Available values:** "FUNDED", "NOT_FUNDED", **"serviceDetail"**: { **"traceable"**: boolean, **"recallable"**: boolean, **"paymentRail"**: string, <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**: boolean }, **"returnDateTime"**: dateTime, **"returnPayoutId"**: string, **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"deliveredDateTime"**: dateTime, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"returnCurrencyCode"**: string, **"returnSourceAmount"**: double, **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: string, **"description"**: string }, **"transactionDateTime"**: dateTime, **"returnConversionRate"**: double, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"walletAdditionalDetails"**: { **"shareLink"**: string }, **"localSchemeTransactionId"**: string, **"returnSourceCurrencyCode"**: string } |  | Yes |

#### ValidatePayoutAccountRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: long, **"endToEndId"**: string, **"paymentRail"**: string, <br>**Available values:** "SWIFT", **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: string, <br>**Available values:** "PREFUNDED", **"additionalData"**: [ { **"name"**: string, **"value"**: string } ], **"purposeOfPayment"**: string, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"statementNarrative"**: string, **"senderSourceOfFunds"**: string, **"structuredRemittance"**: [ { **"amount"**: double, **"taxAmount"**: double, **"taxCurrencyCode"**: string, **"creditorReference"**: { **"code"**: string, <br>**Available values:** "RADM", "RPIN", "FXDR", "DISP", "PUOR", "SCOR", **"number"**: string }, **"amountCurrencyCode"**: string, **"referredDocumentInformation"**: [ { **"code"**: string, <br>**Available values:** "MSIN", "CNFA", "DNFA", "CINV", "CREN", "DEBN", "HIRI", "SBIN", "CMCN", "SOAC", "DISP", "BOLD", "VCHR", "AROI", "TSUT", "PUOR", **"number"**: string, **"relatedDate"**: date } ] } ], **"businessApplicationId"**: string, **"settlementCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"senderBeneficiaryRelationship"**: string } |  | Yes |
| accountVerificationRequired | boolean | Indicates whether account verification services are required.If True, account will be verified.If False, account verification will be skipped. Applicable only for Accounts. | No |
| clientVerificationReference | string | A client submitted identifier. This field and same value will be returned in the response.  Conditional: Required if accountVerificationRequired = True  | No |

#### WalletQueryOnlySuccessResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "W" | Originating Entity must indicate the payout method i.e. To Wallet    Valid values: “W” – Visa Direct Wallet <br>*Enum:* `"W"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"returnAmount"**: undefined (double), **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"serviceDetail"**: { **"traceable"**: , **"recallable"**: , **"paymentRail"**: <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**:  }, **"returnDateTime"**: undefined (date-time), **"returnPayoutId"**: , **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"returnCurrencyCode"**: , **"returnSourceAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: , **"description"**:  }, **"transactionDateTime"**: undefined (date-time), **"returnConversionRate"**: undefined (double), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**: , **"walletAdditionalDetails"**: { **"shareLink"**:  }, **"localSchemeTransactionId"**: , **"returnSourceCurrencyCode"**:  } |  | Yes |

#### ValidatePayoutAccountRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: undefined (int64), **"endToEndId"**: , **"paymentRail"**: <br>**Available values:** "SWIFT", **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"additionalData"**: , **"purposeOfPayment"**: , **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"statementNarrative"**: , **"senderSourceOfFunds"**: , **"structuredRemittance"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**: , **"senderBeneficiaryRelationship"**:  } |  | Yes |
| accountVerificationRequired |  | Indicates whether account verification services are required.If True, account will be verified.If False, account verification will be skipped. Applicable only for Accounts. | No |
| clientVerificationReference |  | A client submitted identifier. This field and same value will be returned in the response.  Conditional: Required if accountVerificationRequired = True  | No |

#### CurrencyInfoFlexibleSettlementNotification-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId | string | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | string, <br>**Available values:** "CURRENCY_INFO" | The type of event that triggered the notification.<br>*Enum:* `"CURRENCY_INFO"` | Yes |
| currencyDetails | [ { **"reason"**: string, <br>**Available values:** "FLEXIBLE_SETTLEMENT_DISABLED", "CURRENCY_DISABLED", "FREEZE_MANUAL", "FREEZE_SETTLEMENT_DUE", "FREEZE_ALL_FREEZE_ENABLED", "UNFREEZE_MANUAL", "NO_DUES", **"currencyCode"**: string, **"currentStatus"**: string, <br>**Available values:** "ENABLED", "DISABLED", **"previousStatus"**: string, <br>**Available values:** "ENABLED", "DISABLED", **"lastModifiedDateTime"**: dateTime } ] |  | Yes |
| initiatingPartyId | long | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| notificationDateTime | dateTime | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### CurrencyInfoFlexibleSettlementNotification-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId |  | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | <br>**Available values:** "CURRENCY_INFO" | The type of event that triggered the notification.<br>*Enum:* `"CURRENCY_INFO"` | Yes |
| currencyDetails |  |  | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| notificationDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### ContactEmail-1 Schema

Contact Email.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ContactEmail-1 | string | Contact Email. |  |

#### BeneficiaryRelationship-1 Schema

Sender's relationship with recipient

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| BeneficiaryRelationship-1 | string | Sender's relationship with recipient |  |

#### ErrorResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason | string | The short description of the error. | No |
| status | integer | 3 digit HTTP status code<br>*Example:* `400` | No |
| details | [ { **"code"**: string, **"message"**: string, **"location"**: string } ] |  | No |
| message | string | The long description of the error | No |

#### VerifyRecipientWalletRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "W" | Originating Entity must indicate the payout method i.e. Wallet Valid values: - "W" Visa Direct Wallet <br>*Enum:* `"W"` | Yes |
| recipientDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"wallet"**: { **"countryCode"**: string, **"currencyCode"**: string, **"operatorName"**: string, **"accountIdentifier"**: string, **"accountIdentifierType"**: string, <br>**Available values:** "PHONENUMBER", "EMAIL", "USERNAME" }, **"lastName"**: string, **"firstName"**: string } |  | Yes |
| initiatingPartyId | long |  | Yes |
| clientVerificationReference | string |  | No |

#### ErrorResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason | string | The short description of the error. | Yes |
| status | integer | 3 digit HTTP status code<br>*Example:* `400` | Yes |
| details | [ { **"code"**: string, **"message"**: string, **"location"**: string } ] |  | Yes |
| message | string | The long description of the error | No |

#### VerifyRecipientWalletRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "W" | Originating Entity must indicate the payout method i.e. Wallet Valid values: - "W" Visa Direct Wallet <br>*Enum:* `"W"` | Yes |
| recipientDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"wallet"**: { **"countryCode"**: , **"currencyCode"**: , **"operatorName"**: , **"accountIdentifier"**: , **"accountIdentifierType"**: <br>**Available values:** "PHONENUMBER", "EMAIL", "USERNAME" }, **"lastName"**: , **"firstName"**:  } |  | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| clientVerificationReference |  | A client submitted identifier. This field and same value will be returned in the response.<br>*Example:* `"1234567890"` | No |

#### DigitalAssetValidatePayoutResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DigitalAssetValidatePayoutResponse-2 | { **"validationDetails"**: , **"expectedPostingDate"**: undefined (date), **"validationResultCode"**: <br>**Available values:** "VALID" } or { **"verificationId"**: , **"validationDetails"**: , **"validationResultCode"**: <br>**Available values:** "INVALID", **"clientVerificationReference"**:  } |  |  |

#### DigitalAssetValidatePayoutResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DigitalAssetValidatePayoutResponse-1 | { **"validationDetails"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ], **"expectedPostingDate"**: undefined (date), **"validationResultCode"**: string, <br>**Available values:** "VALID" } or { **"verificationId"**: string, **"validationDetails"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ], **"validationResultCode"**: string, <br>**Available values:** "INVALID", **"clientVerificationReference"**: string } |  |  |

#### DigitalAssetPayoutRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"senderSourceOfFunds"**: string, **"businessApplicationId"**: string, **"settlementCurrencyCode"**: string, **"transactionCurrencyCode"**: string } |  | Yes |

#### AccountQueryPendingResponse-1 Schema

Transaction is accepted and will be processed & notified status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"status"**: string, <br>**Available values:** "PENDING", **"clientReferenceId"**: string, **"initiatingPartyId"**: long } |  | No |

#### AccountQueryPendingResponse-2 Schema

Transaction is accepted and will be processed & notified status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"status"**: <br>**Available values:** "PENDING", **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64) } |  | No |

#### City Schema

When present, this field contains individual recipient's city

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| City |  | When present, this field contains individual recipient's city |  |

**Example**
<pre>Santa Fe</pre>

#### AccountQueryPendingResponse-3 Schema

Transaction is accepted and will be processed & notified status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionalDetail | { **"status"**: string, <br>**Available values:** "PENDING", **"clientReferenceId"**: string, **"initiatingPartyId"**: long } |  | No |

#### 403ErrorResponseObject-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason | string | The short description of the error. | No |
| status | integer | 3 digit HTTP status code<br>*Example:* `403` | No |
| details | [ { **"code"**: string, **"message"**: string, **"location"**: string } ] |  | No |
| message | string | The long description of the error | No |

#### VerifyRecipientDetailRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| VerifyRecipientDetailRequest-2 | { **"payoutMethod"**: <br>**Available values:** "W", **"recipientDetail"**: { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"wallet"**: { **"countryCode"**: , **"currencyCode"**: , **"operatorName"**: , **"accountIdentifier"**: , **"accountIdentifierType"**: <br>**Available values:** "PHONENUMBER", "EMAIL", "USERNAME" }, **"lastName"**: , **"firstName"**:  }, **"initiatingPartyId"**: undefined (int64), **"clientVerificationReference"**:  } or { **"payoutMethod"**: <br>**Available values:** "B", **"recipientDetail"**: { **"bank"**: { **"BIC"**: , **"bankCode"**: , **"bankName"**: , **"branchCode"**: , **"accountName"**: , **"accountType"**: <br>**Available values:** "1", "2", "3", "4", "5", "6", **"countryCode"**: , **"bankCodeType"**: <br>**Available values:** "ABA", "SORT_CODE", "DEFAULT", **"currencyCode"**: , **"accountNumber"**: , **"accountNumberType"**: <br>**Available values:** "IBAN", "ALIAS", "DEFAULT" }, **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"identificationList"**: { **"idType"**:  } }, **"initiatingPartyId"**: undefined (int64), **"clientVerificationReference"**:  } |  |  |

#### SenderAccountNumber-2 Schema

Conditional - This field is Mandatory if a senderReferenceNumber is not sent. <br />
Note:
Client should provide either a sender reference number or a sender account number but not both.
Client should not send any PANs in this field for payout.         

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SenderAccountNumber-2 | string | Conditional - This field is Mandatory if a senderReferenceNumber is not sent. <br /> Note: Client should provide either a sender reference number or a sender account number but not both. Client should not send any PANs in this field for payout.           |  |

**Example**
<pre>A42434234S324234</pre>

#### AccountQueryPendingResponse-4 Schema

Transaction is accepted and will be processed & notified status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionalDetail | { **"status"**: string, <br>**Available values:** "PENDING", **"clientReferenceId"**: string, **"initiatingPartyId"**: long } |  | No |

#### VerifyRecipientDetailRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| VerifyRecipientDetailRequest-1 | { **"payoutMethod"**: string, <br>**Available values:** "W", **"recipientDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"wallet"**: { **"countryCode"**: string, **"currencyCode"**: string, **"operatorName"**: string, **"accountIdentifier"**: string, **"accountIdentifierType"**: string, <br>**Available values:** "PHONENUMBER", "EMAIL", "USERNAME" }, **"lastName"**: string, **"firstName"**: string }, **"initiatingPartyId"**: long, **"clientVerificationReference"**: string } or { **"payoutMethod"**: string, <br>**Available values:** "B", **"recipientDetail"**: { **"bank"**: { **"BIC"**: string, **"bankCode"**: string, **"bankName"**: string, **"branchCode"**: string, **"accountName"**: string, **"accountType"**: string, <br>**Available values:** "1", "2", "3", "4", "5", "6", **"countryCode"**: string, **"bankCodeType"**: string, <br>**Available values:** "ABA", "SORT_CODE", "DEFAULT", **"currencyCode"**: string, **"accountNumber"**: string, **"accountNumberType"**: string, <br>**Available values:** "IBAN", "ALIAS", "DEFAULT" }, **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "L", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] }, **"initiatingPartyId"**: string, **"clientVerificationReference"**: string } |  |  |

#### AdditionalDataName Schema

Name of the field.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AdditionalDataName |  | Name of the field. |  |

#### SenderAccountNumber-1 Schema

Conditional - This field is Mandatory if a senderReferenceNumber is not sent. <br />
Note:
Client should provide either a sender reference number or a sender account number but not both.
Client should not send any PANs in this field for payout.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SenderAccountNumber-1 | string | Conditional - This field is Mandatory if a senderReferenceNumber is not sent. <br /> Note: Client should provide either a sender reference number or a sender account number but not both. Client should not send any PANs in this field for payout.  |  |

**Example**
<pre>A42434234S324234</pre>

#### PayoutNotificationFailedRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: string, **"errorResponses"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ], **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"notificationDateTime"**: dateTime } |  | Yes |

#### PayoutReturnRequest-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: string, <br>**Available values:** "REJECTED", "RETURNED", **"endToEndId"**: string, **"returnAmount"**: double, **"returnDateTime"**: dateTime, **"returnPayoutId"**: string, **"originalPayoutId"**: string, **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"returnCurrencyCode"**: string, **"returnSourceAmount"**: double, **"returnReasonDetails"**: { **"code"**: string, **"description"**: string }, **"returnConversionRate"**: double, **"returnSourceCurrencyCode"**: string } |  | Yes |

#### QueryPendingCancelledResponse Schema

Transaction is in pending or cancelled (cancelled during pending) status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64) } |  | Yes |

#### SenderIsIndividual-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name |  | Full name of sender is conditionally required when "firstName" and "lastName" are not provided.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name" <br>For 3rd party payments: "Debtor Name"  | No |
| type | <br>**Available values:** "I", "C" | Identifies the type of sender - "I" for Individual   | Yes |
| lastName |  | Sender last name<br>Sender first name(s) and last name are conditionally required when "name" is not provided. The length of first name(s) and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name" <br>For 3rd party payments: "Debtor Name"  | No |
| firstName |  | Sender first name(s), include all first (given) names <br>Sender first name(s) and last name are conditionally required when "name" is not provided. The length of first name and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name" <br>For 3rd party payments: "Debtor Name"  | No |
| cityOfBirth |  | Sender city of birth  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor City of Birth" <br>For 3rd party payments: "Debtor City of Birth"  | No |
| dateOfBirth | undefined (date) | Sender date of birth (Format: "YYYY-MM-DD", e.g. "1980-02-01")  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Birth Date" <br>For 3rd party payments: "Debtor Birth Date"  | No |
| countryOfBirth |  | Sender country of birth  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  Format: 3-character ISO-3166 (Alpha-3) country code  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Country of Birth" <br>For 3rd party payments: "Debtor Country of Birth"  | No |
| identificationList |  | Identification list of sender | No |

#### SenderIsIndividual-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name | string | Full name of sender is conditionally required when "firstName" and "lastName" are not provided.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name" <br>For 3rd party payments: "Debtor Name"  | No |
| type | string, <br>**Available values:** "I", "C" | Identifies the type of sender - "I" for Individual   | Yes |
| lastName | string | Sender last name<br>Sender first name(s) and last name are conditionally required when "name" is not provided. The length of first name(s) and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name" <br>For 3rd party payments: "Debtor Name"  | No |
| firstName | string | Sender first name(s), include all first (given) names <br>Sender first name(s) and last name are conditionally required when "name" is not provided. The length of first name and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name" <br>For 3rd party payments: "Debtor Name"  | No |
| cityOfBirth | string | Sender city of birth  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor City of Birth" <br>For 3rd party payments: "Debtor City of Birth"  | No |
| dateOfBirth | date | Sender date of birth (Format: "YYYY-MM-DD", e.g. "1980-02-01")  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Birth Date" <br>For 3rd party payments: "Debtor Birth Date"  | No |
| countryOfBirth | string | Sender country of birth  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  Format: 3-character ISO-3166 (Alpha-3) country code  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Country of Birth" <br>For 3rd party payments: "Debtor Country of Birth"  | No |
| identificationList | [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] | Identification list of sender | No |

#### TransactionalStructuredRemittance-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TransactionalStructuredRemittance-1 | [ { **"amount"**: double, **"taxAmount"**: double, **"taxCurrencyCode"**: string, **"creditorReference"**: { **"code"**: string, <br>**Available values:** "RADM", "RPIN", "FXDR", "DISP", "PUOR", "SCOR", **"number"**: string }, **"amountCurrencyCode"**: string, **"referredDocumentInformation"**: [ { **"code"**: string, <br>**Available values:** "MSIN", "CNFA", "DNFA", "CINV", "CREN", "DEBN", "HIRI", "SBIN", "CMCN", "SOAC", "DISP", "BOLD", "VCHR", "AROI", "TSUT", "PUOR", **"number"**: string, **"relatedDate"**: date } ] } ] |  |  |

#### TransactionalStructuredRemittance-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TransactionalStructuredRemittance-2 |  |  |  |

#### FundingDetailsFundsNotReceived Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| pullFundId |  | The pull fund id generated by Visa. | Yes |
| currencyCode |  | 3-character ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| totalAmountDue | undefined (double) | Total amount due by due date. Pulled in this request.  | Yes |
| pullFundsDetails | { **"iBan"**: , **"bankName"**: , **"accountNumber"**: , **"originalDueDateTime"**: undefined (date-time), **"expectedDebitDateTime"**: undefined (date-time) } |  | Yes |

#### SenderCompany Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name | string | It can have either company name or fullname based on type (I or C)<br>*Example:* `"Visa"` | Yes |
| type | string, <br>**Available values:** "I", "C" | Identifies the type of sender - "C" for Company   ISO20022 field name: Debtor Identification Type         | Yes |

#### ReturnReasonCodeDescription-1 Schema

Indicates the PSP return description when the payout is returned. Refer to PSP Return Description

ISO20022 field name: Payment Return - PSP Return Description

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ReturnReasonCodeDescription-1 | string | Indicates the PSP return description when the payout is returned. Refer to PSP Return Description  ISO20022 field name: Payment Return - PSP Return Description  |  |

#### PayoutReturnRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "REJECTED", "RETURNED", **"endToEndId"**: , **"returnAmount"**: undefined (double), **"returnDateTime"**: undefined (date-time), **"returnPayoutId"**: , **"originalPayoutId"**: , **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64), **"returnCurrencyCode"**: , **"returnSourceAmount"**: undefined (double), **"returnReasonDetails"**: { **"code"**: , **"description"**:  }, **"returnConversionRate"**: undefined (double), **"returnSourceCurrencyCode"**:  } |  | Yes |

#### FlexibleAccountFrozen Schema

Indicates if the flexible account is frozen.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| FlexibleAccountFrozen |  | Indicates if the flexible account is frozen. |  |

#### UnspecifiedIdTypeAccount Schema

Sender identification type (issued by a government or similar authority) needs to be provided by Originating Entity along with the payment in certain markets. 

Valid values : 
* T-Tax Id
* L-Legal Entity Registration Number
* I-Legal Entity Identifier (LEI) Number
* P- Passport
* D-Driving License
* N-National Id
* F-Foreign Id
Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)

ISO20022 field name:<br> For 4th  party payments:"Ultimate Debtor Private Identification Code" or "Ultimate Debtor Organisation Identification Code" <br> For 3rd party payments: "Debtor Private Identification Code" or "Debtor Organisation Identification Code"

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| UnspecifiedIdTypeAccount | <br>**Available values:** "T", "L", "I", "P", "D", "N", "F" | Sender identification type (issued by a government or similar authority) needs to be provided by Originating Entity along with the payment in certain markets.   Valid values :  * T-Tax Id * L-Legal Entity Registration Number * I-Legal Entity Identifier (LEI) Number * P- Passport * D-Driving License * N-National Id * F-Foreign Id Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name:<br> For 4th  party payments:"Ultimate Debtor Private Identification Code" or "Ultimate Debtor Organisation Identification Code" <br> For 3rd party payments: "Debtor Private Identification Code" or "Debtor Organisation Identification Code"  |  |

#### DigitalAssetPayoutRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"senderSourceOfFunds"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**:  } |  | Yes |

#### AccountVerifyResponse Schema

This object is only present if verificationStatus is COMPLETED

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| verificationId |  | Unique verification identifier.<br>*Example:* `"5003f6a0-2c44-11b2-aa57-47378ae53313"` | Yes |
| verificationStatus | <br>**Available values:** "COMPLETED", "NOT_COMPLETED" | Provides the status of verification request. * COMPLETED - Request was completed and result is available. * NOT_COMPLETED - Service Provider not available. <br>*Enum:* `"COMPLETED"`, `"NOT_COMPLETED"`<br>*Example:* `"COMPLETED"` | Yes |
| verificationDetails | { **"code"**: , **"message"**: , **"location"**:  or null } |  | No |
| accountVerificationDetail | { **"nameMatch"**: <br>**Available values:** "Strong_Match", "Partial_Match", "No_Match" or null, **"currencyCodes"**: , **"bankAccountName"**:  or null, **"accountIdentifierMatch"**: , **"bankAccountNameTranslation"**:  } |  | No |
| clientVerificationReference |  |  | Yes |

#### CompanySenderIdentificationListWallet-1 Schema

Identification list of sender

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CompanySenderIdentificationListWallet-1 | [ { **"idType"**: string, <br>**Available values:** "T", "L", **"idNumber"**: string, **"idIssueCountry"**: string } ] | Identification list of sender |  |

#### InitiatingPartyId Schema

Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction

ISO20022 field name: Initiating Party Identification<br>
Visa uses integer instead of string(1-35) for uniformed value generation and presentation.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| InitiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation.  |  |

**Example**
<pre>100111</pre>

#### QueryPendingCancelledResponse-4 Schema

Transaction is in pending or cancelled (cancelled during pending) status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionalDetail | { **"status"**: string, <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: string, **"initiatingPartyId"**: long } |  | No |

#### CompanySenderIdentificationListWallet-2 Schema

Identification list of sender

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CompanySenderIdentificationListWallet-2 |  | Identification list of sender |  |

#### QueryPendingCancelledResponse-3 Schema

Transaction is in pending or cancelled (cancelled during pending) status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionalDetail | { **"status"**: string, <br>**Available values:** "PENDING", "CANCELLED", **"clientReferenceId"**: string, **"initiatingPartyId"**: long } |  | No |

#### QueryPendingCancelledResponse-2 Schema

Transaction is in pending or cancelled (cancelled during pending) status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64) } |  | Yes |

#### AccountQueryErrorResponse Schema

Transaction is accepted and will be processed & notified status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorDetails"**:  } |  | Yes |

#### QueryPendingCancelledResponse-1 Schema

Transaction is in pending or cancelled (cancelled during pending) status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: string, <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: string, **"initiatingPartyId"**: long } |  | Yes |

#### ExposureInfoFlexibleSettlementNotification Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId |  | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | <br>**Available values:** "CLIENT_EXPOSURE" | The type of event that triggered the notification.<br>*Enum:* `"CLIENT_EXPOSURE"` | Yes |
| exposureInfo |  |  | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| notificationDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### TotalAmountOverdueSettlementDueBreached-1 Schema

Total amount currently overdue. This represents only the amounts that have actually breached their due date/time, excluding any future-dated amounts that are not yet due.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TotalAmountOverdueSettlementDueBreached-1 | double | Total amount currently overdue. This represents only the amounts that have actually breached their due date/time, excluding any future-dated amounts that are not yet due.  |  |

#### InvalidPayoutResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| verificationId |  | Unique verification identifier.<br>*Example:* `"5003f6a0-2c44-11b2-aa57-47378ae53313"` | No |
| validationDetails |  | comprehensive array of errors | Yes |
| validationResultCode | <br>**Available values:** "INVALID" | - INVALID - see validationDetails for validation errors <br>*Enum:* `"INVALID"` | Yes |
| clientVerificationReference |  |  | No |

#### AccountVerificationRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B" | Method of payout. For accounts, this should be 'B'.<br>*Enum:* `"B"`<br>*Example:* `"B"` | Yes |
| recipientDetail | { **"bank"**: { **"BIC"**: , **"bankCode"**: , **"bankName"**: , **"branchCode"**: , **"accountName"**: , **"accountType"**: <br>**Available values:** "1", "2", "3", "4", "5", "6", **"countryCode"**: , **"bankCodeType"**: <br>**Available values:** "ABA", "SORT_CODE", "DEFAULT", **"currencyCode"**: , **"accountNumber"**: , **"accountNumberType"**: <br>**Available values:** "IBAN", "ALIAS", "DEFAULT" }, **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"identificationList"**: { **"idType"**:  } } |  | Yes |
| initiatingPartyId |  | The ID of the initiating party.<br>*Example:* `"123456"` | Yes |
| clientVerificationReference |  |  | Yes |

#### PostalCode-1 Schema

When present, this field contains individual recipient's address postal code.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PostalCode-1 | string | When present, this field contains individual recipient's address postal code. |  |

**Example**
<pre>94320</pre>

#### AccountQueryPendingOnlyCancelledResponse-2 Schema

Transaction is in pending or cancelled (cancelled during pending) status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64) } |  | Yes |

#### AccountQueryPendingOnlyCancelledResponse-1 Schema

Transaction is in pending or cancelled (cancelled during pending) status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: string, <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: string, **"initiatingPartyId"**: long } |  | Yes |

#### PostalCode-2 Schema

When present, this field contains individual recipient's address postal code.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PostalCode-2 |  | When present, this field contains individual recipient's address postal code. |  |

**Example**
<pre>94320</pre>

#### AccountQueryResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountQueryResponse | { **"payoutMethod"**: <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"returnAmount"**: undefined (double), **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"serviceDetail"**: { **"traceable"**: , **"recallable"**: , **"paymentRail"**: <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**:  }, **"returnDateTime"**: undefined (date-time), **"returnPayoutId"**: , **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"returnCurrencyCode"**: , **"returnSourceAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: , **"description"**:  }, **"transactionDateTime"**: undefined (date-time), **"returnConversionRate"**: undefined (double), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**: , **"walletAdditionalDetails"**: { **"shareLink"**:  }, **"localSchemeTransactionId"**: , **"returnSourceCurrencyCode"**:  } } or { **"payoutMethod"**: <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorDetails"**:  } } or { **"payoutMethod"**: <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64) } } |  |  |

#### ValidatePayoutDigitalAssetRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"senderSourceOfFunds"**: string, **"businessApplicationId"**: string, **"settlementCurrencyCode"**: string, **"transactionCurrencyCode"**: string } |  | Yes |

#### ExposureInfoDetails-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDateTime | dateTime | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | No |
| currencyCode | string | 3-character ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| totalAmountDue | double | Total amount due by due date. | No |
| totalAmountOverdue | double | Total amount overdue. | No |
| flexibleAmountLimit | double | Liquidity limit. | Yes |
| originalDueDateTime | dateTime | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | No |
| flexibleAmountUtilized | double | Amount of liquidity that has been utilized. | Yes |
| flexibleAmountRemaining | double | Remaining amount of liquidity available. | Yes |

#### SettlementDueBreachedDetails-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| vplContact |  | Contact information for VPL Client Support. | Yes |
| currencyCode |  | 3-character ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| totalAmountDue | undefined (double) | Total amount due by due date. | Yes |
| totalAmountOverdue | undefined (double) | Total amount currently overdue. This represents only the amounts that have actually breached their due date/time, excluding any future-dated amounts that are not yet due.  | Yes |
| originalDueDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |
| flexibleAccountFrozen |  | Indicates if the flexible account is frozen. | Yes |

#### SettlementDueBreachedDetails-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| vplContact | string | Contact information for VPL Client Support. | Yes |
| currencyCode | string |  | Yes |
| totalAmountDue | double | Total amount due by due date. | Yes |
| totalAmountOverdue | double | Total amount currently overdue. This represents only the amounts that have actually breached their due date/time, excluding any future-dated amounts that are not yet due.  | Yes |
| originalDueDateTime | dateTime | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |
| flexibleAccountFrozen | boolean | Indicates if the flexible account is frozen. | Yes |

#### ErrorResponseWithKey-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| errorResponse | { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } |  | No |

#### Wallet Schema

Recipient's wallet object

Conditional object when payoutMethod has value 'W'

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| countryCode |  |  | Yes |
| currencyCode |  |  | Yes |
| operatorName |  | This identifies the operator that has issued the account to the recipient and is going to receive and post the funds to the recipient’s wallet. (Refer to Visa Direct Endpoint Guide on list of supported Wallet Operators).  | Yes |
| accountIdentifier |  | The wallet recipient's actual account identifier associated with the wallet operator (e.g., wallet address - phone/email/username that identifies the account associated with the wallet operator)  | Yes |
| accountIdentifierType | <br>**Available values:** "PHONENUMBER", "EMAIL", "USERNAME" | The type of account identifier used by the recipient.   Supported values are PHONENUMBER, EMAIL and USERNAME. <br>*Enum:* `"PHONENUMBER"`, `"EMAIL"`, `"USERNAME"`<br>*Example:* `"PHONENUMBER"` | Yes |

#### WindowDueDetailsWithPullFunds Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| vplContact |  | Contact information for VPL Client Support. | Yes |
| dueDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00<br>*Example:* `"2020-05-05T12:12:12.000Z"` | Yes |
| currencyCode |  |  | Yes |
| totalAmountDue | undefined (double) | Total amount due by due date. | Yes |
| pullFundsDetails | { **"iBan"**: , **"bankName"**: , **"accountNumber"**: , **"expectedDebitDateTime"**: undefined (date-time) } |  | No |

#### ErrorResponseWithKey-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| errorResponse | { **"reason"**: , **"status"**: , **"details"**: , **"message"**:  } |  | No |

#### ErrorResponseWithKey-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| errorResponse | { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } |  | No |

#### AlphaCurrencyCode Schema

3-character ISO-4217 (Alpha-3) currency code

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AlphaCurrencyCode |  | 3-character ISO-4217 (Alpha-3) currency code  |  |

**Example**
<pre>USD</pre>

#### AlphaCurrencyCode-1 Schema

3-character ISO-4217 (Alpha-3) currency code

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AlphaCurrencyCode-1 | string | 3-character ISO-4217 (Alpha-3) currency code  |  |

**Example**
<pre>USD</pre>

#### DeliveredDateTime Schema

Optional.
Applicable for statuses PAYMENT_DELIVERED, DELIVERED_TO_SCHEME and DELIVERED_TO_RECIPIENT_BANK, when available.

ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00

Example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DeliveredDateTime | undefined (date-time) | Optional. Applicable for statuses PAYMENT_DELIVERED, DELIVERED_TO_SCHEME and DELIVERED_TO_RECIPIENT_BANK, when available.  ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  Example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  |  |

#### AddressLine1-1 Schema

This field contains individual recipient's 1st line of address.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AddressLine1-1 | string | This field contains individual recipient's 1st line of address. |  |

**Example**
<pre>555 Dragon Drive</pre>

#### PostingDate Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cutoffDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |
| expectedPostingDate | undefined (date) |  | Yes |

#### TotalAmountOverdue Schema

Total amount overdue.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TotalAmountOverdue | undefined (double) | Total amount overdue. |  |

#### IdentityFieldInput Schema

Supported input types for a recipient identity UI.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| IdentityFieldInput | <br>**Available values:** "text", "date", "number", "list" | Supported input types for a recipient identity UI. |  |

#### ReturnReasonCodeDescription-2 Schema

Indicates the PSP return description when the payout is returned. Refer to PSP Return Description (add link to VDP)

ISO20022 field name: Payment Return - PSP Return Description

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ReturnReasonCodeDescription-2 | string | Indicates the PSP return description when the payout is returned. Refer to PSP Return Description (add link to VDP)  ISO20022 field name: Payment Return - PSP Return Description  |  |

#### 202TransactionStatus Schema

- PENDING: Payout is accepted but has not been acknowledged

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| 202TransactionStatus | <br>**Available values:** "PENDING" | - PENDING: Payout is accepted but has not been acknowledged  |  |

#### AccountBalance-2 Schema

Represents a monetary value containing a decimal amount value along with a currency code. 

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| amount | double | The balance amount for a particular currency.  Note: The number of decimal places assumed for this field depends on the currency.  | Yes |
| currencyCode | string | The currency code is a three letter ISO 4217 code.   E.g. GBP for British sterling pounds.  | Yes |

#### AccountBalance-1 Schema

Represents a monetary value containing a decimal amount value along with a currency code.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| amount | double | The balance amount for a particular currency.  Note: The number of decimal places assumed for this field depends on the currency.  | Yes |
| currencyCode | string | The currency code is a three letter ISO 4217 code.   E.g. GBP for British sterling pounds.  | Yes |

#### BankName Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| BankName |  |  |  |

**Example**
<pre>Bank of America</pre>

#### LimitReachedFlexibleSettlementNotification-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId | string | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | string, <br>**Available values:** "LIMIT_REACHED" | The type of event that triggered the notification.<br>*Enum:* `"LIMIT_REACHED"` | Yes |
| initiatingPartyId | long | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| limitReachedDetails | [ { **"currencyCode"**: string, **"flexibleAmountLimit"**: double } ] |  | Yes |
| notificationDateTime | dateTime | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### DigitalAssetQueryResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DigitalAssetQueryResponse | { **"payoutMethod"**: <br>**Available values:** "D", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"returnAmount"**: undefined (double), **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"returnDateTime"**: undefined (date-time), **"returnPayoutId"**: , **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"returnCurrencyCode"**: , **"returnSourceAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: , **"description"**:  }, **"transactionDateTime"**: undefined (date-time), **"returnConversionRate"**: undefined (double), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: <br>**Available values:** "USDC", **"transactionCurrencyCode"**: , **"returnSourceCurrencyCode"**: , **"digitalAssetAdditionalDetail"**: { **"hash"**:  } } } or { **"payoutMethod"**: <br>**Available values:** "D", **"transactionDetail"**: { **"status"**: <br>**Available values:** "VALIDATION_FAILED", "ERROR                -", **"errorDetails"**:  } } or { **"payoutMethod"**: <br>**Available values:** "D", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64) } } |  |  |

#### SenderAccountPayoutAddress Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city |  | Sender address city  ISO20022 field name:<br> For 4th  party payments: "Ultimate Debtor Address Town Name" <br> For 3rd party payments: "Debtor Address Town Name"  | Yes |
| state |  | Sender address state  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name:<br> For 4th  party payments:  "Ultimate Debtor Address Country Sub-division" <br> For 3rd party payments: "Debtor Address Country Sub-division"  | No |
| country |  | Sender address country  Format: 3-character ISO-3166 (Alpha-3) country code  ISO20022 field name:<br> For 4th  party payments: "Ultimate Debtor Address Country" <br> For 3rd party payments: "Debtor Address Country"  | Yes |
| postalCode |  | Sender address postal code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: <br> For 4th  party payments: "Ultimate Debtor Address Postal Code" <br> For 3rd party payments: "Debtor Address Postal Code"  | No |
| addressLine1 |  | Sender address line 1  ISO20022 field name:<br> For 4th  party payments:  "Ultimate Debtor Address Street Name" <br> For 3rd party payments: "Debtor Address Street Name"  | Yes |
| addressLine2 |  | Sender address line 2  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name:<br> For 4th  party payments: "Ultimate Debtor Address Floor" <br> For 3rd party payments: "Debtor Address Floor"  | No |

#### WalletRecipientTransactorDetailWithID-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| WalletRecipientTransactorDetailWithID-1 | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", **"idNumber"**: string, **"idIssueCountry"**: string } ] } |  |  |

#### WalletRecipientTransactorDetailWithID-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| WalletRecipientTransactorDetailWithID-2 | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } |  |  |

#### IndividualRecipientIdentificationListAccount-1 Schema

Identification list of recipient

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| IndividualRecipientIdentificationListAccount-1 | [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] | Identification list of recipient |  |

#### IndividualRecipientIdentificationListAccount-2 Schema

Identification list of recipient

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| IndividualRecipientIdentificationListAccount-2 |  | Identification list of recipient |  |

#### 401ErrorResponseObject Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason |  | The short description of the error. | No |
| status |  | 3 digit HTTP status code<br>*Example:* `401` | No |
| details |  |  | No |
| message |  | The long description of the error | No |

#### StructuredReferenceName Schema

SRI Name of the field.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| StructuredReferenceName | string | SRI Name of the field. |  |

**Example**
<pre>amount, documentType</pre>

#### AccountTransactionDetail Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| quoteId | undefined (int64) | This is a unique FX quote ID generated by Visa for a payout currency pair. <br>*Example:* `987654321` | No |
| endToEndId |  | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | No |
| paymentRail | <br>**Available values:** "SWIFT" | Indicates the payment rails preferred for the payout transaction.<br>*Enum:* `"SWIFT"`<br>*Example:* `"SWIFT"` | No |
| payoutSpeed | <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority <br>*Enum:* `"STANDARD"`, `"PREMIUM"`<br>*Example:* `"standard"` | No |
| fundingModel | <br>**Available values:** "PREFUNDED" | The fundingModel to apply to this payout.<br>*Enum:* `"PREFUNDED"` | No |
| additionalData |  | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) | No |
| purposeOfPayment |  | Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) ISO20022 field name: Purpose of Payment  | No |
| clientReferenceId |  | Identifier assigned by the Originating Entity to uniquely identify the transaction.  ISO20022 field name: Transaction Identification  Only alphanumeric and '-' characters are allowed.  | Yes |
| initiatingPartyId | undefined (int64) |  | Yes |
| transactionAmount | undefined (double) | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| statementNarrative |  |  | No |
| senderSourceOfFunds |  | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.  ISO20022 field name: Debtor Account Type  | No |
| structuredRemittance |  | This object carries ISO20022 SMI data. It applies to Visa Direct Account payouts only.  | No |
| businessApplicationId |  | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode |  | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode |  | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |
| senderBeneficiaryRelationship |  | Sender's relationship with recipient | No |

#### IndividualsName-1 Schema

Full name of Individual

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| IndividualsName-1 | string | Full name of Individual |  |

**Example**
<pre>Visa</pre>

#### PayoutReceivedAfter202InSendPayout Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: undefined (date-time), **"notificationDateTime"**: undefined (date-time), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**:  } |  | Yes |

#### VerifyRecipientDetailRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| VerifyRecipientDetailRequest | { **"payoutMethod"**: <br>**Available values:** "W", **"recipientDetail"**: { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"wallet"**: { **"countryCode"**: , **"currencyCode"**: , **"operatorName"**: , **"accountIdentifier"**: , **"accountIdentifierType"**: <br>**Available values:** "PHONENUMBER", "EMAIL", "USERNAME" }, **"lastName"**: , **"firstName"**:  }, **"initiatingPartyId"**: undefined (int64), **"clientVerificationReference"**:  } or { **"payoutMethod"**: <br>**Available values:** "B", **"recipientDetail"**: { **"bank"**: { **"BIC"**: , **"bankCode"**: , **"bankName"**: , **"branchCode"**: , **"accountName"**: , **"accountType"**: <br>**Available values:** "1", "2", "3", "4", "5", "6", **"countryCode"**: , **"bankCodeType"**: <br>**Available values:** "ABA", "SORT_CODE", "DEFAULT", **"currencyCode"**: , **"accountNumber"**: , **"accountNumberType"**: <br>**Available values:** "IBAN", "ALIAS", "DEFAULT" }, **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"identificationList"**: { **"idType"**:  } }, **"initiatingPartyId"**: , **"clientVerificationReference"**:  } |  |  |

#### IdNumber-1 Schema

In this field, the identification number (from the document type identified in the field recipientDetail.idType) should be provided.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| IdNumber-1 | string | In this field, the identification number (from the document type identified in the field recipientDetail.idType) should be provided. |  |

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

#### IdNumber-2 Schema

In this field, the identification number (from the document type identified in the field recipientDetail.idType) should be provided.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| IdNumber-2 |  | In this field, the identification number (from the document type identified in the field recipientDetail.idType) should be provided. |  |

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

#### RecipientTransactorDetail Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| RecipientTransactorDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } } |  |  |

#### InvalidPayoutResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| verificationId |  | Unique verification identifier.<br>*Example:* `"5003f6a0-2c44-11b2-aa57-47378ae53313"` | No |
| validationDetails |  | comprehensive array of errors | Yes |
| validationResultCode | <br>**Available values:** "INVALID" | - INVALID - see validationDetails for validation errors <br>*Enum:* `"INVALID"` | Yes |
| clientVerificationReference |  | A client submitted identifier. This field and same value will be returned in the response.<br>*Example:* `"1234567890"` | No |

#### PayoutNotification-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayoutNotification-2 | { **"payoutMethod"**: <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: undefined (date-time), **"notificationDateTime"**: undefined (date-time), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**:  } } or { **"payoutMethod"**: <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"endToEndId"**: , **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"serviceDetail"**: { **"traceable"**: , **"recallable"**: , **"paymentRail"**: <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**:  }, **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"initiatingPartyId"**: undefined (int64), **"expectedPostingDate"**: undefined (date), **"notificationDateTime"**: undefined (date-time), **"walletAdditionalDetails"**: { **"shareLink"**:  }, **"localSchemeTransactionId"**:  } } or { **"payoutMethod"**: <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorResponses"**: , **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64), **"notificationDateTime"**: undefined (date-time) } } |  |  |

#### InvalidPayoutResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| verificationId | string | Unique verification identifier.<br>*Example:* `"5003f6a0-2c44-11b2-aa57-47378ae53313"` | No |
| validationDetails | [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ] | comprehensive array of errors | Yes |
| validationResultCode | string, <br>**Available values:** "INVALID" | - INVALID - see validationDetails for validation errors <br>*Enum:* `"INVALID"` | Yes |
| clientVerificationReference | string |  | No |

#### PayoutNotification-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayoutNotification-3 | { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: string, **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: dateTime, **"notificationDateTime"**: dateTime, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string } } or { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: string, **"payoutId"**: string, **"endToEndId"**: string, **"fundingStatus"**: string, <br>**Available values:** "FUNDED", "NOT_FUNDED", **"serviceDetail"**: { **"traceable"**: boolean, **"recallable"**: boolean, **"paymentRail"**: string, <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT" }, **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"expectedPostingDate"**: undefined (date), **"notificationDateTime"**: dateTime } } or { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: string, **"errorResponses"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ], **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"notificationDateTime"**: dateTime } } |  |  |

#### AmountWithZero-1 Schema

This field only applies to 'THRESHOLD' and 'LIQUIDITY_FAILURE' eventType. Threshold value would be zero for LIQUIDITY_FAILURE eventType.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AmountWithZero-1 | double | This field only applies to 'THRESHOLD' and 'LIQUIDITY_FAILURE' eventType. Threshold value would be zero for LIQUIDITY_FAILURE eventType.  |  |

**Example**
<pre>12.34</pre>

#### PayoutNotification-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayoutNotification-1 | { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: string, **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: dateTime, **"notificationDateTime"**: dateTime, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string } } or { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: string, **"payoutId"**: string, **"endToEndId"**: string, **"fundingStatus"**: string, <br>**Available values:** "FUNDED", "NOT_FUNDED", **"serviceDetail"**: { **"traceable"**: boolean, **"recallable"**: boolean, **"paymentRail"**: string, <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**: boolean }, **"clientReferenceId"**: string, **"deliveredDateTime"**: dateTime, **"initiatingPartyId"**: long, **"expectedPostingDate"**: undefined (date), **"notificationDateTime"**: dateTime, **"walletAdditionalDetails"**: { **"shareLink"**: string }, **"localSchemeTransactionId"**: string } } or { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: string, **"errorResponses"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ], **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"notificationDateTime"**: dateTime } } |  |  |

#### PullFundsDetails-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| iBan |  | The IBAN, if configured.  | No |
| bankName |  | The bank name, if configured.  | No |
| accountNumber |  | The last 4 digits of the account number, if configured.  | No |
| expectedDebitDateTime | undefined (date-time) | <b>MANDATORY.</b> The date and time when the debit request will be initiated. ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  | No |

#### ReturnReasonCodeDetailsType Schema

Indicates the PSP return type when the payout is returned. Refer to PSP Return Type

ISO20022 field name: Payment Return - PSP Return Type

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ReturnReasonCodeDetailsType | <br>**Available values:** "REJECTED", "RETURNED" | Indicates the PSP return type when the payout is returned. Refer to PSP Return Type  ISO20022 field name: Payment Return - PSP Return Type  |  |

#### InvalidPayoutResponse-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| validationDetails | [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ] | comprehensive array of errors | Yes |
| validationResultCode | string, <br>**Available values:** "INVALID" | - INVALID - see validationDetails for validation errors <br>*Enum:* `"INVALID"` | Yes |

#### PullFundsDetails-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| iBan | string | The IBAN, if configured.  | No |
| bankName | string | The bank name, if configured.  | No |
| accountNumber | integer | The last 4 digits of the account number, if configured.  | No |
| expectedDebitDateTime | dateTime | <b>MANDATORY.</b> The date and time when the debit request will be initiated. ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  | No |

#### InvalidPayoutResponse-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| validationDetails | [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ] | comprehensive array of errors | Yes |
| validationResultCode | string, <br>**Available values:** "INVALID" | - INVALID - see validationDetails for validation errors <br>*Enum:* `"INVALID"` | Yes |

#### DigitalAssetAdditionalDetail Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| hash |  | A unique identifier for blockchain transaction, generated when blockchain transaction is initiated.  | No |

#### PayoutNotification-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayoutNotification-4 | { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: string, **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: dateTime, **"notificationDateTime"**: dateTime, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string } } or { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: string, **"payoutId"**: string, **"endToEndId"**: string, **"fundingStatus"**: string, <br>**Available values:** "FUNDED", "NOT_FUNDED", **"serviceDetail"**: { **"traceable"**: boolean, **"recallable"**: boolean, **"paymentRail"**: string, <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT" }, **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"expectedPostingDate"**: undefined (date), **"notificationDateTime"**: dateTime } } or { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: string, **"errorResponses"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ], **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"notificationDateTime"**: dateTime } } |  |  |

#### TransactionDetailMetadata Schema

TransactionDetail Object

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| purposeOfPayment | { **"mandatory"**: , **"purposeOfPaymentCodes"**:  } | This group contains all configuration information for Purpose of Payment options. The 'mandatory' attribute indicates whether provision of Purpose of Payment data is required for the Payout to be accepted. | Yes |

#### PullFundsInitNotification-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId | string | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | string, <br>**Available values:** "PULL_FUNDS_INITIATED" | The type of event that triggered the notification.<br>*Enum:* `"PULL_FUNDS_INITIATED"` | Yes |
| fundingDetails | [ { **"currencyCode"**: string, **"totalAmountDue"**: double, **"pullFundsDetails"**: { **"iBan"**: string, **"bankName"**: string, **"accountNumber"**: integer, **"expectedDebitDateTime"**: dateTime } } ] |  | Yes |
| initiatingPartyId | long | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| notificationDateTime | dateTime | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### PullFundsInitNotification-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId |  | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | <br>**Available values:** "PULL_FUNDS_INITIATED" | The type of event that triggered the notification.<br>*Enum:* `"PULL_FUNDS_INITIATED"` | Yes |
| fundingDetails |  |  | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| notificationDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### WindowDueDetails-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| vplContact | string | Contact information for VPL Client Support. | Yes |
| dueDateTime | dateTime | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00<br>*Example:* `"2020-05-05T12:12:12Z"` | Yes |
| currencyCode | string |  | Yes |
| totalAmountDue | double | Total amount due by due date. | Yes |

#### CompanyRecipientIdentificationListWallet Schema

Identification list of recipient

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CompanyRecipientIdentificationListWallet |  | Identification list of recipient |  |

#### WindowDueDetails-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| vplContact |  | Contact information for VPL Client Support. | Yes |
| dueDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00<br>*Example:* `"2020-05-05T12:12:12.000Z"` | Yes |
| currencyCode |  | 3-character ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| totalAmountDue | undefined (double) | Total amount due by due date. | Yes |

#### Bank Schema

Recipient's bank object

Conditional object when payoutMethod has value 'B'

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| BIC |  | recipient bank account Business Identifier Code (BIC)  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Agent Financial Institution BIC  | No |
| bankCode |  | recipient bank account bank code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Agent Financial Institution Clearing System Member Identification <br>*Example:* `173` | No |
| bankName |  | Recipient's bank name  ISO20022 field name: Creditor Agent Financial Institution Name  | No |
| branchCode |  | recipient bank account branch code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Agent Branch Identification <br>*Example:* `123456` | No |
| accountName |  | recipient bank account name i.e. account holder name as recorded on recipient bank account  (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Account Name  | Yes |
| accountType | <br>**Available values:** "1", "2", "3", "4", "5", "6" | Recipient bank account type  * `1` - Checking * `2` - Saving  * `3` - Maestra * `4` - Vista * `5` - Loan * `6` - NRE  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Account Type <br>*Enum:* `"1"`, `"2"`, `"3"`, `"4"`, `"5"`, `"6"` | No |
| countryCode |  |  | Yes |
| bankCodeType | <br>**Available values:** "ABA", "SORT_CODE", "DEFAULT" | recipient bank account bank code type  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) <br>*Enum:* `"ABA"`, `"SORT_CODE"`, `"DEFAULT"` | No |
| currencyCode |  | recipient bank account currency code  Format: 3-character ISO-4217 (Alpha-3) currency code  (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Account Currency  | Yes |
| accountNumber |  | recipient bank account number  (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Account Number or IBAN  | Yes |
| accountNumberType | <br>**Available values:** "IBAN", "ALIAS", "DEFAULT" | recipient bank account number type. Valid values: "IBAN", "ALIAS" and "DEFAULT"  (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) <br>*Enum:* `"IBAN"`, `"ALIAS"`, `"DEFAULT"`<br>*Example:* `"DEFAULT"` | Yes |

#### accountVerificationRequired-1 Schema

Indicates whether account verification services are required.If True, account will be verified.If False, account verification will be skipped. Applicable only for Accounts.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountVerificationRequired-1 | boolean | Indicates whether account verification services are required.If True, account will be verified.If False, account verification will be skipped. Applicable only for Accounts. |  |

#### AccountQueryErrorResponse-3 Schema

Transaction is accepted and will be processed & notified status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionalDetail | { **"status"**: string, <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorDetails"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ] } |  | No |

#### AccountQueryErrorResponse-2 Schema

Transaction is accepted and will be processed & notified status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionalDetail | { **"status"**: string, <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorDetails"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ] } |  | No |

#### QuoteId Schema

This is a unique FX quote ID generated by Visa for a payout currency pair.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| QuoteId | undefined (int64) | This is a unique FX quote ID generated by Visa for a payout currency pair.  |  |

**Example**
<pre>987654321</pre>

#### CityOfBirth Schema

This field should contain recipient’s city of birth.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CityOfBirth |  | This field should contain recipient’s city of birth. |  |

**Example**
<pre>Mumbai</pre>

#### PurposeOfPayments Schema

This group contains all configuration information for Purpose of Payment options. The 'mandatory' attribute indicates whether provision of Purpose of Payment data is required for the Payout to be accepted.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| mandatory |  | Whether the purpose of payment is mandatory.<br>*Example:* `true` | Yes |
| purposeOfPaymentCodes |  | List of valid purpose of payment codes. | No |

#### AccountQueryErrorResponse-1 Schema

Transaction is accepted and will be processed & notified status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: string, <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorDetails"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ] } |  | Yes |

#### RouteDefinitionChangePerCountryAndCurrency Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "w" | Payout method code. Valid values are B- Bank , W- Wallet (This ENUM is not currently supported. It is for future use.) <br>*Enum:* `"B"`, `"w"` | Yes |
| notificationId | string | Unique identifier for the notification. <br>*Example:* `"58e0a7d7-eebc-11d8-9669-0800200c9a66"` | Yes |
| metadataVersion | string | This is the version of the updated route definition.  It is in the format <major-version>.<minor-version>.<patch>.  * patch updates are documentation updates only and should not influence the processing of a payout transaction. Example: changes to the description of Purpose of Payment code.  * minor-version updates indicate backward compatible changes in the route validation rules on a payout transaction. Example: addition of a new Purpose of Payment code.  * major-version updates indicate backward incompatible changes in the route validation rules on a payout transaction. Such changes are usually regulatory in nature or due to partner migration on Visa's backend. Example: Purpose of Payment code changing from a "conditional"/ "recommended" to a "required" field. <br>*Example:* `"1.0.0"` | Yes |
| notificationType | string, <br>**Available values:** "LIVE_UPDATE", "FUTURE_UPDATE", "ROUTE_DISCONTINUED" | Notification Type. Valid value- LIVE_UPDATE, FUTURE_UPDATE (This ENUM is not currently supported. It is for future use.), ROUTE_DISCONTINUED<br>*Enum:* `"LIVE_UPDATE"`, `"FUTURE_UPDATE"`, `"ROUTE_DISCONTINUED"` | Yes |
| metadataVersionDate | date | This is the date when the metadata version will go live.  | Yes |
| recipientCountryCode | string | ISO-3166 (Alpha-3) country code <br>*Example:* `"USA"` | Yes |
| recipientCurrencyCode | string | ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| recipientWalletOperator | string | Wallet operator enumerated names. This field will be present only when the payoutMethod is W. recipientWalletOperator is for future use as payoutMethod=W is not currently supported. <br>*Example:* `"BKASH"` | No |

#### WalletSenderTransactorDetailWithID-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| WalletSenderTransactorDetailWithID-2 | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"identificationList"**:  } |  |  |

#### WalletSenderTransactorDetailWithID-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| WalletSenderTransactorDetailWithID-1 | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", **"idNumber"**: string, **"idIssueCountry"**: string } ] } |  |  |

#### SenderIsIndividual Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name |  | Full name of sender is conditionally required when "firstName" and "lastName" are not provided.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name" <br>For 3rd party payments: "Debtor Name"  | No |
| type | <br>**Available values:** "I", "C" | Identifies the type of sender - "I" for Individual   | Yes |
| lastName |  | Sender last name<br>Sender first name(s) and last name are conditionally required when "name" is not provided. The length of first name(s) and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name" <br>For 3rd party payments: "Debtor Name"  | No |
| firstName |  | Sender first name(s), include all first (given) names <br>Sender first name(s) and last name are conditionally required when "name" is not provided. The length of first name and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name" <br>For 3rd party payments: "Debtor Name"  | No |
| cityOfBirth |  | Sender city of birth  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor City of Birth" <br>For 3rd party payments: "Debtor City of Birth"  | No |
| dateOfBirth | undefined (date) | Sender date of birth (Format: "YYYY-MM-DD", e.g. "1980-02-01")  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Birth Date" <br>For 3rd party payments: "Debtor Birth Date"  | No |
| countryOfBirth |  | Sender country of birth  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  Format: 3-character ISO-3166 (Alpha-3) country code  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Country of Birth" <br>For 3rd party payments: "Debtor Country of Birth"  | No |
| identificationList |  | Identification list of sender | No |

#### AccountRecipientTypeIsUnspecified Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name |  | Recipient company name. Full name is conditionally required when "firstName" and "lastName" are not provided. <br>Must have at least 3 chars<br>Must not contain exclusively numeric characters<br>Must not contain special symbols<br> <table>  <tr>  <td>!</td><td>"</td><td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name: Creditor Name  | No |
| type | <br>**Available values:** "U" | Identifies the type of recipient - "U" for Unspecified(whether Individual or Company). <br>*Enum:* `"U"` | Yes |
| address | { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  } |  | No |
| cityOfBirth |  | Recipient city of birth  ISO20022 field name: Creditor City of Birth  | No |
| dateOfBirth | undefined (date) | Recipient date of birth (Format: "YYYY-MM-DD", e.g. "1980-02-01")  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Birth Date  | No |
| countryOfBirth |  | Recipient country of birth  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  Format: 3-character ISO-3166 (Alpha-3) country code  ISO20022 field name: Creditor Country of Birth  | No |
| identificationList |  | Identification list of recipient | No |

#### AccountSenderTypeIsUnspecified Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name |  | Sender name. Full name is conditionally required when "firstName" and "lastName" are not provided. <br>Must have at least 3 chars<br>Must not contain exclusively numeric characters<br>Must not contain special symbols<br><table>  <tr>  <td>!</td><td>"</td><td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name" <br>For 3rd party payments: "Debtor Name"      | No |
| type | <br>**Available values:** "U" | Identifies the type of sender - "U" for Unspecified(whether Individual or Company). <br>*Enum:* `"U"` | Yes |
| cityOfBirth |  | Sender city of birth  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor City of Birth" <br>For 3rd party payments: "Debtor City of Birth"  | No |
| dateOfBirth | undefined (date) | Sender date of birth (Format: "YYYY-MM-DD", e.g. "1980-02-01")  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Birth Date" <br>For 3rd party payments: "Debtor Birth Date"  | No |
| countryOfBirth |  | Sender country of birth  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  Format: 3-character ISO-3166 (Alpha-3) country code  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Country of Birth" <br>For 3rd party payments: "Debtor Country of Birth"  | No |
| identificationList |  | Identification list of sender | No |

#### Amount-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| Amount-1 | double |  |  |

**Example**
<pre>12.34</pre>

#### WalletAdditionalDetails-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| shareLink | string | An optional field that includes a URL (shareLinkURL) directing the sender to WeChat, where they can view the transaction status. The link can be shared with the recipient to prompt them to fulfill any requirements for receiving their funds. <br />Currently, this is applicable only for Visa Direct wallet payments to the WeChat wallet operator.  | No |

#### 202AccountPayoutCreatedResponse Schema

Transaction is accepted and will be processed & notified status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"status"**: <br>**Available values:** "PENDING", **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64) } |  | No |

#### WalletAdditionalDetails-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| shareLink |  | An optional field that includes a URL (shareLinkURL) directing the sender to WeChat, where they can view the transaction status. The link can be shared with the recipient to prompt them to fulfill any requirements for receiving their funds. <br />Currently, this is applicable only for Visa Direct wallet payments to the WeChat wallet operator.  | No |

#### WalletAdditionalDetails Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| shareLink |  | An optional field that includes a URL (shareLinkURL) directing the sender to WeChat, where they can view the transaction status. The link can be shared with the recipient to prompt them to fulfill any requirements for receiving their funds. <br />Currently, this is applicable only for Visa Direct wallet payments to the WeChat wallet operator.  | No |

#### RouteDefinitionRecallPerCountryClusterAndCurrency Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B" | Payout method code. Valid value is B- bank. <br>*Enum:* `"B"` | Yes |
| notificationId | string | Unique identifier for the notification. In case of a recall (i.e., when the notificationType is "RECALL"), this field will contain the notificationId of a previously sent notification that is being recalled. <br>*Example:* `"58e0a7d7-eebc-11d8-9669-0800200c9a66"` | Yes |
| metadataVersion | string | This is the version of the route definition recalled by VISA.  It is in the format <major-version>.<minor-version>.<patch>.  * patch updates are documentation updates only and should not influence the processing of a payout transaction. Example: changes to the description of Purpose of Payment code.  * minor-version updates indicate backward compatible changes in the route validation rules on a payout transaction. Example: addition of a new Purpose of Payment code.  * major-version updates indicate backward incompatible changes in the route validation rules on a payout transaction. Such changes are usually regulatory in nature or due to partner migration on Visa's backend. Example: Purpose of Payment code changing from a "conditional"/ "recommended" to a "required" field. <br>*Example:* `"1.0.0"` | Yes |
| notificationType | string, <br>**Available values:** "RECALL" | Notification type. <br>*Enum:* `"RECALL"` | Yes |
| metadataVersionDate | date | This was the expected go-live date of the recalled metadata version. | Yes |
| recipientCurrencyCode | string | ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| recipientCountryCluster | string, <br>**Available values:** "SEPA", "CEMAC", "UEMOA" | Country Cluster code-valid values are SEPA, CEMAC, UEMOA <br>*Enum:* `"SEPA"`, `"CEMAC"`, `"UEMOA"` | Yes |

#### FirstName Schema

Required when recipient is an individual.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| FirstName |  | Required when recipient is an individual. |  |

**Example**
<pre>Joe</pre>

#### StatementNarrative-1 Schema

Originating Entity is advised to provide a narrative that helps the recipient clearly identify the sender and reason for the payment. Text will be displayed on the recipient’s statement when the payment gets posted to the recipient’s account or wallet statement. 
Not all wallet operators support a statement narrative.

Conditional - (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths).

ISO20022 field name: Remittance Information Unstructured

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| StatementNarrative-1 | string | Originating Entity is advised to provide a narrative that helps the recipient clearly identify the sender and reason for the payment. Text will be displayed on the recipient’s statement when the payment gets posted to the recipient’s account or wallet statement.  Not all wallet operators support a statement narrative.  Conditional - (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths).  ISO20022 field name: Remittance Information Unstructured  |  |

**Example**
<pre>testing narrative</pre>

#### StatementNarrative-2 Schema

Originating Entity is advised to provide a narrative that helps the recipient clearly identify the sender and reason for the payment. Text will be displayed on the recipient’s statement when the payment gets posted to the recipient’s account or wallet statement. 
Not all wallet operators support a statement narrative.

Conditional - (Refer to Payouts Endpoint Guide on country-specific required fields and lengths).

ISO20022 field name: Remittance Information Unstructured       

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| StatementNarrative-2 | string | Originating Entity is advised to provide a narrative that helps the recipient clearly identify the sender and reason for the payment. Text will be displayed on the recipient’s statement when the payment gets posted to the recipient’s account or wallet statement.  Not all wallet operators support a statement narrative.  Conditional - (Refer to Payouts Endpoint Guide on country-specific required fields and lengths).  ISO20022 field name: Remittance Information Unstructured         |  |

**Example**
<pre>testing narrative</pre>

#### StatementNarrative-3 Schema

Originating Entity is advised to provide a narrative that helps the recipient clearly identify the sender and reason for the payment. Text will be displayed on the recipient’s statement when the payment gets posted to the recipient’s account or wallet statement. 
Not all wallet operators support a statement narrative.

Conditional - (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths).

ISO20022 field name: Remittance Information Unstructured       

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| StatementNarrative-3 | string | Originating Entity is advised to provide a narrative that helps the recipient clearly identify the sender and reason for the payment. Text will be displayed on the recipient’s statement when the payment gets posted to the recipient’s account or wallet statement.  Not all wallet operators support a statement narrative.  Conditional - (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths).  ISO20022 field name: Remittance Information Unstructured         |  |

**Example**
<pre>testing narrative</pre>

#### DigitalAssetValidPayoutResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| validationDetails |  | comprehensive array of errors | No |
| expectedPostingDate | undefined (date) |  | No |
| validationResultCode | <br>**Available values:** "VALID" | - VALID - Visa's validation succeeds. <br>*Enum:* `"VALID"` | Yes |

#### FundingStatus-2 Schema

Indicates funding status of the payout transaction. 
FUNDED - Indicates that the payout is fully funded and the allocated funds are available for settlement.
NOT_FUNDED - Indicates that the payout has not yet been allocated any funds.
FUNDED_AGING - Indicates that the payout has been allocated funds but the funds are still in the required ageing period.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| FundingStatus-2 | <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING" | Indicates funding status of the payout transaction.  FUNDED - Indicates that the payout is fully funded and the allocated funds are available for settlement. NOT_FUNDED - Indicates that the payout has not yet been allocated any funds. FUNDED_AGING - Indicates that the payout has been allocated funds but the funds are still in the required ageing period.  |  |

#### FundingStatus-3 Schema

Indicates funding status of the payout transaction. This field is applicable for account payments only.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| FundingStatus-3 | string, <br>**Available values:** "FUNDED", "NOT_FUNDED" | Indicates funding status of the payout transaction. This field is applicable for account payments only.  |  |

#### FundingStatus-1 Schema

Indicates funding status of the payout transaction.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| FundingStatus-1 | string, <br>**Available values:** "FUNDED", "NOT_FUNDED" | Indicates funding status of the payout transaction.  |  |

#### VerifyRecipientWalletOnlyRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "W" | Originating Entity must indicate the payout method i.e. Wallet Valid values: - "W" Visa Direct Wallet <br>*Enum:* `"W"` | No |
| recipientDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"wallet"**: { **"countryCode"**: , **"currencyCode"**: , **"operatorName"**: , **"accountIdentifier"**: , **"accountIdentifierType"**: <br>**Available values:** "PHONENUMBER", "EMAIL", "USERNAME" }, **"lastName"**: , **"firstName"**:  } |  | Yes |
| initiatingPartyId | undefined (int64) |  | Yes |
| clientVerificationReference |  |  | No |

#### EndToEndId Schema

Identifier assigned by the Originating Entity's customer to track the transaction end-to-end

Conditional: Required if payout to a wallet recipient

ISO20022 field name: end-to-end identification

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| EndToEndId |  | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification  |  |

**Example**
<pre>5003f6a02c4411b2aa5747378ae5331</pre>

#### DigitalAssetValidateWalletTransactionDetail-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| transactionAmount | undefined (double) | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| senderSourceOfFunds |  | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.  ISO20022 field name: Debtor Account Type  | No |
| businessApplicationId |  | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode |  | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode |  | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |

#### DigitalAssetValidateWalletTransactionDetail-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| initiatingPartyId | long |  | Yes |
| transactionAmount | double | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| senderSourceOfFunds | string | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.  ISO20022 field name: Debtor Account Type  | No |
| businessApplicationId | string | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode | string | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode | string | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |

#### PayoutWalletRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. To Account or Wallet  Valid values: “W” – Visa Direct Wallet  | Yes |
| senderDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"identificationList"**:  } |  | Yes |
| recipientDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } |  | Yes |

#### AccountId Schema

The accountId uniquely identifies the ledger account as a virtual account number(i.e. VAN), with a value or number assigned by Visa.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountId |  | The accountId uniquely identifies the ledger account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. |  |

#### PayoutDigitalAssetRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Digital Asset  Valid values: "D" – Visa Direct Digital Asset  | Yes |
| senderDetail | { **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C" } |  | Yes |
| recipientDetail | { **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"dateOfBirth"**: date, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", **"idNumber"**: string, **"idIssueCountry"**: string } ] } |  | Yes |

#### VerifyRecipientWalletRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "W" | Originating Entity must indicate the payout method i.e. Wallet Valid values: - "W" Visa Direct Wallet <br>*Enum:* `"W"` | Yes |
| recipientDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"wallet"**: { **"countryCode"**: , **"currencyCode"**: , **"operatorName"**: , **"accountIdentifier"**: , **"accountIdentifierType"**: <br>**Available values:** "PHONENUMBER", "EMAIL", "USERNAME" }, **"lastName"**: , **"firstName"**:  } |  | Yes |
| initiatingPartyId | undefined (int64) |  | Yes |
| clientVerificationReference |  |  | No |

#### PayoutReceivedAfter202InSendPayout-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: string, **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: dateTime, **"notificationDateTime"**: dateTime, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string } |  | Yes |

#### TransactionStatus Schema

- PAYMENT_RECEIVED: Visa has acknowledged the payout instruction has been received
- AWAITING_INFORMATION: More information required by Visa before transaction can be processed.
- PAYMENT_SENT: The payout has been submitted to the Network partner
- PAYMENT_DELIVERED: The payout has been posted to the recipient's account. This status is applicable for all Wallet Payments and Account Payments only when provided by the Network Partner.
- PENDING_CANCELLATION: Cancel payout status is pending
- CANCELLED - Payout is cancelled
- RETURNED: Returned request is refunded to Originating Entity
- REJECTED: Rejected request is refunded to Originating Entity
- DELIVERED_TO_SCHEME: The payout has been submitted to the local country scheme for further processing. This status is applicable for Account Payments only when provided by the Network Partner.
- DELIVERED_TO_RECIPIENT_BANK: The payout has been submitted to the recipient’s bank. This status is applicable for Account Payments only when provided by the Network Partner.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TransactionStatus | <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK" | - PAYMENT_RECEIVED: Visa has acknowledged the payout instruction has been received - AWAITING_INFORMATION: More information required by Visa before transaction can be processed. - PAYMENT_SENT: The payout has been submitted to the Network partner - PAYMENT_DELIVERED: The payout has been posted to the recipient's account. This status is applicable for all Wallet Payments and Account Payments only when provided by the Network Partner. - PENDING_CANCELLATION: Cancel payout status is pending - CANCELLED - Payout is cancelled - RETURNED: Returned request is refunded to Originating Entity - REJECTED: Rejected request is refunded to Originating Entity - DELIVERED_TO_SCHEME: The payout has been submitted to the local country scheme for further processing. This status is applicable for Account Payments only when provided by the Network Partner. - DELIVERED_TO_RECIPIENT_BANK: The payout has been submitted to the recipient’s bank. This status is applicable for Account Payments only when provided by the Network Partner.  |  |

**Example**
<pre>PAYMENT_SENT</pre>

#### PayoutReceivedAfter202InSendPayout-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: undefined (date-time), **"notificationDateTime"**: undefined (date-time), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**:  } |  | Yes |

#### SenderCompany-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name | string | Sender company name. <br>Must not contain exclusively numeric characters  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name"<br>For 3rd party payments: "Debtor Name"  | Yes |
| type | string, <br>**Available values:** "I", "C" | Identifies the type of sender - "C" for Company   | Yes |

#### UnspecifiedTypeRecipientIdentificationListAccountWallet Schema

Identification list of recipient

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| UnspecifiedTypeRecipientIdentificationListAccountWallet |  | Identification list of recipient |  |

#### Name Schema

It can have either company name or fullname based on type (I or C)

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| Name | string | It can have either company name or fullname based on type (I or C) |  |

**Example**
<pre>Visa</pre>

#### ValidPayoutWithNetworkResponse-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| expectedPostingDate | undefined (date) |  | No |
| validationResultCode | string, <br>**Available values:** "VALID_WITH_NETWORK" | - VALID_WITH_NETWORK - Both Visa's and partner network's validations succeed. Only applicable for Wallet Payouts.  <br>*Enum:* `"VALID_WITH_NETWORK"` | Yes |

#### ValidPayoutWithNetworkResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| nameMatch | <br>**Available values:** "STRONG_MATCH", "PARTIAL_MATCH", "NO_MATCH" | Score provided based on recipient’s name match, if recipient’s account is found and active. Supports below values: STRONG_MATCH,PARTIAL_MATCH and NO_MATCH. STRONG_MATCH - Recipient’s account found and name is a highly confident match. PARTIAL_MATCH - Recipient’s account found and name is a partial match. NO_MATCH - Recipient’s account found but name is likely not a match. Applicable only for Accounts. <br>*Enum:* `"STRONG_MATCH"`, `"PARTIAL_MATCH"`, `"NO_MATCH"` | No |
| currencyCodes |  | List of currency codes accepted by the specific requested account which is verified by the Account verification services. <br>*Example:* `["USD","GBP","EUR"]` | No |
| verificationId |  | Unique verification identifier.<br>*Example:* `"5003f6a0-2c44-11b2-aa57-47378ae53313"` | No |
| bankAccountName |  | recipient bank account name i.e. account holder name as returned by the partner when nameMatch = ‘PARTIAL_MATCH’. Available for some corridors. Applicable only for Accounts. | No |
| expectedPostingDate | undefined (date) | This is an estimated date by which the payout should be posted to the recipient’s account. This date should be communicated to the sender and recipient (if possible) to ensure that they know when to expect the funds.  The EPD is a variable field that may alter between the responses of validate payout API and send payout API.  ISO20022 field name: Interbank Settlement Date <br>*Example:* `"1980-02-01"` | No |
| validationResultCode | <br>**Available values:** "VALID_WITH_NETWORK" | - VALID_WITH_NETWORK - Both Visa's and partner network's validations succeed. <br>*Enum:* `"VALID_WITH_NETWORK"` | Yes |
| bankAccountNameTranslation |  | Account HolderName Translated from the source language to english. <br>*Example:* `"Wang Li"` | No |
| clientVerificationReference |  | A client submitted identifier. This field and same value will be returned in the response.<br>*Example:* `"1234567890"` | No |

#### ValidPayoutWithNetworkResponse-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| validationResultCode | string, <br>**Available values:** "VALID_WITH_NETWORK" | - VALID_WITH_NETWORK - Both Visa's and partner network's validations succeed.  <br>*Enum:* `"VALID_WITH_NETWORK"` | Yes |

#### PreviousStatus Schema

Indicates the currency's previous status, if applicable. Only two values are allowed <br />
ENABLED – payouts in this currency were allowed. <br />
DISABLED – payouts in this currency were not allowed.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PreviousStatus | <br>**Available values:** "ENABLED", "DISABLED" | Indicates the currency's previous status, if applicable. Only two values are allowed <br /> ENABLED – payouts in this currency were allowed. <br /> DISABLED – payouts in this currency were not allowed.  |  |

**Example**
<pre>ENABLED</pre>

#### ValidPayoutWithNetworkResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| nameMatch | string, <br>**Available values:** "STRONG_MATCH", "PARTIAL_MATCH", "NO_MATCH" | Score provided based on recipient’s name match, if recipient’s account is found and active. Supports below values: STRONG_MATCH,PARTIAL_MATCH and NO_MATCH. STRONG_MATCH - Recipient’s account found and name is a highly confident match. PARTIAL_MATCH - Recipient’s account found and name is a partial match. NO_MATCH - Recipient’s account found but name is likely not a match. Applicable only for Accounts. <br>*Enum:* `"STRONG_MATCH"`, `"PARTIAL_MATCH"`, `"NO_MATCH"` | No |
| currencyCodes | [ string ] | List of currency codes accepted by the specific requested account which is verified by the Account verification services. <br>*Example:* `["USD","GBP","EUR"]` | No |
| verificationId | string | Unique verification identifier.<br>*Example:* `"5003f6a0-2c44-11b2-aa57-47378ae53313"` | No |
| bankAccountName | string | recipient bank account name i.e. account holder name as returned by the partner when nameMatch = ‘PARTIAL_MATCH’. Available for some corridors. Applicable only for Accounts. | No |
| expectedPostingDate | undefined (date) |  | No |
| validationResultCode | string, <br>**Available values:** "VALID_WITH_NETWORK" | - VALID_WITH_NETWORK - Both Visa's and partner network's validations succeed. <br>*Enum:* `"VALID_WITH_NETWORK"` | Yes |
| bankAccountNameTranslation | string | Account HolderName Translated from the source language to english. <br>*Example:* `"Wang Li"` | No |
| clientVerificationReference | string |  | No |

#### ClientReferenceId-1 Schema

Identifier assigned by the Originating Entity to uniquely identify the transaction.

ISO20022 field name: Transaction Identification

Only alphanumeric and '-' characters are allowed.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ClientReferenceId-1 | string | Identifier assigned by the Originating Entity to uniquely identify the transaction.  ISO20022 field name: Transaction Identification  Only alphanumeric and '-' characters are allowed.  |  |

#### ValidatePayoutResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ValidatePayoutResponse | { **"verificationId"**: , **"validationDetails"**: , **"expectedPostingDate"**: undefined (date), **"validationResultCode"**: <br>**Available values:** "VALID", **"clientVerificationReference"**:  } or { **"nameMatch"**: <br>**Available values:** "STRONG_MATCH", "PARTIAL_MATCH", "NO_MATCH", **"currencyCodes"**: , **"verificationId"**: , **"bankAccountName"**: , **"expectedPostingDate"**: undefined (date), **"validationResultCode"**: <br>**Available values:** "VALID_WITH_NETWORK", **"bankAccountNameTranslation"**: , **"clientVerificationReference"**:  } or { **"verificationId"**: , **"validationDetails"**: , **"validationResultCode"**: <br>**Available values:** "INVALID", **"clientVerificationReference"**:  } |  |  |

#### DigitalAssetQueryErrorResponse Schema

Transaction is accepted and will be processed & notified status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "D" | This field indicates the payout method i.e. Digital Asset Valid values: - "D" Visa Direct Digital Asset <br>*Enum:* `"D"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "VALIDATION_FAILED", "ERROR                -", **"errorDetails"**:  } |  | Yes |

#### LedgerNotification-2 Schema

Used to indicate to originators that various ledger entries has been received by Visa.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| amount | undefined (double) | Funding amount that is credited by the Originating Entity. Expressed in the currency provided in field currencyCode  Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.   Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”.  ISO20022 field name: Instructed Amount  | Yes |
| entryId |  | The entry Id is used to uniquely identify a ledger notification for a single account and currency | Yes |
| accountId |  | The accountId uniquely identifies the ledger account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| entryType | <br>**Available values:** "FUNDING", "REPATRIATION", "JOURNAL", "MANAGED_LIQUIDITY" | Entry type helps to classify entries in ledger.   Possible values: * 'FUNDING' * 'REPATRIATION' * 'JOURNAL' * 'MANAGED_LIQUIDITY' <br>*Enum:* `"FUNDING"`, `"REPATRIATION"`, `"JOURNAL"`, `"MANAGED_LIQUIDITY"` | Yes |
| narrative |  | An optional description for the reason why a ledger notification was performed. | No |
| valueDate | undefined (date) | The date at which the funds are available to fund transactions. | No |
| endToEndId |  | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | No |
| bookingDate | undefined (date) | THe date at which funds are received into the ledger. | No |
| currencyCode |  | The 3-character ISO-4217 code in this field reflects the currency associated to the destination amount   Format: 3-character ISO-4217 (Alpha-3) currency code  | Yes |
| additionalInfo1 |  | Additional information that may be in the original funding to the bank, and passed along in this field.  | No |
| additionalInfo2 |  | Additional information that may be in the original funding to the bank, and passed along in this field.  | No |
| additionalInfo3 |  | Additional information that may be in the original funding to the bank, and passed along in this field.  | No |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| counterValueAmount | undefined (double) | The counter amount of the fx performed on REPATRIATION type.   Conditional: Present only when entryType = REPATRIATION.  Omitted for all other entry types (FUNDING, JOURNAL, MANAGED_LIQUIDITY).  Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.   Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”.  | No |
| creditDebitIndicator | <br>**Available values:** "CREDIT", "DEBIT" | Indicates that money credited to or debited from the account  Possible values: * `CREDIT` - Indicates that the client has funded their account. * `DEBIT` - Indicates that money was removed from a client account. <br>*Enum:* `"CREDIT"`, `"DEBIT"` | Yes |
| counterValueCurrencyCode |  | The 3-character ISO-4217 code in this field reflects the currency associated to the counterValueAmount.   Format: 3-character ISO-4217 (Alpha-3) currency code. Conditional: Present only when entryType = REPATRIATION. Omitted for all other entry types (FUNDING, JOURNAL, MANAGED_LIQUIDITY).  | No |

#### LedgerNotification-1 Schema

Used to indicate to originators that various ledger entries has been received by Visa.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| amount | double | Funding amount that is credited by the Originating Entity. Expressed in the currency provided in field currencyCode  Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.   Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”.  ISO20022 field name: Instructed Amount  | Yes |
| entryId | string | The entry Id is used to uniquely identify a ledger notification for a single account and currency | Yes |
| accountId | string |  | Yes |
| entryType | string, <br>**Available values:** "FUNDING", "REPATRIATION", "JOURNAL", "MANAGED_LIQUIDITY" | Entry type helps to classify entries in ledger.   Possible values: * 'FUNDING' * 'REPATRIATION' * 'JOURNAL' * 'MANAGED_LIQUIDITY' <br>*Enum:* `"FUNDING"`, `"REPATRIATION"`, `"JOURNAL"`, `"MANAGED_LIQUIDITY"` | Yes |
| narrative | string | An optional description for the reason why a ledger notification was performed. | No |
| valueDate | date | The date at which the funds are available to fund transactions. | No |
| endToEndId | string | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | No |
| bookingDate | date | THe date at which funds are received into the ledger. | No |
| currencyCode | string | The 3-character ISO-4217 code in this field reflects the currency associated to the destination amount   Format: 3-character ISO-4217 (Alpha-3) currency code  | Yes |
| additionalInfo1 | string | Additional information that may be in the original funding to the bank, and passed along in this field.  | No |
| additionalInfo2 | string | Additional information that may be in the original funding to the bank, and passed along in this field.  | No |
| additionalInfo3 | string | Additional information that may be in the original funding to the bank, and passed along in this field.  | No |
| initiatingPartyId | long |  | Yes |
| creditDebitIndicator | string, <br>**Available values:** "CREDIT", "DEBIT" | Indicates that money credited to or debited from the account  Possible values: * `CREDIT` - Indicates that the client has funded their account. * `DEBIT` - Indicates that money was removed from a client account. <br>*Enum:* `"CREDIT"`, `"DEBIT"` | Yes |

#### LedgerNotification-4 Schema

Used to indicate to originators that various ledger entries has been received by Visa.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| amount | double | Funding amount that is credited by the Originating Entity. Expressed in the currency provided in field currencyCode  Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.   Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”.  ISO20022 field name: Instructed Amount  | Yes |
| entryId | string | The entry Id is used to uniquely identify a ledger notification for a single account and currency | Yes |
| accountId | string |  | Yes |
| entryType | string, <br>**Available values:** "FUNDING", "REPATRIATION", "JOURNAL", "MANAGED_LIQUIDITY" | Entry type helps to classify entries in ledger.   Possible values: * 'FUNDING' * 'REPATRIATION' * 'JOURNAL' * 'MANAGED_LIQUIDITY' <br>*Enum:* `"FUNDING"`, `"REPATRIATION"`, `"JOURNAL"`, `"MANAGED_LIQUIDITY"` | Yes |
| narrative | string | An optional description for the reason why a ledger notification was performed. | No |
| valueDate | date | The date at which the funds are available to fund transactions. | No |
| endToEndId | string | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification  <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | No |
| bookingDate | date | THe date at which funds are received into the ledger. | No |
| currencyCode | string | The 3-character ISO-4217 code in this field reflects the currency associated to the destination amount   Format: 3-character ISO-4217 (Alpha-3) currency code  | Yes |
| additionalInfo1 | string | Additional information that may be in the original funding to the bank, and passed along in this field.  | No |
| additionalInfo2 | string | Additional information that may be in the original funding to the bank, and passed along in this field.  | No |
| additionalInfo3 | string | Additional information that may be in the original funding to the bank, and passed along in this field.  | No |
| initiatingPartyId | long |  | Yes |
| creditDebitIndicator | string, <br>**Available values:** "CREDIT", "DEBIT" | Indicates that money credited to or debited from the account  Possible values: * `CREDIT` - Indicates that the client has funded their account. * `DEBIT` - Indicates that money was removed from a client account. <br>*Enum:* `"CREDIT"`, `"DEBIT"` | Yes |

#### LedgerNotification-3 Schema

Used to indicate to originators that various ledger entries has been received by Visa.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| amount | double | Funding amount that is credited by the Originating Entity. Expressed in the currency provided in field currencyCode  Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Payouts Endpoint Guide for Payout on country-specific currency minor units.   Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”.  ISO20022 field name: Instructed Amount  | Yes |
| entryId | string | The entry Id is used to uniquely identify a ledger notification for a single account and currency | Yes |
| accountId | string |  | Yes |
| entryType | string, <br>**Available values:** "FUNDING", "REPATRIATION", "JOURNAL", "MANAGED_LIQUIDITY" | Entry type helps to classify entries in ledger.   Possible values: * 'FUNDING' * 'REPATRIATION' * 'JOURNAL' * 'MANAGED_LIQUIDITY' <br>*Enum:* `"FUNDING"`, `"REPATRIATION"`, `"JOURNAL"`, `"MANAGED_LIQUIDITY"` | Yes |
| narrative | string | An optional description for the reason why a ledger notification was performed. | No |
| valueDate | date | The date at which the funds are available to fund transactions. | No |
| endToEndId | string | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification  <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | No |
| bookingDate | date | THe date at which funds are received into the ledger. | No |
| currencyCode | string | The 3-character ISO-4217 code in this field reflects the currency associated to the destination amount   Format: 3-character ISO-4217 (Alpha-3) currency code  | Yes |
| additionalInfo1 | string | Additional information that may be in the original funding to the bank, and passed along in this field.  | No |
| additionalInfo2 | string | Additional information that may be in the original funding to the bank, and passed along in this field.  | No |
| additionalInfo3 | string | Additional information that may be in the original funding to the bank, and passed along in this field.  | No |
| initiatingPartyId | long |  | Yes |
| creditDebitIndicator | string, <br>**Available values:** "CREDIT", "DEBIT" | Indicates that money credited to or debited from the account  Possible values: * `CREDIT` - Indicates that the client has funded their account. * `DEBIT` - Indicates that money was removed from a client account. <br>*Enum:* `"CREDIT"`, `"DEBIT"` | Yes |

#### IdentityListItem-1 Schema

This is used to populate a recipient identity field which needs to be displayed as a list in the UI.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| label | string | The visible label to be presented in the UI list. | Yes |
| value | string | The stored value for the visible list item label. | Yes |

#### PayoutId-1 Schema

This is a globally unique identifier generated by Visa for a payout transaction

ISO20022 field name: Transaction Information And Status - Additional Remittance Information

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayoutId-1 | string | This is a globally unique identifier generated by Visa for a payout transaction  ISO20022 field name: Transaction Information And Status - Additional Remittance Information  |  |

**Example**
<pre>5003f6a0-2c44-11b2-aa57-47378ae53313_1</pre>

#### AccountVerificationRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B" | Method of payout. For accounts, this should be 'B'.<br>*Enum:* `"B"`<br>*Example:* `"B"` | Yes |
| recipientDetail | { **"bank"**: { **"BIC"**: string, **"bankCode"**: string, **"bankName"**: string, **"branchCode"**: string, **"accountName"**: string, **"accountType"**: string, <br>**Available values:** "1", "2", "3", "4", "5", "6", **"countryCode"**: string, **"bankCodeType"**: string, <br>**Available values:** "ABA", "SORT_CODE", "DEFAULT", **"currencyCode"**: string, **"accountNumber"**: string, **"accountNumberType"**: string, <br>**Available values:** "IBAN", "ALIAS", "DEFAULT" }, **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "L", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } |  | Yes |
| initiatingPartyId | string | The ID of the initiating party.<br>*Example:* `"123456"` | Yes |
| clientVerificationReference | string |  | Yes |

#### WalletTransactionDetail Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| quoteId | undefined (int64) | This is a unique FX quote ID generated by Visa for a payout currency pair. <br>*Example:* `987654321` | No |
| endToEndId |  | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | Yes |
| payoutSpeed | <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority <br>*Enum:* `"STANDARD"`, `"PREMIUM"`<br>*Example:* `"standard"` | No |
| fundingModel | <br>**Available values:** "PREFUNDED" | The fundingModel to apply to this payout.<br>*Enum:* `"PREFUNDED"` | No |
| additionalData |  | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) | No |
| purposeOfPayment |  | Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) ISO20022 field name: Purpose of Payment  | No |
| clientReferenceId |  | Identifier assigned by the Originating Entity to uniquely identify the transaction.  ISO20022 field name: Transaction Identification  Only alphanumeric and '-' characters are allowed.  | Yes |
| initiatingPartyId | undefined (int64) |  | Yes |
| transactionAmount | undefined (double) | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| statementNarrative |  |  | No |
| senderSourceOfFunds |  | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.  ISO20022 field name: Debtor Account Type  | No |
| businessApplicationId |  | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode |  | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode |  | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |
| senderBeneficiaryRelationship |  | Sender's relationship with recipient | No |

#### AccountRecipientTransactorDetailWithID-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountRecipientTransactorDetailWithID-1 | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", "I", **"idNumber"**: string, **"idIssueCountry"**: string } ] } |  |  |

#### DigitalAssetRecipientTransactorDetailWithID-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DigitalAssetRecipientTransactorDetailWithID-1 | { **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"dateOfBirth"**: date, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", **"idNumber"**: string, **"idIssueCountry"**: string } ] } |  |  |

#### RecipientAccountPayoutAddress Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city |  | Recipient address city  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Town Name  | No |
| state |  | Recipient address state or province  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Country Sub-division  | No |
| country |  | Recipient address country  Format: 3-character ISO-3166 (Alpha-3) country code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Country  | No |
| postalCode |  | Recipient address postal code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Postal Code  | No |
| addressLine1 |  | Recipient address line 1  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Street Name  | No |
| addressLine2 |  | Recipient address line 2  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Floor  | No |

#### AccountVerificationRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B" | Method of payout. For accounts, this should be 'B'.<br>*Enum:* `"B"`<br>*Example:* `"B"` | Yes |
| recipientDetail | { **"bank"**: { **"BIC"**: , **"bankCode"**: , **"bankName"**: , **"branchCode"**: , **"accountName"**: , **"accountType"**: <br>**Available values:** "1", "2", "3", "4", "5", "6", **"countryCode"**: , **"bankCodeType"**: <br>**Available values:** "ABA", "SORT_CODE", "DEFAULT", **"currencyCode"**: , **"accountNumber"**: , **"accountNumberType"**: <br>**Available values:** "IBAN", "ALIAS", "DEFAULT" }, **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"identificationList"**: { **"idType"**:  } } |  | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| clientVerificationReference |  | A client submitted identifier. This field and same value will be returned in the response.<br>*Example:* `"1234567890"` | Yes |

#### DigitalAssetRecipientTransactorDetailWithID-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DigitalAssetRecipientTransactorDetailWithID-2 | { **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"dateOfBirth"**: undefined (date), **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } |  |  |

#### DigitalAssetQueryPendingCancelledResponse Schema

Transaction is in pending or cancelled (cancelled during pending) status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "D" | This field indicates the payout method i.e. Digital Asset Valid values: - "D" Visa Direct Digital Asset <br>*Enum:* `"D"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64) } |  | Yes |

#### CaseNotification Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| caseId |  | The unique identifier of the case in VD Portal. Use this to retrieve the case via GET /v1/cases/{caseId}. <br>*Example:* `"VDX-a1b2c3d4-e5f6-7890-abcd-ef1234567890"` | Yes |
| messageId | undefined (uuid) | The unique identifier of the message that was created on the case. Use this to retrieve the message via GET /v1/cases/{caseId}/messages/{messageId}. <br>*Example:* `"1f2c37f8-ef85-43b2-b2c4-2521b0feecfa"` | Yes |

#### AccountRecipientTransactorDetailWithID-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountRecipientTransactorDetailWithID-2 | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "U", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } |  |  |

#### PreviousStatus-1 Schema

Indicates the currency's previous status, if applicable. Only two values are allowed <br />
ENABLED – payouts in this currency were allowed. <br />
DISABLED – payouts in this currency were not allowed.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PreviousStatus-1 | string, <br>**Available values:** "ENABLED", "DISABLED" | Indicates the currency's previous status, if applicable. Only two values are allowed <br /> ENABLED – payouts in this currency were allowed. <br /> DISABLED – payouts in this currency were not allowed.  |  |

**Example**
<pre>ENABLED</pre>

#### ClientVerificationReference-2 Schema

A client submitted identifier. This field and same value will be returned in the response.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ClientVerificationReference-2 |  | A client submitted identifier. This field and same value will be returned in the response. |  |

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

#### ClientVerificationReference-1 Schema

A client submitted identifier. This field and same value will be returned in the response.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ClientVerificationReference-1 | string | A client submitted identifier. This field and same value will be returned in the response. |  |

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

#### PullFundsNotReceivedNotification-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId |  | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | <br>**Available values:** "PULL_FUNDS_NOT_RECEIVED" | The type of event that triggered the notification.<br>*Enum:* `"PULL_FUNDS_NOT_RECEIVED"` | Yes |
| fundingDetails |  |  | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| notificationDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### PullFundsNotReceivedNotification-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId | string | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | string, <br>**Available values:** "PULL_FUNDS_NOT_RECEIVED" | The type of event that triggered the notification.<br>*Enum:* `"PULL_FUNDS_NOT_RECEIVED"` | Yes |
| fundingDetails | [ { **"pullFundId"**: string, **"currencyCode"**: string, **"totalAmountDue"**: double, **"pullFundsDetails"**: { **"iBan"**: string, **"bankName"**: string, **"accountNumber"**: integer, **"originalDueDateTime"**: dateTime, **"expectedDebitDateTime"**: dateTime } } ] |  | Yes |
| initiatingPartyId | long | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| notificationDateTime | dateTime | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### AccountBalanceWithTimestamp-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId | string |  | Yes |
| balanceTimestamp | dateTime |  | No |
| lastTransactionTimestamp | dateTime | The timestamp of the last money movement on the client's account.   This is a valid ISO 8601 timestamp, such as YYYY-MM-DDThh:mm:ss.sss±hh:mm.  | No |

#### CurrencyInfoReason-1 Schema

The reason denotes why a particular currency change has happened.
1. FLEXIBLE_SETTLEMENT_DISABLED – The flexible settlement is disabled for the client. This applies only when the currentStatus is DISABLED. 
2. CURRENCY_DISABLED - The currency is disabled for the client. This applies only when the currentStatus is DISABLED.
3. FREEZE_MANUAL – The currency has been manually frozen. This applies only when the currentStatus is DISABLED.
4. FREEZE_SETTLEMENT_DUE - The currency is automatically frozen following a settlement breach and will stay frozen until the outstanding amount is paid. This applies only when the currentStatus is DISABLED.
5. FREEZE_ALL_FREEZE_ENABLED - This currency is frozen because another currency is overdue, and the all-freeze setting is enabled. This applies only when the currentStatus is DISABLED.
6. UNFREEZE_MANUAL - The currency has been manually enabled temporarily. This applies only when the currentStatus is ENABLED.
7. NO_DUES - The currency is enabled and can be used to send payouts. This applies only when the currentStatus is ENABLED.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CurrencyInfoReason-1 | string, <br>**Available values:** "FLEXIBLE_SETTLEMENT_DISABLED", "CURRENCY_DISABLED", "FREEZE_MANUAL", "FREEZE_SETTLEMENT_DUE", "FREEZE_ALL_FREEZE_ENABLED", "UNFREEZE_MANUAL", "NO_DUES" | The reason denotes why a particular currency change has happened. 1. FLEXIBLE_SETTLEMENT_DISABLED – The flexible settlement is disabled for the client. This applies only when the currentStatus is DISABLED.  2. CURRENCY_DISABLED - The currency is disabled for the client. This applies only when the currentStatus is DISABLED. 3. FREEZE_MANUAL – The currency has been manually frozen. This applies only when the currentStatus is DISABLED. 4. FREEZE_SETTLEMENT_DUE - The currency is automatically frozen following a settlement breach and will stay frozen until the outstanding amount is paid. This applies only when the currentStatus is DISABLED. 5. FREEZE_ALL_FREEZE_ENABLED - This currency is frozen because another currency is overdue, and the all-freeze setting is enabled. This applies only when the currentStatus is DISABLED. 6. UNFREEZE_MANUAL - The currency has been manually enabled temporarily. This applies only when the currentStatus is ENABLED. 7. NO_DUES - The currency is enabled and can be used to send payouts. This applies only when the currentStatus is ENABLED.  |  |

**Example**
<pre>FLEXIBLE_SETTLEMENT_DISABLED</pre>

#### VplContact-1 Schema

Contact information for VPL Client Support.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| VplContact-1 | string | Contact information for VPL Client Support. |  |

#### AccountBalanceWithTimestamp-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId |  | The accountId uniquely identifies the ledger account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| balanceTimestamp | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | No |
| lastTransactionTimestamp | undefined (date-time) | The timestamp of the last money movement on the client's account.   This is a valid ISO 8601 timestamp, such as YYYY-MM-DDThh:mm:ss.sss±hh:mm.  | No |

#### LastName Schema

Required when recipient is an individual.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| LastName |  | Required when recipient is an individual. |  |

**Example**
<pre>Anderson</pre>

#### AccountBalanceWithTimestamp-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId | string |  | Yes |
| balanceTimestamp | dateTime |  | No |
| lastTransactionTimestamp | dateTime | The timestamp of the last money movement on the client's account.   This is a valid ISO 8601 timestamp, such as YYYY-MM-DDThh:mm:ss.sss±hh:mm.                    | No |

#### PayoutToAccountRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B" | Originating Entity must indicate the payout method i.e. To Account   Valid values: “B” – Visa Direct Account <br>*Enum:* `"B"` | No |
| senderDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "U", **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } |  | Yes |
| recipientDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "U", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } |  | Yes |

#### 401ErrorResponseWithKey Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| errorResponse | { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } |  | No |

#### DigitalAssetRecipientTransactorDetailWithID Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DigitalAssetRecipientTransactorDetailWithID | { **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"dateOfBirth"**: undefined (date), **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } |  |  |

#### WindowDueDetailsWithPullFunds-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| vplContact | string | Contact information for VPL Client Support. | Yes |
| dueDateTime | dateTime | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00<br>*Example:* `"2020-05-05T12:12:12Z"` | Yes |
| currencyCode | string |  | Yes |
| totalAmountDue | double | Total amount due by due date. | Yes |
| pullFundsDetails | { **"iBan"**: string, **"bankName"**: string, **"accountNumber"**: integer, **"expectedDebitDateTime"**: dateTime } |  | No |

#### WindowDueDetailsWithPullFunds-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| vplContact |  | Contact information for VPL Client Support. | Yes |
| dueDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00<br>*Example:* `"2020-05-05T12:12:12.000Z"` | Yes |
| currencyCode |  | 3-character ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| totalAmountDue | undefined (double) | Total amount due by due date. | Yes |
| pullFundsDetails | { **"iBan"**: , **"bankName"**: , **"accountNumber"**: , **"expectedDebitDateTime"**: undefined (date-time) } |  | No |

#### SourceOfFunds Schema

Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are:
Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details  

01 = Visa credit
02 = Visa debit
03 = Visa prepaid
04 = Cash
05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards)
06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)

Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.

ISO20022 field name: Debtor Account Type

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SourceOfFunds |  | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.  ISO20022 field name: Debtor Account Type  |  |

#### PendingCancelledTransactionStatus-1 Schema

- PENDING: Payout is accepted but has not been acknowledged
- PENDING_CANCELLATION: Cancel payout status is pending
- CANCELLED - Payout is cancelled when in pending status

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PendingCancelledTransactionStatus-1 | string, <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED" | - PENDING: Payout is accepted but has not been acknowledged - PENDING_CANCELLATION: Cancel payout status is pending - CANCELLED - Payout is cancelled when in pending status  |  |

#### PendingCancelledTransactionStatus-2 Schema

- PENDING: Payout is accepted but has not been acknowledged
- CANCELLED - Payout is cancelled when in pending status

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PendingCancelledTransactionStatus-2 | string, <br>**Available values:** "PENDING", "CANCELLED" | - PENDING: Payout is accepted but has not been acknowledged - CANCELLED - Payout is cancelled when in pending status  |  |

#### WindowDueDetails Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| vplContact |  | Contact information for VPL Client Support. | Yes |
| dueDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00<br>*Example:* `"2020-05-05T12:12:12.000Z"` | Yes |
| currencyCode |  |  | Yes |
| totalAmountDue | undefined (double) | Total amount due by due date. | Yes |

#### LocalSchemeTransactionId Schema

Optional.
Applicable for statuses PAYMENT_SENT, PAYMENT_DELIVERED, DELIVERED_TO_SCHEME and DELIVERED_TO_RECIPIENT_BANK, when available.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| LocalSchemeTransactionId |  | Optional. Applicable for statuses PAYMENT_SENT, PAYMENT_DELIVERED, DELIVERED_TO_SCHEME and DELIVERED_TO_RECIPIENT_BANK, when available.  |  |

#### DigitalAssetRecipientPayoutAddress-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city | string | Recipient address city  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Town Name  | No |
| state | string | Recipient address state or province  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Country Sub-division  | No |
| country | string | Recipient address country  Format: 3-character ISO-3166 (Alpha-3) country code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Country  | Yes |
| postalCode | string | Recipient address postal code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Postal Code  | No |
| addressLine1 | string | Recipient address line 1  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Street Name  | No |
| addressLine2 | string | Recipient address line 2  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Floor  | No |

#### CompanyRecipientIdentificationListWallet-2 Schema

Identification list of recipient

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CompanyRecipientIdentificationListWallet-2 |  | Identification list of recipient |  |

#### CompanyRecipientIdentificationListWallet-1 Schema

Identification list of recipient

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CompanyRecipientIdentificationListWallet-1 | [ { **"idType"**: string, <br>**Available values:** "T", "L", **"idNumber"**: string, **"idIssueCountry"**: string } ] | Identification list of recipient |  |

#### SendPayoutRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SendPayoutRequest | { **"payoutMethod"**: <br>**Available values:** "B", "W", **"senderDetail"**: { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "U", **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  }, **"recipientDetail"**: { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "U", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } } or { **"payoutMethod"**: <br>**Available values:** "B", "W", **"senderDetail"**: { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"identificationList"**:  }, **"recipientDetail"**: { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } } |  |  |

#### DigitalAssetRecipientPayoutAddress-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city |  | Recipient address city  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Town Name  | No |
| state |  | Recipient address state or province  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Country Sub-division  | No |
| country |  | Recipient address country  Format: 3-character ISO-3166 (Alpha-3) country code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Country  | Yes |
| postalCode |  | Recipient address postal code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Postal Code  | No |
| addressLine1 |  | Recipient address line 1  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Street Name  | No |
| addressLine2 |  | Recipient address line 2  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Address Floor  | No |

#### AccountBalance Schema

Represents a monetary value containing a decimal amount value along with a currency code.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| amount | undefined (double) | The balance amount for a particular currency.  Note: The number of decimal places assumed for this field depends on the currency.  | Yes |
| currencyCode |  | The currency code is a three letter ISO 4217 code.   E.g. GBP for British sterling pounds.  | Yes |

#### CompanyRecipientIdentificationListAccount Schema

Identification list of recipient

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CompanyRecipientIdentificationListAccount |  | Identification list of recipient |  |

#### TransactionStatus-1 Schema

- PAYMENT_RECEIVED: Visa has acknowledged the payout instruction has been received
- AWAITING_INFORMATION: Awaiting more information before transaction is processed .
- PAYMENT_SENT: The payout has been submitted to the Network partner
- PAYMENT_DELIVERED: The payout has been posted to the recipient's account. This status is applicable for all Wallet Payments and Account Payments only when provided by the Network Partner.
- PENDING_CANCELLATION: Cancel payout status is pending
- CANCELLED - Payout is cancelled
- RETURNED: Returned request is refunded to Originating Entity
- REJECTED: Rejected request is refunded to Originating Entity
- DELIVERED_TO_SCHEME: The payout has been submitted to the local country scheme for further processing. This status is applicable for Account Payments only when provided by the Network Partner.
- DELIVERED_TO_RECIPIENT_BANK: The payout has been submitted to the recipient’s bank. This status is applicable for Account Payments only when provided by the Network Partner.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TransactionStatus-1 | string, <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK" | - PAYMENT_RECEIVED: Visa has acknowledged the payout instruction has been received - AWAITING_INFORMATION: Awaiting more information before transaction is processed . - PAYMENT_SENT: The payout has been submitted to the Network partner - PAYMENT_DELIVERED: The payout has been posted to the recipient's account. This status is applicable for all Wallet Payments and Account Payments only when provided by the Network Partner. - PENDING_CANCELLATION: Cancel payout status is pending - CANCELLED - Payout is cancelled - RETURNED: Returned request is refunded to Originating Entity - REJECTED: Rejected request is refunded to Originating Entity - DELIVERED_TO_SCHEME: The payout has been submitted to the local country scheme for further processing. This status is applicable for Account Payments only when provided by the Network Partner. - DELIVERED_TO_RECIPIENT_BANK: The payout has been submitted to the recipient’s bank. This status is applicable for Account Payments only when provided by the Network Partner.  |  |

**Example**
<pre>PAYMENT_SENT</pre>

#### TransactionStatus-2 Schema

- PAYMENT_RECEIVED: Visa has acknowledged the payout instruction has been received
- AWAITING_INFORMATION: Awaiting more information before transaction is processed .
- PAYMENT_SENT: The payout has been submitted to the Network partner
- PAYMENT_DELIVERED: The payout has been posted to the recipient's account. This status is only applicable for Wallet Payments
- PENDING_CANCELLATION: Cancel payout status is pending
- CANCELLED - Payout is cancelled
- RETURNED: Returned request is refunded to Originating Entity
- REJECTED: Rejected request is refunded to Originating Entity

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TransactionStatus-2 | string, <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED" | - PAYMENT_RECEIVED: Visa has acknowledged the payout instruction has been received - AWAITING_INFORMATION: Awaiting more information before transaction is processed . - PAYMENT_SENT: The payout has been submitted to the Network partner - PAYMENT_DELIVERED: The payout has been posted to the recipient's account. This status is only applicable for Wallet Payments - PENDING_CANCELLATION: Cancel payout status is pending - CANCELLED - Payout is cancelled - RETURNED: Returned request is refunded to Originating Entity - REJECTED: Rejected request is refunded to Originating Entity  |  |

**Example**
<pre>PAYMENT_SENT</pre>

#### ValidateAccountPayoutResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ValidateAccountPayoutResponse-2 | { **"verificationId"**: , **"validationDetails"**: , **"expectedPostingDate"**: undefined (date), **"validationResultCode"**: <br>**Available values:** "VALID", **"clientVerificationReference"**:  } or { **"nameMatch"**: <br>**Available values:** "STRONG_MATCH", "PARTIAL_MATCH", "NO_MATCH", **"currencyCodes"**: , **"verificationId"**: , **"bankAccountName"**: , **"expectedPostingDate"**: undefined (date), **"validationResultCode"**: <br>**Available values:** "VALID_WITH_NETWORK", **"bankAccountNameTranslation"**: , **"clientVerificationReference"**:  } or { **"verificationId"**: , **"validationDetails"**: , **"validationResultCode"**: <br>**Available values:** "INVALID", **"clientVerificationReference"**:  } |  |  |

#### SettlementOverdueFlexibleSettlementNotification Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId |  | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | <br>**Available values:** "SETTLEMENT_OVERDUE" | The type of event that triggered the notification.<br>*Enum:* `"SETTLEMENT_OVERDUE"` | Yes |
| nextDueDetails |  |  | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| notificationDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### ValidateAccountPayoutResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ValidateAccountPayoutResponse-1 | { **"verificationId"**: string, **"validationDetails"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ], **"expectedPostingDate"**: undefined (date), **"validationResultCode"**: string, <br>**Available values:** "VALID", **"clientVerificationReference"**: string } or { **"nameMatch"**: string, <br>**Available values:** "STRONG_MATCH", "PARTIAL_MATCH", "NO_MATCH", **"currencyCodes"**: [ string ], **"verificationId"**: string, **"bankAccountName"**: string, **"expectedPostingDate"**: undefined (date), **"validationResultCode"**: string, <br>**Available values:** "VALID_WITH_NETWORK", **"bankAccountNameTranslation"**: string, **"clientVerificationReference"**: string } or { **"verificationId"**: string, **"validationDetails"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ], **"validationResultCode"**: string, <br>**Available values:** "INVALID", **"clientVerificationReference"**: string } |  |  |

#### IdentityListItem Schema

This is used to populate a recipient identity field which needs to be displayed as a list in the UI.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| label |  | The visible label to be presented in the UI list. | Yes |
| value |  | The stored value for the visible list item label. | Yes |

#### WalletQueryOnlyErrorResponse Schema

Transaction is accepted and will be processed & notified status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "W" | Originating Entity must indicate the payout method i.e. To Wallet    Valid values: “W” – Visa Direct Wallet <br>*Enum:* `"W"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorDetails"**:  } |  | Yes |

#### ValidPayoutResponse-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| validationResultCode | string, <br>**Available values:** "VALID" | - VALID - Visa's validation succeeds.  <br>*Enum:* `"VALID"` | Yes |

#### ValidPayoutResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| verificationId |  | Unique verification identifier.<br>*Example:* `"5003f6a0-2c44-11b2-aa57-47378ae53313"` | No |
| validationDetails |  | comprehensive array of errors | No |
| expectedPostingDate | undefined (date) | This is an estimated date by which the payout should be posted to the recipient’s account. This date should be communicated to the sender and recipient (if possible) to ensure that they know when to expect the funds.  The EPD is a variable field that may alter between the responses of validate payout API and send payout API.  ISO20022 field name: Interbank Settlement Date <br>*Example:* `"1980-02-01"` | No |
| validationResultCode | <br>**Available values:** "VALID" | - VALID - Visa's validation succeeds. <br>*Enum:* `"VALID"` | Yes |
| clientVerificationReference |  | A client submitted identifier. This field and same value will be returned in the response.<br>*Example:* `"1234567890"` | No |

#### ValidPayoutResponse-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| expectedPostingDate | undefined (date) |  | No |
| validationResultCode | string, <br>**Available values:** "VALID" | - VALID - Visa's validation succeeds.  <br>*Enum:* `"VALID"` | Yes |

#### PullFundsDetailsFundsNotRceived Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| iBan |  | The IBAN, if configured.  | No |
| bankName |  | The bank name, if configured.  | No |
| accountNumber |  | The last 4 digits of the account number, if configured.  | No |
| originalDueDateTime | undefined (date-time) | The date and time when the amount was originally due. ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  | Yes |
| expectedDebitDateTime | undefined (date-time) | The date and time when the debit request was initiated. ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  | Yes |

#### PayoutCancelStatus Schema

Status of the cancel request

Valid Value are: PENDING_CANCELLATION, CANCELLED

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayoutCancelStatus | <br>**Available values:** "PENDING_CANCELLATION", "CANCELLED" | Status of the cancel request  Valid Value are: PENDING_CANCELLATION, CANCELLED  |  |

**Example**
<pre>CANCELLED</pre>

#### ClientReferenceId-2 Schema

Identifier assigned by the Originating Entity to uniquely identify the transaction.

ISO20022 field name: Transaction Information And Status - Original Transaction Identification

Only alphanumeric and '-' characters are allowed.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ClientReferenceId-2 | string | Identifier assigned by the Originating Entity to uniquely identify the transaction.  ISO20022 field name: Transaction Information And Status - Original Transaction Identification  Only alphanumeric and '-' characters are allowed.  |  |

#### FlexibleAccountFrozen-1 Schema

Indicates if the flexible account is frozen.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| FlexibleAccountFrozen-1 | boolean | Indicates if the flexible account is frozen. |  |

#### DigitalAssetSenderIsIndividual-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| type | string, <br>**Available values:** "I", "C" | Identifies the type of sender - "I" for Individual  | Yes |
| lastName | string | Sender last name. The length of first name(s) and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name" <br>For 3rd party payments: "Debtor Name"  | Yes |
| firstName | string | Sender first name(s), include all first (given) names. The length of first name and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name" <br>For 3rd party payments: "Debtor Name"  | Yes |

#### ValidPayoutResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| verificationId | string | Unique verification identifier.<br>*Example:* `"5003f6a0-2c44-11b2-aa57-47378ae53313"` | No |
| validationDetails | [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ] | comprehensive array of errors | No |
| expectedPostingDate | undefined (date) |  | No |
| validationResultCode | string, <br>**Available values:** "VALID" | - VALID - Visa's validation succeeds. <br>*Enum:* `"VALID"` | Yes |
| clientVerificationReference | string |  | No |

#### AccountVerificationDetail Schema

This object is only present if verificationStatus is COMPLETED

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| bankCode |  or null | Bank code associated with the verified account, if returned by the account verification service provider. | No |
| nameMatch | <br>**Available values:** "STRONG_MATCH", "PARTIAL_MATCH", "NO_MATCH" | Score provided based on recipient’s name match, if recipient’s account is found and active. Supports below values: STRONG_MATCH,PARTIAL_MATCH and NO_MATCH. STRONG_MATCH - Recipient’s account found and name is a highly confident match. PARTIAL_MATCH - Recipient’s account found and name is a partial match. NO_MATCH - Recipient’s account found but name is likely not a match. Applicable only for Accounts. <br>*Enum:* `"STRONG_MATCH"`, `"PARTIAL_MATCH"`, `"NO_MATCH"` | No |
| accountType |  or null | Type of account, if returned by the account verification service provider. | No |
| currencyCodes |  | List of currency codes accepted by the specific requested account which is verified by the Account verification services. <br>*Example:* `["USD","GBP","EUR"]` | No |
| bankAccountName |  or null | Field to indicate the actual name of the accountholder (if provided by account verification service provider). <br>*Example:* `"John Doe"` | No |
| verificationDetails | { **"code"**: , **"message"**: , **"location"**:  or null } or null |  | No |
| accountIdentifierMatch | <br>**Available values:** "YES", "NO" or null | Indicates if the account identifier provided matches the recipient's bank account identifier found. - YES: Match - NO: No Match <br>*Enum:* `"YES"`, `"NO"` | No |
| bankAccountHolderLastName |  or null | Last name of the account holder, if returned by the account verification service provider. | No |
| bankAccountHolderFirstName |  or null | First name of the account holder, if returned by the account verification service provider. | No |
| bankAccountNameTranslation |  or null | Account HolderName Translated from the source language to english. <br>*Example:* `"Wang Li"` | No |

#### SenderAccountNumber Schema

Conditional - This field is Mandatory if a senderReferenceNumber is not sent. <br />
Note:
Client should provide either a sender reference number or a sender account number but not both.
Client should not send any PANs in this field for payout.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SenderAccountNumber |  | Conditional - This field is Mandatory if a senderReferenceNumber is not sent. <br /> Note: Client should provide either a sender reference number or a sender account number but not both. Client should not send any PANs in this field for payout.  |  |

**Example**
<pre>A42434234S324234</pre>

#### NotificationsErrorResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason |  | The short description of the error. | No |
| status |  | 3 digit HTTP status code<br>*Example:* `400` | No |
| details |  | Reserved for future use. | No |
| message |  | The long description of the error | No |

#### StructuredReferenceValue Schema

SRI Value of the field.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| StructuredReferenceValue | string | SRI Value of the field. |  |

#### BeneficiaryRelationship Schema

Sender's relationship with recipient

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| BeneficiaryRelationship |  | Sender's relationship with recipient |  |

#### CurrencyInfoReason Schema

The reason denotes why a particular currency change has happened.
1. FLEXIBLE_SETTLEMENT_DISABLED – The flexible settlement is disabled for the client. This applies only when the currentStatus is DISABLED. 
2. CURRENCY_DISABLED - The currency is disabled for the client. This applies only when the currentStatus is DISABLED.
3. FREEZE_MANUAL – The currency has been manually frozen. This applies only when the currentStatus is DISABLED.
4. FREEZE_SETTLEMENT_DUE - The currency is automatically frozen following a settlement breach and will stay frozen until the outstanding amount is paid. This applies only when the currentStatus is DISABLED.
5. FREEZE_ALL_FREEZE_ENABLED - This currency is frozen because another currency is overdue, and the all-freeze setting is enabled. This applies only when the currentStatus is DISABLED.
6. UNFREEZE_MANUAL - The currency has been manually enabled temporarily. This applies only when the currentStatus is ENABLED.
7. NO_DUES - The currency is enabled and can be used to send payouts. This applies only when the currentStatus is ENABLED.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CurrencyInfoReason | <br>**Available values:** "FLEXIBLE_SETTLEMENT_DISABLED", "CURRENCY_DISABLED", "FREEZE_MANUAL", "FREEZE_SETTLEMENT_DUE", "FREEZE_ALL_FREEZE_ENABLED", "UNFREEZE_MANUAL", "NO_DUES" | The reason denotes why a particular currency change has happened. 1. FLEXIBLE_SETTLEMENT_DISABLED – The flexible settlement is disabled for the client. This applies only when the currentStatus is DISABLED.  2. CURRENCY_DISABLED - The currency is disabled for the client. This applies only when the currentStatus is DISABLED. 3. FREEZE_MANUAL – The currency has been manually frozen. This applies only when the currentStatus is DISABLED. 4. FREEZE_SETTLEMENT_DUE - The currency is automatically frozen following a settlement breach and will stay frozen until the outstanding amount is paid. This applies only when the currentStatus is DISABLED. 5. FREEZE_ALL_FREEZE_ENABLED - This currency is frozen because another currency is overdue, and the all-freeze setting is enabled. This applies only when the currentStatus is DISABLED. 6. UNFREEZE_MANUAL - The currency has been manually enabled temporarily. This applies only when the currentStatus is ENABLED. 7. NO_DUES - The currency is enabled and can be used to send payouts. This applies only when the currentStatus is ENABLED.  |  |

**Example**
<pre>FLEXIBLE_SETTLEMENT_DISABLED</pre>

#### PurposeOfPayment Schema

Purpose of payment code is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market

Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)

ISO20022 field name: Purpose of Payment

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PurposeOfPayment |  | Purpose of payment code is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Purpose of Payment  |  |

**Example**
<pre>ISBEXP</pre>

#### DigitalAssetQuerySuccessResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "D" | This field indicates the payout method i.e. Digital Asset Valid values: - "D" Visa Direct Digital Asset <br>*Enum:* `"D"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"returnAmount"**: undefined (double), **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"returnDateTime"**: undefined (date-time), **"returnPayoutId"**: , **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"returnCurrencyCode"**: , **"returnSourceAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: , **"description"**:  }, **"transactionDateTime"**: undefined (date-time), **"returnConversionRate"**: undefined (double), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: <br>**Available values:** "USDC", **"transactionCurrencyCode"**: , **"returnSourceCurrencyCode"**: , **"digitalAssetAdditionalDetail"**: { **"hash"**:  } } |  | Yes |

#### DigitalAssetQuerySuccessResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "D" | This field indicates the payout method i.e. Digital Asset Valid values: - "D" Visa Direct Digital Asset <br>*Enum:* `"D"` | No |
| transactionDetail | { **"status"**: string, <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: string, **"returnAmount"**: double, **"fundingStatus"**: string, <br>**Available values:** "FUNDED", "NOT_FUNDED", **"returnDateTime"**: dateTime, **"returnPayoutId"**: string, **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"deliveredDateTime"**: dateTime, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"returnCurrencyCode"**: string, **"returnSourceAmount"**: double, **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: string, **"description"**: string }, **"transactionDateTime"**: dateTime, **"returnConversionRate"**: double, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string or string, <br>**Available values:** "USDC", **"transactionCurrencyCode"**: string, **"returnSourceCurrencyCode"**: string, **"digitalAssetAdditionalDetail"**: { **"hash"**: string } } |  | Yes |

#### DateOfBirth-1 Schema

This field should contain recipient’s date of birth.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DateOfBirth-1 | date | This field should contain recipient’s date of birth. |  |

#### ContactNumber-1 Schema

Contact phone number
+ symbol followed by digits, no other symbols, e.g. +447700123456 
(note, refer ISO spec E.164)

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ContactNumber-1 | string | Contact phone number + symbol followed by digits, no other symbols, e.g. +447700123456  (note, refer ISO spec E.164)  |  |

#### RecipientAdditionalData-2 Schema

Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value)

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| RecipientAdditionalData-2 | [ { **"name"**: string, **"value"**: string } ] | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) |  |

#### FlexibleSettlementNotification-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| FlexibleSettlementNotification-1 | { **"accountId"**: string, **"eventType"**: string, <br>**Available values:** "LIMIT_REACHED", **"initiatingPartyId"**: long, **"limitReachedDetails"**: [ { **"currencyCode"**: string, **"flexibleAmountLimit"**: double } ], **"notificationDateTime"**: dateTime } or { **"accountId"**: string, **"eventType"**: string, <br>**Available values:** "END_OF_DAY", **"windowDueDetails"**: [ { **"vplContact"**: string, **"dueDateTime"**: dateTime, **"currencyCode"**: string, **"totalAmountDue"**: double, **"pullFundsDetails"**: { **"iBan"**: string, **"bankName"**: string, **"accountNumber"**: integer, **"expectedDebitDateTime"**: dateTime } } ], **"currentDueDetails"**: [ { **"vplContact"**: string, **"dueDateTime"**: dateTime, **"currencyCode"**: string, **"totalAmountDue"**: double } ], **"initiatingPartyId"**: long, **"notificationDateTime"**: dateTime } or { **"accountId"**: string, **"eventType"**: string, <br>**Available values:** "NEAR_LIMIT_REACHED", **"initiatingPartyId"**: long, **"limitReachedDetails"**: [ { **"currencyCode"**: string, **"flexibleAmountLimit"**: double, **"flexibleAmountUtilized"**: double, **"flexibleAmountRemaining"**: double } ], **"notificationDateTime"**: dateTime } or { **"accountId"**: string, **"eventType"**: string, <br>**Available values:** "SETTLEMENT_OVERDUE", **"nextDueDetails"**: [ { **"vplContact"**: string, **"currencyCode"**: string, **"totalAmountDue"**: double, **"totalAmountOverdue"**: double, **"originalDueDateTime"**: dateTime, **"flexibleAccountFrozen"**: boolean } ], **"initiatingPartyId"**: long, **"notificationDateTime"**: dateTime } or { **"accountId"**: string, **"eventType"**: string, <br>**Available values:** "SETTLEMENT_DUE_BREACHED", **"nextDueDetails"**: [ { **"vplContact"**: string, **"currencyCode"**: string, **"totalAmountDue"**: double, **"totalAmountOverdue"**: double, **"originalDueDateTime"**: dateTime, **"flexibleAccountFrozen"**: boolean } ], **"initiatingPartyId"**: long, **"notificationDateTime"**: dateTime } or { **"accountId"**: string, **"eventType"**: string, <br>**Available values:** "CLIENT_EXPOSURE", **"exposureInfo"**: [ { **"dueDateTime"**: dateTime, **"currencyCode"**: string, **"totalAmountDue"**: double, **"totalAmountOverdue"**: double, **"flexibleAmountLimit"**: double, **"originalDueDateTime"**: dateTime, **"flexibleAmountUtilized"**: double, **"flexibleAmountRemaining"**: double } ], **"initiatingPartyId"**: long, **"notificationDateTime"**: dateTime } or { **"accountId"**: string, **"eventType"**: string, <br>**Available values:** "PULL_FUNDS_INITIATED", **"fundingDetails"**: [ { **"currencyCode"**: string, **"totalAmountDue"**: double, **"pullFundsDetails"**: { **"iBan"**: string, **"bankName"**: string, **"accountNumber"**: integer, **"expectedDebitDateTime"**: dateTime } } ], **"initiatingPartyId"**: long, **"notificationDateTime"**: dateTime } or { **"accountId"**: string, **"eventType"**: string, <br>**Available values:** "CURRENCY_INFO", **"currencyDetails"**: [ { **"reason"**: string, <br>**Available values:** "FLEXIBLE_SETTLEMENT_DISABLED", "CURRENCY_DISABLED", "FREEZE_MANUAL", "FREEZE_SETTLEMENT_DUE", "FREEZE_ALL_FREEZE_ENABLED", "UNFREEZE_MANUAL", "NO_DUES", **"currencyCode"**: string, **"currentStatus"**: string, <br>**Available values:** "ENABLED", "DISABLED", **"previousStatus"**: string, <br>**Available values:** "ENABLED", "DISABLED", **"lastModifiedDateTime"**: dateTime } ], **"initiatingPartyId"**: long, **"notificationDateTime"**: dateTime } or { **"accountId"**: string, **"eventType"**: string, <br>**Available values:** "PULL_FUNDS_NOT_RECEIVED", **"fundingDetails"**: [ { **"pullFundId"**: string, **"currencyCode"**: string, **"totalAmountDue"**: double, **"pullFundsDetails"**: { **"iBan"**: string, **"bankName"**: string, **"accountNumber"**: integer, **"originalDueDateTime"**: dateTime, **"expectedDebitDateTime"**: dateTime } } ], **"initiatingPartyId"**: long, **"notificationDateTime"**: dateTime } |  |  |

#### RecipientAdditionalData-1 Schema

Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value)

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| RecipientAdditionalData-1 | [ { **"name"**: string, **"value"**: string } ] | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) |  |

#### DigitalAssetWalletTransactionDetail Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| clientReferenceId |  | Identifier assigned by the Originating Entity to uniquely identify the transaction.  ISO20022 field name: Transaction Identification  Only alphanumeric and '-' characters are allowed.  | Yes |
| initiatingPartyId | undefined (int64) |  | Yes |
| transactionAmount | undefined (double) | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| senderSourceOfFunds |  | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.  ISO20022 field name: Debtor Account Type  | No |
| businessApplicationId |  | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode |  | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode |  | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |

#### ContactNumber-3 Schema

Contact phone number
+ symbol followed by digits, no other symbols, e.g. +447700123456 
(note, refer ISO spec E.164)  

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ContactNumber-3 | string | Contact phone number + symbol followed by digits, no other symbols, e.g. +447700123456  (note, refer ISO spec E.164)    |  |

#### ContactNumber-2 Schema

Contact phone number
+ symbol followed by digits, no other symbols, e.g. +447700123456 
(note, refer ISO spec E.164)

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ContactNumber-2 | string | Contact phone number + symbol followed by digits, no other symbols, e.g. +447700123456  (note, refer ISO spec E.164)  |  |

**Example**
<pre>447700123456</pre>

#### IndividualIdTypeAccount Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| IndividualIdTypeAccount | <br>**Available values:** "P", "D", "N", "T", "F" |  |  |

#### FlexibleSettlementNotification-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| FlexibleSettlementNotification-2 | { **"accountId"**: , **"eventType"**: <br>**Available values:** "LIMIT_REACHED", **"initiatingPartyId"**: undefined (int64), **"limitReachedDetails"**: , **"notificationDateTime"**: undefined (date-time) } or { **"accountId"**: , **"eventType"**: <br>**Available values:** "END_OF_DAY", **"windowDueDetails"**: , **"currentDueDetails"**: , **"initiatingPartyId"**: undefined (int64), **"notificationDateTime"**: undefined (date-time) } or { **"accountId"**: , **"eventType"**: <br>**Available values:** "NEAR_LIMIT_REACHED", **"initiatingPartyId"**: undefined (int64), **"limitReachedDetails"**: , **"notificationDateTime"**: undefined (date-time) } or { **"accountId"**: , **"eventType"**: <br>**Available values:** "SETTLEMENT_OVERDUE", **"nextDueDetails"**: , **"initiatingPartyId"**: undefined (int64), **"notificationDateTime"**: undefined (date-time) } or { **"accountId"**: , **"eventType"**: <br>**Available values:** "SETTLEMENT_DUE_BREACHED", **"nextDueDetails"**: , **"initiatingPartyId"**: undefined (int64), **"notificationDateTime"**: undefined (date-time) } or { **"accountId"**: , **"eventType"**: <br>**Available values:** "CLIENT_EXPOSURE", **"exposureInfo"**: , **"initiatingPartyId"**: undefined (int64), **"notificationDateTime"**: undefined (date-time) } or { **"accountId"**: , **"eventType"**: <br>**Available values:** "PULL_FUNDS_INITIATED", **"fundingDetails"**: , **"initiatingPartyId"**: undefined (int64), **"notificationDateTime"**: undefined (date-time) } or { **"accountId"**: , **"eventType"**: <br>**Available values:** "CURRENCY_INFO", **"currencyDetails"**: , **"initiatingPartyId"**: undefined (int64), **"notificationDateTime"**: undefined (date-time) } or { **"accountId"**: , **"eventType"**: <br>**Available values:** "PULL_FUNDS_NOT_RECEIVED", **"fundingDetails"**: , **"initiatingPartyId"**: undefined (int64), **"notificationDateTime"**: undefined (date-time) } |  |  |

#### SenderIdentificationList-1 Schema

Identification list of sender

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SenderIdentificationList-1 | [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "L", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] | Identification list of sender |  |

#### NearLimitReachedDetails-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| currencyCode | string | 3-character ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| flexibleAmountLimit | double | Liquidity limit. | Yes |
| flexibleAmountUtilized | double | Amount of liquidity that has been utilized. | Yes |
| flexibleAmountRemaining | double | Remaining amount of liquidity available. | Yes |

#### SenderReferenceNumber-2 Schema

Conditional: If the sender intends to fund the transaction with a non-financial instrument (for example, cash), then a reference number unique to the sender is required. This field is required if senderAccountNumber is not sent.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SenderReferenceNumber-2 | string | Conditional: If the sender intends to fund the transaction with a non-financial instrument (for example, cash), then a reference number unique to the sender is required. This field is required if senderAccountNumber is not sent.  |  |

**Example**
<pre>John</pre>

#### 200TransactionStatus Schema

- PAYMENT_RECEIVED: Visa has acknowledged the payout instruction has been received

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| 200TransactionStatus | <br>**Available values:** "PAYMENT_RECEIVED" | - PAYMENT_RECEIVED: Visa has acknowledged the payout instruction has been received  |  |

#### LastName-1 Schema

Required when recipient is an individual.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| LastName-1 | string | Required when recipient is an individual. |  |

**Example**
<pre>Anderson</pre>

#### SenderReferenceNumber-1 Schema

Conditional: If the sender intends to fund the transaction with card or wallet and not a bank account, then a reference number unique to the sender is required. This field is required if senderAccountNumber is not sent. Client should not send any card PANs in this field for payout.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SenderReferenceNumber-1 | string | Conditional: If the sender intends to fund the transaction with card or wallet and not a bank account, then a reference number unique to the sender is required. This field is required if senderAccountNumber is not sent. Client should not send any card PANs in this field for payout.  |  |

**Example**
<pre>John</pre>

#### PayoutResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: undefined (date-time), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**:  } |  | Yes |

#### CurrencyInfoFlexibleSettlementNotification Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId |  | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | <br>**Available values:** "CURRENCY_INFO" | The type of event that triggered the notification.<br>*Enum:* `"CURRENCY_INFO"` | Yes |
| currencyDetails |  |  | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| notificationDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### ReturnedTransactionStatus Schema

- RETURNED: Returned request is refunded to Originating Entity
- REJECTED: Rejected request is refunded to Originating Entity

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ReturnedTransactionStatus | string, <br>**Available values:** "RETURNED", "REJECTED" | - RETURNED: Returned request is refunded to Originating Entity - REJECTED: Rejected request is refunded to Originating Entity  |  |

#### DigitalAsset-1 Schema

Recipient's digital asset object. 
Conditional object when payoutMethod has value 'D'

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| address | string | The crypto wallet address where funds will be sent<br>*Example:* `"0x65BFCf1a6289a0b77b4D3F7d12005a05949FD8C3"` | Yes |
| network | string, <br>**Available values:** "ETHEREUM", "SOLANA" | The blockchain network where the wallet operates  (e.g., ETHEREUM, SOLANA) <br>*Enum:* `"ETHEREUM"`, `"SOLANA"`<br>*Example:* `"SOLANA"` | Yes |
| currencyCode | string, <br>**Available values:** "USDC" | The cryptocurrency or fiat currency code<br>*Enum:* `"USDC"`<br>*Example:* `"USDC"` | Yes |

#### WalletSenderIsCompany-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name |  | Sender company name. <br>Must not contain exclusively numeric characters  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name"<br>For 3rd party payments: "Debtor Name"  | Yes |
| type | <br>**Available values:** "I", "C" | Identifies the type of sender - "C" for Company   | Yes |
| identificationList |  | Identification list of sender | No |

#### 202AccountPayoutCreatedResponse-1 Schema

Transaction is accepted and will be processed & notified status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"status"**: string, <br>**Available values:** "PENDING", **"clientReferenceId"**: string, **"initiatingPartyId"**: long } |  | No |

#### WalletSenderIsCompany-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name | string | Sender company name. <br>Must not contain exclusively numeric characters  ISO20022 field name:<br>For 4th party payments: "Ultimate Debtor Name"<br>For 3rd party payments: "Debtor Name"  | Yes |
| type | string, <br>**Available values:** "I", "C" | Identifies the type of sender - "C" for Company   | Yes |
| identificationList | [ { **"idType"**: string, <br>**Available values:** "T", "L", **"idNumber"**: string, **"idIssueCountry"**: string } ] | Identification list of sender | No |

#### 202AccountPayoutCreatedResponse-2 Schema

Transaction is accepted and will be processed & notified status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"status"**: <br>**Available values:** "PENDING", **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64) } |  | No |

#### Bank-3 Schema

Recipient's bank object

Conditional object when payoutMethod has value 'B'

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| BIC | string | beneficiary bank account Business Identifier Code (BIC)  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Agent Financial Institution BIC  | No |
| bankCode | string | beneficiary bank account bank code  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Agent Financial Institution Clearing System Member Identification <br>*Example:* `"173"` | No |
| bankName | string | Recipient's bank name  ISO20022 field name: Creditor Agent Financial Institution Name  | No |
| branchCode | string | beneficiary bank account branch code  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Agent Branch Identification <br>*Example:* `"123456"` | No |
| accountName | string | beneficiary bank account name i.e. account holder name as recorded on beneficiary bank account  (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Account Name  | Yes |
| accountType | string, <br>**Available values:** "1", "2", "3", "4", "5" | Recipient bank account type  * `1` - Checking * `2` - Saving  * `3` - Maestra * `4` - Visa * `5` - Loan  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Account Type <br>*Enum:* `"1"`, `"2"`, `"3"`, `"4"`, `"5"` | No |
| countryCode | string |  | Yes |
| bankCodeType | string, <br>**Available values:** "ABA", "SORT_CODE", "DEFAULT" | beneficiary bank account bank code type  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Agent Financial Institution Clearing System Member Identification Type <br>*Enum:* `"ABA"`, `"SORT_CODE"`, `"DEFAULT"` | No |
| currencyCode | string | beneficiary bank account currency code  Format: 3-character ISO-4217 (Alpha-3) currency code  (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Account Currency  | Yes |
| accountNumber | string | beneficiary bank account number  (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Account Number or IBAN  | Yes |
| accountNumberType | string, <br>**Available values:** "IBAN", "DEFAULT" | beneficiary bank account number type. Valid values: "IBAN" and "DEFAULT"  (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Financial Institution Account Number Type <br>*Enum:* `"IBAN"`, `"DEFAULT"`<br>*Example:* `"DEFAULT"` | Yes |

#### Bank-1 Schema

Recipient's bank object

Conditional object when payoutMethod has value 'B'

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| BIC | string | recipient bank account Business Identifier Code (BIC)  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Agent Financial Institution BIC  | No |
| bankCode | string | recipient bank account bank code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Agent Financial Institution Clearing System Member Identification <br>*Example:* `"173"` | No |
| bankName | string | Recipient's bank name  ISO20022 field name: Creditor Agent Financial Institution Name  | No |
| branchCode | string | recipient bank account branch code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Agent Branch Identification <br>*Example:* `"123456"` | No |
| accountName | string | recipient bank account name i.e. account holder name as recorded on recipient bank account  (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Account Name  | Yes |
| accountType | string, <br>**Available values:** "1", "2", "3", "4", "5", "6" | Recipient bank account type  * `1` - Checking * `2` - Saving  * `3` - Maestra * `4` - Vista * `5` - Loan * `6` - NRE  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Account Type <br>*Enum:* `"1"`, `"2"`, `"3"`, `"4"`, `"5"`, `"6"` | No |
| countryCode | string |  | Yes |
| bankCodeType | string, <br>**Available values:** "ABA", "SORT_CODE", "DEFAULT" | recipient bank account bank code type  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) <br>*Enum:* `"ABA"`, `"SORT_CODE"`, `"DEFAULT"` | No |
| currencyCode | string | recipient bank account currency code  Format: 3-character ISO-4217 (Alpha-3) currency code  (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Account Currency  | Yes |
| accountNumber | string | recipient bank account number  (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Account Number or IBAN  | Yes |
| accountNumberType | string, <br>**Available values:** "IBAN", "ALIAS", "DEFAULT" | recipient bank account number type. Valid values: "IBAN", "ALIAS" and "DEFAULT"  (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) <br>*Enum:* `"IBAN"`, `"ALIAS"`, `"DEFAULT"`<br>*Example:* `"DEFAULT"` | Yes |

#### Bank-2 Schema

Recipient's bank object

Conditional object when payoutMethod has value 'B'

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| BIC |  | recipient bank account Business Identifier Code (BIC)  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Agent Financial Institution BIC  | No |
| bankCode |  | recipient bank account bank code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Agent Financial Institution Clearing System Member Identification <br>*Example:* `"173"` | No |
| bankName |  | Recipient's bank name  ISO20022 field name: Creditor Agent Financial Institution Name  | No |
| branchCode |  | recipient bank account branch code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Agent Branch Identification <br>*Example:* `"123456"` | No |
| accountName |  | recipient bank account name i.e. account holder name as recorded on recipient bank account  (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Account Name  | Yes |
| accountType | <br>**Available values:** "1", "2", "3", "4", "5", "6" | Recipient bank account type  * `1` - Checking * `2` - Saving  * `3` - Maestra * `4` - Vista * `5` - Loan * `6` - NRE  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Account Type <br>*Enum:* `"1"`, `"2"`, `"3"`, `"4"`, `"5"`, `"6"` | No |
| countryCode |  | 3-character ISO-3166 (Alpha-3) country code.<br>*Example:* `"USA"` | Yes |
| bankCodeType | <br>**Available values:** "ABA", "SORT_CODE", "DEFAULT" | recipient bank account bank code type  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) <br>*Enum:* `"ABA"`, `"SORT_CODE"`, `"DEFAULT"` | No |
| currencyCode |  | recipient bank account currency code  Format: 3-character ISO-4217 (Alpha-3) currency code  (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Account Currency  | Yes |
| accountNumber |  | recipient bank account number  (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Account Number or IBAN  | Yes |
| accountNumberType | <br>**Available values:** "IBAN", "ALIAS", "DEFAULT" | recipient bank account number type. Valid values: "IBAN", "ALIAS" and "DEFAULT"  (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) <br>*Enum:* `"IBAN"`, `"ALIAS"`, `"DEFAULT"`<br>*Example:* `"DEFAULT"` | Yes |

#### CurrencyDetails Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason | <br>**Available values:** "FLEXIBLE_SETTLEMENT_DISABLED", "CURRENCY_DISABLED", "FREEZE_MANUAL", "FREEZE_SETTLEMENT_DUE", "FREEZE_ALL_FREEZE_ENABLED", "UNFREEZE_MANUAL", "NO_DUES" | The reason denotes why a particular currency change has happened. 1. FLEXIBLE_SETTLEMENT_DISABLED – The flexible settlement is disabled for the client. This applies only when the currentStatus is DISABLED.  2. CURRENCY_DISABLED - The currency is disabled for the client. This applies only when the currentStatus is DISABLED. 3. FREEZE_MANUAL – The currency has been manually frozen. This applies only when the currentStatus is DISABLED. 4. FREEZE_SETTLEMENT_DUE - The currency is automatically frozen following a settlement breach and will stay frozen until the outstanding amount is paid. This applies only when the currentStatus is DISABLED. 5. FREEZE_ALL_FREEZE_ENABLED - This currency is frozen because another currency is overdue, and the all-freeze setting is enabled. This applies only when the currentStatus is DISABLED. 6. UNFREEZE_MANUAL - The currency has been manually enabled temporarily. This applies only when the currentStatus is ENABLED. 7. NO_DUES - The currency is enabled and can be used to send payouts. This applies only when the currentStatus is ENABLED. <br>*Enum:* `"FLEXIBLE_SETTLEMENT_DISABLED"`, `"CURRENCY_DISABLED"`, `"FREEZE_MANUAL"`, `"FREEZE_SETTLEMENT_DUE"`, `"FREEZE_ALL_FREEZE_ENABLED"`, `"UNFREEZE_MANUAL"`, `"NO_DUES"`<br>*Example:* `"FLEXIBLE_SETTLEMENT_DISABLED"` | Yes |
| currencyCode |  | 3-character ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| currentStatus | <br>**Available values:** "ENABLED", "DISABLED" | Indicates the current status of the currency. Only two values are allowed <br /> ENABLED – payouts in this currency are allowed. <br /> DISABLED – payouts in this currency are not allowed. <br>*Enum:* `"ENABLED"`, `"DISABLED"`<br>*Example:* `"ENABLED"` | Yes |
| previousStatus | <br>**Available values:** "ENABLED", "DISABLED" | Indicates the currency's previous status, if applicable. Only two values are allowed <br /> ENABLED – payouts in this currency were allowed. <br /> DISABLED – payouts in this currency were not allowed. <br>*Enum:* `"ENABLED"`, `"DISABLED"`<br>*Example:* `"ENABLED"` | No |
| lastModifiedDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | No |

#### RouteDefinitionChangePerCountryClusterAndCurrency Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B" | Payout method code. Valid value is B- bank. <br>*Enum:* `"B"` | Yes |
| notificationId | string | Unique identifier for the notification. <br>*Example:* `"58e0a7d7-eebc-11d8-9669-0800200c9a66"` | Yes |
| metadataVersion | string | This is the version of the updated route definition.  It is in the format <major-version>.<minor-version>.<patch>.  * patch updates are documentation updates only and should not influence the processing of a payout transaction. Example: changes to the description of Purpose of Payment code.  * minor-version updates indicate backward compatible changes in the route validation rules on a payout transaction. Example: addition of a new Purpose of Payment code.  * major-version updates indicate backward incompatible changes in the route validation rules on a payout transaction. Such changes are usually regulatory in nature or due to partner migration on Visa's backend. Example: Purpose of Payment code changing from a "conditional"/ "recommended" to a "required" field. <br>*Example:* `"1.0.0"` | Yes |
| notificationType | string, <br>**Available values:** "LIVE_UPDATE", "FUTURE_UPDATE", "ROUTE_DISCONTINUED" | Notification Type. Valid value- LIVE_UPDATE, FUTURE_UPDATE (This ENUM is not currently supported. It is for future use.) ROUTE_DISCONTINUED<br>*Enum:* `"LIVE_UPDATE"`, `"FUTURE_UPDATE"`, `"ROUTE_DISCONTINUED"` | Yes |
| metadataVersionDate | date | This is the date when the metadata version will go live.  | Yes |
| recipientCurrencyCode | string | ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| recipientCountryCluster | string, <br>**Available values:** "SEPA", "CEMAC", "UEMOA" | Country Cluster code-valid values are SEPA, CEMAC, UEMOA <br>*Enum:* `"SEPA"`, `"CEMAC"`, `"UEMOA"` | Yes |

#### AddressLine3 Schema

This field contains individual recipient's 3rd line of address.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AddressLine3 | string | This field contains individual recipient's 3rd line of address. |  |

**Example**
<pre>Building 4</pre>

#### AddressLine2 Schema

This field contains individual recipient's 2nd line of address.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AddressLine2 |  | This field contains individual recipient's 2nd line of address. |  |

#### ErrorResponseInNotificationForFailedRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason | string | The short description of the error. | Yes |
| status | integer | 3 digit HTTP status code<br>*Example:* `400` | Yes |
| details | [ { **"code"**: string, **"message"**: string, **"location"**: string } ] |  | No |
| message | string | The long description of the error | No |

#### AddressLine1 Schema

This field contains individual recipient's 1st line of address.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AddressLine1 |  | This field contains individual recipient's 1st line of address. |  |

**Example**
<pre>555 Dragon Drive</pre>

#### PayoutDigitalAssetRequestAltered-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "D" | This field indicates the payout method i.e. Digital Asset Valid values: - "D" Visa Direct Digital Asset <br>*Enum:* `"D"` | No |
| senderDetail | { **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C" } |  | Yes |
| recipientDetail | { **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"dateOfBirth"**: date, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", **"idNumber"**: string, **"idIssueCountry"**: string } ] } |  | Yes |

#### PayoutDigitalAssetRequestAltered-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "D" | This field indicates the payout method i.e. Digital Asset Valid values: - "D" Visa Direct Digital Asset <br>*Enum:* `"D"` | No |
| senderDetail | { **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C" } |  | Yes |
| recipientDetail | { **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"dateOfBirth"**: undefined (date), **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } |  | Yes |

#### 202AccountPayoutCreatedResponse-3 Schema

Transaction is accepted and will be processed & notified status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionalDetail | { **"status"**: string, <br>**Available values:** "PENDING", **"clientReferenceId"**: string, **"initiatingPartyId"**: long } |  | No |

#### 202AccountPayoutCreatedResponse-4 Schema

Transaction is accepted and will be processed & notified status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionalDetail | { **"status"**: string, <br>**Available values:** "PENDING", **"clientReferenceId"**: string, **"initiatingPartyId"**: long } |  | No |

#### WalletTransactionDetail-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| quoteId | undefined (int64) | This is a unique FX quote ID generated by Visa for a payout currency pair. <br>*Example:* `987654321` | No |
| endToEndId |  | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | Yes |
| payoutSpeed | <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority <br>*Enum:* `"STANDARD"`, `"PREMIUM"`<br>*Example:* `"STANDARD"` | No |
| fundingModel | <br>**Available values:** "PREFUNDED" | The fundingModel to apply to this payout.<br>*Enum:* `"PREFUNDED"` | No |
| additionalData |  | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) | No |
| purposeOfPayment |  | Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) ISO20022 field name: Purpose of Payment  | No |
| clientReferenceId |  | Identifier assigned by the Originating Entity to uniquely identify the transaction.  ISO20022 field name: Transaction Identification  Only alphanumeric and '-' characters are allowed.  | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| transactionAmount | undefined (double) | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| statementNarrative |  | Originating Entity is advised to provide a narrative that helps the recipient clearly identify the sender and reason for the payment. Text will be displayed on the recipient’s statement when the payment gets posted to the recipient’s account or wallet statement.  Not all wallet operators support a statement narrative.  Conditional - (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths).  ISO20022 field name: Remittance Information Unstructured <br>*Example:* `"testing narrative"` | No |
| senderSourceOfFunds |  | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.  ISO20022 field name: Debtor Account Type  | No |
| businessApplicationId |  | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode |  | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode |  | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |
| senderBeneficiaryRelationship |  | Sender's relationship with recipient | No |

#### WalletTransactionDetail-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| quoteId | long | This is a unique FX quote ID generated by Visa for a payout currency pair. <br>*Example:* `987654321` | No |
| endToEndId | string | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | Yes |
| payoutSpeed | string, <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority <br>*Enum:* `"STANDARD"`, `"PREMIUM"`<br>*Example:* `"standard"` | No |
| fundingModel | string, <br>**Available values:** "PREFUNDED" | The fundingModel to apply to this payout.<br>*Enum:* `"PREFUNDED"` | No |
| additionalData | [ { **"name"**: string, **"value"**: string } ] | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) | No |
| purposeOfPayment | string | Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) ISO20022 field name: Purpose of Payment  | No |
| clientReferenceId | string | Identifier assigned by the Originating Entity to uniquely identify the transaction.  ISO20022 field name: Transaction Identification  Only alphanumeric and '-' characters are allowed.  | Yes |
| initiatingPartyId | long |  | Yes |
| transactionAmount | double | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| statementNarrative | string |  | No |
| senderSourceOfFunds | string | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.  ISO20022 field name: Debtor Account Type  | No |
| businessApplicationId | string | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode | string | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode | string | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |
| senderBeneficiaryRelationship | string | Sender's relationship with recipient | No |

#### PayoutMethod-1 Schema

Originating Entity must indicate the payout method i.e. Account or Wallet

Valid values:
- "B" Visa Direct Account
- "W" Visa Direct Wallet

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayoutMethod-1 | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet  |  |

#### WalletTransactionDetail-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| quoteId | long | This is a unique FX quote ID generated by Visa for a payout currency pair.          <br>*Example:* `987654321` | No |
| endToEndId | string | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification  <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | Yes |
| payoutSpeed | string, <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority <br>*Enum:* `"STANDARD"`, `"PREMIUM"`<br>*Example:* `"standard"` | No |
| additionalData | [ { **"name"**: string, **"value"**: string } ] | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) | No |
| purposeOfPayment | string | Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) ISO20022 field name: Purpose of Payment  | No |
| clientReferenceId | string | Identifier assigned by the Originating Entity to uniquely identify the transaction.  ISO20022 field name: Transaction Identification  Only alphanumeric and '-' characters are allowed.  | Yes |
| initiatingPartyId | long |  | Yes |
| transactionAmount | double | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| statementNarrative | string |  | No |
| senderSourceOfFunds | string | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account. This field is required for Money Transfers and Funds Disbursements.  ISO20022 field name: Debtor Account Type  | No |
| businessApplicationId | string | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode | string | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode | string | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |
| senderBeneficiaryRelationship | string | Sender's relationship with recipient | No |

#### WalletTransactionDetail-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| quoteId | long | This is a unique FX quote ID generated by Visa for a payout currency pair.          <br>*Example:* `987654321` | No |
| endToEndId | string | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification  <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | Yes |
| payoutSpeed | string, <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority <br>*Enum:* `"STANDARD"`, `"PREMIUM"`<br>*Example:* `"standard"` | No |
| additionalData | [ { **"name"**: string, **"value"**: string } ] | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) | No |
| purposeOfPayment | string | Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths) ISO20022 field name: Purpose of Payment  | No |
| clientReferenceId | string | Identifier assigned by the Originating Entity to uniquely identify the transaction.  ISO20022 field name: Transaction Information And Status - Original Transaction Identification  Only alphanumeric and '-' characters are allowed.  | Yes |
| initiatingPartyId | long |  | Yes |
| transactionAmount | double | The amount to debit from merchant's funding account or credit to beneficiary's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Payouts Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| statementNarrative | string |  | No |
| senderSourceOfFunds | string | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account. This field is required for Money Transfers and Funds Disbursements.  ISO20022 field name: Debtor Account Type Source of Funds  | No |
| businessApplicationId | string | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode | string | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode | string | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |
| senderBeneficiaryRelationship | string | Sender's relationship with recipient | No |

#### RecipientTransactorDetail-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| RecipientTransactorDetail-1 | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } } |  |  |

#### ValidateAccountTransactionDetail Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| quoteId | undefined (int64) | This is a unique FX quote ID generated by Visa for a payout currency pair. <br>*Example:* `987654321` | No |
| endToEndId |  | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | No |
| paymentRail | <br>**Available values:** "SWIFT" | Indicates the payment rails preferred for the payout transaction.<br>*Enum:* `"SWIFT"`<br>*Example:* `"SWIFT"` | No |
| payoutSpeed | <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority <br>*Enum:* `"STANDARD"`, `"PREMIUM"`<br>*Example:* `"standard"` | No |
| fundingModel | <br>**Available values:** "PREFUNDED" | The fundingModel to apply to this payout.<br>*Enum:* `"PREFUNDED"` | No |
| additionalData |  | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) | No |
| purposeOfPayment |  | Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) ISO20022 field name: Purpose of Payment  | No |
| initiatingPartyId | undefined (int64) |  | Yes |
| transactionAmount | undefined (double) | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| statementNarrative |  |  | No |
| senderSourceOfFunds |  | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.  ISO20022 field name: Debtor Account Type  | No |
| structuredRemittance |  | This object carries ISO20022 SMI data. It applies to Visa Direct Account payouts only.  | No |
| businessApplicationId |  | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode |  | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode |  | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |
| senderBeneficiaryRelationship |  | Sender's relationship with recipient | No |

#### PurposeOfPaymentCodes-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| code | string | Purpose of payment code is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Purpose of Payment <br>*Example:* `"ISBEXP"` | Yes |
| description | string | Description of purpose of payment code.<br>*Example:* `"Salary/payroll"` | Yes |
| senderCompany | boolean | Is the purpose of payment code valid if the sender is a company. | No |
| recipientCompany | boolean | Is the purpose of payment code valid if the recipient is a company. | No |
| senderIndividual | boolean | Is the purpose of payment code valid if the sender is an individual. | No |
| recipientIndividual | boolean | Is the purpose of payment code valid if the recipient is an individual. | No |

#### WalletQueryOnlyErrorResponse-1 Schema

Transaction is accepted and will be processed & notified status.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "W" | Originating Entity must indicate the payout method i.e. To Wallet    Valid values: “W” – Visa Direct Wallet <br>*Enum:* `"W"` | No |
| transactionDetail | { **"status"**: string, <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorDetails"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ] } |  | Yes |

#### PurposeOfPaymentCodes-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| code | string | Purpose of payment code is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Purpose of Payment <br>*Example:* `"ISBEXP"` | Yes |
| description | string | Description of purpose of payment code.<br>*Example:* `"Salary/payroll"` | Yes |
| senderCompany | boolean | Is the purpose of payment code valid if the sender is a company. | No |
| recipientCompany | boolean | Is the purpose of payment code valid if the recipient is a company. | No |
| senderIndividual | boolean | Is the purpose of payment code valid if the sender is an individual. | No |
| recipientIndividual | boolean | Is the purpose of payment code valid if the recipient is an individual. | No |

#### PayoutToAccountRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B" | Originating Entity must indicate the payout method i.e. To Account   Valid values: “B” – Visa Direct Account <br>*Enum:* `"B"` | No |
| senderDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", "I", **"idNumber"**: string, **"idIssueCountry"**: string } ] } |  | Yes |
| recipientDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", "I", **"idNumber"**: string, **"idIssueCountry"**: string } ] } |  | Yes |

#### ValidatePayoutWalletRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: undefined (int64), **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"additionalData"**: , **"purposeOfPayment"**: , **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"statementNarrative"**: , **"senderSourceOfFunds"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**: , **"senderBeneficiaryRelationship"**:  } |  | Yes |

#### SendPayoutRequest-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SendPayoutRequest-4 | { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"senderDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C" }, **"recipientDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } } } or { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"senderDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C" }, **"recipientDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } } } |  |  |

#### PayoutResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"status"**: string, <br>**Available values:** "PAYMENT_RECEIVED", **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: dateTime, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string } |  | Yes |

#### AccountQueryOnlyResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountQueryOnlyResponse-2 | { **"payoutMethod"**: <br>**Available values:** "B", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"returnAmount"**: undefined (double), **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"serviceDetail"**: { **"traceable"**: , **"recallable"**: , **"paymentRail"**: <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**:  }, **"returnDateTime"**: undefined (date-time), **"returnPayoutId"**: , **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"returnCurrencyCode"**: , **"returnSourceAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: , **"description"**:  }, **"transactionDateTime"**: undefined (date-time), **"returnConversionRate"**: undefined (double), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**: , **"localSchemeTransactionId"**: , **"returnSourceCurrencyCode"**:  } } or { **"payoutMethod"**: <br>**Available values:** "B", **"transactionDetail"**: { **"status"**: <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorDetails"**:  } } or { **"payoutMethod"**: <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64) } } |  |  |

#### SendPayoutRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SendPayoutRequest-2 | { **"payoutMethod"**: <br>**Available values:** "B", "W", **"senderDetail"**: { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "U", **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  }, **"recipientDetail"**: { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "U", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } } or { **"payoutMethod"**: <br>**Available values:** "B", "W", **"senderDetail"**: { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"identificationList"**:  }, **"recipientDetail"**: { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } } |  |  |

#### AccountQueryOnlyResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountQueryOnlyResponse-1 | { **"payoutMethod"**: string, <br>**Available values:** "B", **"transactionDetail"**: { **"status"**: string, <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: string, <br>**Available values:** "PREFUNDED", **"returnAmount"**: double, **"fundingStatus"**: string, <br>**Available values:** "FUNDED", "NOT_FUNDED", **"serviceDetail"**: { **"traceable"**: boolean, **"recallable"**: boolean, **"paymentRail"**: string, <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**: boolean }, **"returnDateTime"**: dateTime, **"returnPayoutId"**: string, **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"deliveredDateTime"**: dateTime, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"returnCurrencyCode"**: string, **"returnSourceAmount"**: double, **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: string, **"description"**: string }, **"transactionDateTime"**: dateTime, **"returnConversionRate"**: double, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"localSchemeTransactionId"**: string, **"returnSourceCurrencyCode"**: string } } or { **"payoutMethod"**: string, <br>**Available values:** "B", **"transactionDetail"**: { **"status"**: string, <br>**Available values:** "VALIDATION_FAILED", "ERROR", **"errorDetails"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ] } } or { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"transactionDetail"**: { **"status"**: string, <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: string, **"initiatingPartyId"**: long } } |  |  |

#### SendPayoutRequest-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SendPayoutRequest-3 | { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"senderDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C" }, **"recipientDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } } } or { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"senderDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C" }, **"recipientDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } } } |  |  |

#### PullFundsNotReceivedNotification Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId |  | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | <br>**Available values:** "PULL_FUNDS_NOT_RECEIVED" | The type of event that triggered the notification.<br>*Enum:* `"PULL_FUNDS_NOT_RECEIVED"` | Yes |
| fundingDetails |  |  | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| notificationDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### SendPayoutRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SendPayoutRequest-1 | { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"senderDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", "I", **"idNumber"**: string, **"idIssueCountry"**: string } ] }, **"recipientDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", "I", **"idNumber"**: string, **"idIssueCountry"**: string } ] } } or { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"senderDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", **"idNumber"**: string, **"idIssueCountry"**: string } ] }, **"recipientDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", **"idNumber"**: string, **"idIssueCountry"**: string } ] } } |  |  |

#### PayoutToAccountRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B" | Originating Entity must indicate the payout method i.e. To Account   Valid values: “B” – Visa Direct Account <br>*Enum:* `"B"` | No |
| senderDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "U", **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } |  | Yes |
| recipientDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "U", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } |  | Yes |

#### PayoutResponse-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"status"**: string, <br>**Available values:** "PAYMENT_RECEIVED", **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: dateTime, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string } |  | Yes |

#### PayoutResponse-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"status"**: string, <br>**Available values:** "PAYMENT_RECEIVED", **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: dateTime, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string } |  | Yes |

#### PayoutResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: undefined (date-time), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**:  } |  | Yes |

#### 200TransactionStatus-1 Schema

- PAYMENT_RECEIVED: Visa has acknowledged the payout instruction has been received

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| 200TransactionStatus-1 | string, <br>**Available values:** "PAYMENT_RECEIVED" | - PAYMENT_RECEIVED: Visa has acknowledged the payout instruction has been received  |  |

#### ConversionRate-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ConversionRate-1 | double |  |  |

**Example**
<pre>0.07</pre>

#### WalletVerifyResponse Schema

This object is only present if verificationStatus is COMPLETED

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| verificationId |  | Unique verification identifier.<br>*Example:* `"5003f6a0-2c44-11b2-aa57-47378ae53313"` | Yes |
| verificationStatus | <br>**Available values:** "COMPLETED", "NOT_COMPLETED" | Provides the status of verification request. * COMPLETED - Request was completed and result is available. * NOT_COMPLETED - Wallet Partner's end wallet operator or Wallet Operator not available. <br>*Enum:* `"COMPLETED"`, `"NOT_COMPLETED"`<br>*Example:* `"COMPLETED"` | Yes |
| walletVerificationDetail | { **"nameMatch"**: <br>**Available values:** "STRONG_MATCH", "NO_MATCH", "NOT_SUPPORTED", **"accountIdentifierMatch"**:  } |  | No |
| clientVerificationReference |  |  | No |

#### ServiceDetail-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| traceable | boolean | Indicates if a payout transaction is traceable | No |
| recallable | boolean | Indicates if a payout transaction is recallable | No |
| paymentRail | string, <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT" | Indicates the payment rail used for the payout transaction<br>*Enum:* `"ACH"`, `"RTP"`, `"RTGS"`, `"SWIFT"` | No |
| isFinalStatus | boolean | Only populated at PAYMENT_SENT status. If 'false' indicates that network partner will provide any of the following status 'PAYMENT_DELIVERED', 'DELIVERED_TO_SCHEME', 'DELIVERED_TO_RECIPIENT_BANK'. | No |

#### ServiceDetail-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| traceable | boolean | Indicates if a payout transaction is traceable | No |
| recallable | boolean | Indicates if a payout transaction is recallable | No |
| paymentRail | string, <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT" | Indicates the payment rail used for the payout transaction<br>*Enum:* `"ACH"`, `"RTP"`, `"RTGS"`, `"SWIFT"` | No |

#### FundingModel-1 Schema

The fundingModel to apply to this payout.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| FundingModel-1 | string, <br>**Available values:** "PREFUNDED" | The fundingModel to apply to this payout. |  |

#### PurposeOfPayment-1 Schema

Purpose of payment code is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market

Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)

ISO20022 field name: Purpose of Payment

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PurposeOfPayment-1 | string | Purpose of payment code is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Purpose of Payment  |  |

**Example**
<pre>ISBEXP</pre>

#### DigitalAssetPayoutResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", **"payoutId"**: , **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"transactionDateTime"**: undefined (date-time), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: <br>**Available values:** "USDC", **"transactionCurrencyCode"**:  } |  | Yes |

#### PayoutToWalletRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "W" | Originating Entity must indicate the payout method i.e. Wallet  Valid values: “W” – Visa Direct Wallet <br>*Enum:* `"W"` | No |
| senderDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"identificationList"**:  } |  | Yes |
| recipientDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } |  | Yes |

#### PurposeOfPayment-2 Schema

Purpose of payment code is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market

Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)

ISO20022 field name: Purpose of Payment

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PurposeOfPayment-2 | string | Purpose of payment code is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Purpose of Payment  |  |

**Example**
<pre>ISBEXP</pre>

#### AdditionalDataName-1 Schema

Name of the field.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AdditionalDataName-1 | string | Name of the field. |  |

#### ExpectedPostingDateForValidate Schema

This is an estimated date by which the payout should be posted to the recipient’s account. This date should be communicated to the sender and recipient (if possible) to ensure that they know when to expect the funds.

The EPD is a variable field that may alter between the responses of validate payout API and send payout API.

ISO20022 field name: Interbank Settlement Date

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ExpectedPostingDateForValidate | undefined (date) | This is an estimated date by which the payout should be posted to the recipient’s account. This date should be communicated to the sender and recipient (if possible) to ensure that they know when to expect the funds.  The EPD is a variable field that may alter between the responses of validate payout API and send payout API.  ISO20022 field name: Interbank Settlement Date  |  |

**Example**
<pre>1980-02-01</pre>

#### VplContact Schema

Contact information for VPL Client Support.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| VplContact |  | Contact information for VPL Client Support. |  |

#### RecipientIdentificationList-1 Schema

Identification list of recipient

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| RecipientIdentificationList-1 | [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "L", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] | Identification list of recipient |  |

#### SenderIdentificationList Schema

Identification list of sender

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SenderIdentificationList | [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "L", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] | Identification list of sender |  |

#### ValidateAccountPayoutResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ValidateAccountPayoutResponse | { **"verificationId"**: , **"validationDetails"**: , **"expectedPostingDate"**: undefined (date), **"validationResultCode"**: <br>**Available values:** "VALID", **"clientVerificationReference"**:  } or { **"nameMatch"**: <br>**Available values:** "STRONG_MATCH", "PARTIAL_MATCH", "NO_MATCH", **"currencyCodes"**: , **"verificationId"**: , **"bankAccountName"**: , **"expectedPostingDate"**: undefined (date), **"validationResultCode"**: <br>**Available values:** "VALID_WITH_NETWORK", **"bankAccountNameTranslation"**: , **"clientVerificationReference"**:  } or { **"verificationId"**: , **"validationDetails"**: , **"validationResultCode"**: <br>**Available values:** "INVALID", **"clientVerificationReference"**:  } |  |  |

#### DigitalAssetAdditionalDetail-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| hash |  | A unique identifier for blockchain transaction, generated when blockchain transaction is initiated.  | No |

#### RecipientIdentificationList-2 Schema

Identification list of recipient

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| RecipientIdentificationList-2 |  | Identification list of recipient |  |

#### DigitalAssetAdditionalDetail-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| hash | string | A unique identifier for blockchain transaction, generated when blockchain transaction is initiated.  | No |

#### InitiatingPartyId-2 Schema

Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction

ISO20022 field name: <InitgPtyId> - InitiatingPartyIdentification, new identification of the initiating party. Visa uses integer instead of string(1-35) for uniformed value generation and presentation.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| InitiatingPartyId-2 | long | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: <InitgPtyId> - InitiatingPartyIdentification, new identification of the initiating party. Visa uses integer instead of string(1-35) for uniformed value generation and presentation.  |  |

**Example**
<pre>100111</pre>

#### RecipientIdentificationList-3 Schema

Identification list of recipient

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| RecipientIdentificationList-3 | [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "L", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] | Identification list of recipient |  |

#### CompanyIdTypeWallet Schema

When present, this field contains the type of identification document.

Valid values:
* `T` - Tax Id
* `L` - Legal Entity Registration Number

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CompanyIdTypeWallet | <br>**Available values:** "T", "L" | When present, this field contains the type of identification document.  Valid values: * `T` - Tax Id * `L` - Legal Entity Registration Number  |  |

**Example**
<pre>P</pre>

#### PayoutAccountRequest-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. To Account or Wallet  Valid values: “B” – Visa Direct Account  | Yes |
| senderDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C" } |  | Yes |
| recipientDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } } |  | Yes |

#### PayoutAccountRequest-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. To Account or Wallet  Valid values: “B” – Visa Direct Account  | Yes |
| senderDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C" } |  | Yes |
| recipientDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } } |  | Yes |

#### PayoutAccountRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. To Account or Wallet  Valid values: “B” – Visa Direct Account  | Yes |
| senderDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", "I", **"idNumber"**: string, **"idIssueCountry"**: string } ] } |  | Yes |
| recipientDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", "I", **"idNumber"**: string, **"idIssueCountry"**: string } ] } |  | Yes |

#### PayoutAccountRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. To Account or Wallet  Valid values: “B” – Visa Direct Account  | Yes |
| senderDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "U", **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } |  | Yes |
| recipientDetail | { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "U", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } |  | Yes |

#### Province-1 Schema

When present, this field contains individual recipient's address subdivision Major code, state or province

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| Province-1 | string | When present, this field contains individual recipient's address subdivision Major code, state or province |  |

**Example**
<pre>New Mexico</pre>

#### Type Schema

Identifies the type of sender or recipient - Individual or Company 
* I - Individual
* C - Company

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| Type | <br>**Available values:** "I", "C" | Identifies the type of sender or recipient - Individual or Company  * I - Individual * C - Company  |  |

**Example**
<pre>I</pre>

#### ValidatePayoutRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ValidatePayoutRequest | { **"payoutMethod"**: <br>**Available values:** "B", "W", **"senderDetail"**: { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "U", **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  }, **"recipientDetail"**: { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "U", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } } or { **"payoutMethod"**: <br>**Available values:** "B", "W", **"senderDetail"**: { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"identificationList"**:  }, **"recipientDetail"**: { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } } |  |  |

#### SettlementOverdueDetails Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| vplContact |  | Contact information for VPL Client Support. | Yes |
| currencyCode |  |  | Yes |
| totalAmountDue | undefined (double) | Total amount due by due date. | Yes |
| totalAmountOverdue | undefined (double) | Total amount currently overdue. This represents only the amounts that have actually breached their due date/time, excluding any future-dated amounts that are not yet due.  | Yes |
| originalDueDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |
| flexibleAccountFrozen |  | Indicates if the flexible account is frozen. | Yes |

#### QuoteId-1 Schema

This is a unique FX quote ID generated by Visa for a payout currency pair.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| QuoteId-1 | long | This is a unique FX quote ID generated by Visa for a payout currency pair.  |  |

**Example**
<pre>987654321</pre>

#### QuoteId-2 Schema

This is a unique FX quote ID generated by Visa for a payout currency pair.         

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| QuoteId-2 | long | This is a unique FX quote ID generated by Visa for a payout currency pair.           |  |

**Example**
<pre>987654321</pre>

#### DigitalAssetRecipientIsIndividual Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| type | <br>**Available values:** "I", "C" | Identifies the type of recipient - "I" for Individual and "C" for Company.   | Yes |
| address | { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  } |  | Yes |
| lastName |  | Recipient last name<br>Recipient last name. The length of first name and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name: Creditor Name  | Yes |
| firstName |  | Recipient first name(s), include all first (given) names<br> The length of first name(s) and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name: Creditor Name  | Yes |
| dateOfBirth | undefined (date) | Recipient date of birth (Format: "YYYY-MM-DD", e.g. "1980-02-01")  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Birth Date  | Yes |
| identificationList |  | Identification list of recipient | No |

#### InitiatingPartyId-1 Schema

Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction

ISO20022 field name: Initiating Party Identification<br>
Visa uses integer instead of string(1-35) for uniformed value generation and presentation.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| InitiatingPartyId-1 | long | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation.  |  |

**Example**
<pre>100111</pre>

#### DigitalAssetPayoutRequestAltered-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"senderSourceOfFunds"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**:  } |  | Yes |

#### 401ErrorResponseObject-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason | string | The short description of the error. | No |
| status | integer | 3 digit HTTP status code<br>*Example:* `401` | No |
| details | [ { **"code"**: string, **"message"**: string, **"location"**: string } ] |  | No |
| message | string | The long description of the error | No |

#### DigitalAssetPayoutRequestAltered-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"senderSourceOfFunds"**: string, **"businessApplicationId"**: string, **"settlementCurrencyCode"**: string, **"transactionCurrencyCode"**: string } |  | Yes |

#### S2AMetaData-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| recipientDetail | { **"identityGroups"**: [ { **"groupName"**: string, <br>**Available values:** "bank", "address", "name", "additionalData", "identificationList", "legalEntityIdentity", "contactInfo", "birthInfo", **"mandatory"**: boolean, **"groupLabel"**: string, **"identityFields"**: [ { **"locale"**: string, **"maxSize"**: integer, **"subTitle"**: string, **"tabOrder"**: integer, **"inputType"**: string, <br>**Available values:** "text", "date", "number", "list", **"listItems"**: [ { **"label"**: string, **"value"**: string } ], **"mandatory"**: boolean, **"separator"**: string, **"description"**: string, **"displaySize"**: integer, **"elementName"**: string, **"valueRegexp"**: string } ] } ] } |  | Yes |
| transactionDetail | { **"purposeOfPayment"**: { **"mandatory"**: boolean, **"purposeOfPaymentCodes"**: [ { **"code"**: string, **"description"**: string, **"senderCompany"**: boolean, **"recipientCompany"**: boolean, **"senderIndividual"**: boolean, **"recipientIndividual"**: boolean } ] } } |  | Yes |

#### PayoutSpeed-2 Schema

Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options

ISO20022 field name: Instruction Priority

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayoutSpeed-2 | <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority  |  |

**Example**
<pre>STANDARD</pre>

#### PayoutSpeed-1 Schema

Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options

ISO20022 field name: Instruction Priority

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayoutSpeed-1 | string, <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority  |  |

**Example**
<pre>standard</pre>

#### S2AMetaData-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| recipientDetail | { **"identityGroups"**: [ { **"groupName"**: string, <br>**Available values:** "bank", "address", "name", "additionalData", "identificationList", "legalEntityIdentity", "contactInfo", "birthInfo", **"mandatory"**: boolean, **"groupLabel"**: string, **"identityFields"**: [ { **"locale"**: string, **"maxSize"**: integer, **"subTitle"**: string, **"tabOrder"**: integer, **"inputType"**: string, <br>**Available values:** "text", "date", "number", "list", **"listItems"**: [ { **"label"**: string, **"value"**: string } ], **"mandatory"**: boolean, **"separator"**: string, **"description"**: string, **"displaySize"**: integer, **"elementName"**: string, **"valueRegexp"**: string } ] } ] } |  | Yes |
| transactionDetail | { **"purposeOfPayment"**: { **"mandatory"**: boolean, **"purposeOfPaymentCodes"**: [ { **"code"**: string, **"description"**: string, **"senderCompany"**: boolean, **"recipientCompany"**: boolean, **"senderIndividual"**: boolean, **"recipientIndividual"**: boolean } ] } } |  | Yes |

#### PayoutIdentifier Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayoutIdentifier |  |  |  |

#### S2AMetaData-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| recipientDetail | { **"identityGroups"**:  } |  | Yes |
| transactionDetail | { **"purposeOfPayment"**: { **"mandatory"**: , **"purposeOfPaymentCodes"**:  } } | TransactionDetail Object  | Yes |

#### UnspecifiedTypeRecipientIdentificationListAccountWallet-1 Schema

Identification list of recipient

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| UnspecifiedTypeRecipientIdentificationListAccountWallet-1 |  | Identification list of recipient |  |

#### ErrorResponseWithKey Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| errorResponse | { **"reason"**: , **"status"**: , **"details"**: , **"message"**:  } |  | No |

#### VerifyRecipientDigitalAssetRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "D" | Originating Entity must indicate the payout method i.e. Digital Asset Valid values: - "D" Visa Direct Digital Asset <br>*Enum:* `"D"` | Yes |
| recipientDetail | { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"digitalAsset"**: { **"address"**: string, **"network"**: string, <br>**Available values:** "ETHEREUM", "SOLANA", **"currencyCode"**: string, <br>**Available values:** "USDC" } } |  | Yes |
| initiatingPartyId | long |  | Yes |
| clientVerificationReference | string |  | No |

#### BalanceNotification-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| balance | [ { **"amount"**: double, **"currencyCode"**: string } & { **"operator"**: string, <br>**Available values:** "LESS_THAN", **"threshold"**: double, **"balanceTimestamp"**: dateTime } ] | array of balances for all currencies of the 'accountId' | Yes |
| accountId | string |  | Yes |
| eventType | string, <br>**Available values:** "THRESHOLD", "LIQUIDITY_FAILURE", "PERIODIC" | Indicates why the balance notification is triggered  Possible values: * `THRESHOLD` - When balance threshold is exceeded * `LIQUIDITY_FAILURE` - when balance is negative * `PERIODIC` - Regular balance snapshot at certain day/time <br>*Enum:* `"THRESHOLD"`, `"LIQUIDITY_FAILURE"`, `"PERIODIC"` | Yes |
| initiatingPartyId | long |  | Yes |

#### S2AMetaData-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| recipientDetail | { **"identityGroups"**: [ { **"groupName"**: string, <br>**Available values:** "bank", "address", "name", "additionalData", "identificationList", "legalEntityIdentity", "contactInfo", "birthInfo", **"mandatory"**: boolean, **"groupLabel"**: string, **"identityFields"**: [ { **"locale"**: string, **"maxSize"**: integer, **"subTitle"**: string, **"tabOrder"**: integer, **"inputType"**: string, <br>**Available values:** "text", "date", "number", "list", **"listItems"**: [ { **"label"**: string, **"value"**: string } ], **"mandatory"**: boolean, **"separator"**: string, **"description"**: string, **"displaySize"**: integer, **"elementName"**: string, **"valueRegexp"**: string } ] } ] } |  | Yes |
| transactionDetail | { **"purposeOfPayment"**: { **"mandatory"**: boolean, **"purposeOfPaymentCodes"**: [ { **"code"**: string, **"description"**: string, **"senderCompany"**: boolean, **"recipientCompany"**: boolean, **"senderIndividual"**: boolean, **"recipientIndividual"**: boolean } ] } } |  | Yes |

#### PullFundsDetailsFundsNotRceived-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| iBan | string | The IBAN, if configured.  | No |
| bankName | string | The bank name, if configured.  | No |
| accountNumber | integer | The last 4 digits of the account number, if configured.  | No |
| originalDueDateTime | dateTime | The date and time when the amount was originally due. ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  | Yes |
| expectedDebitDateTime | dateTime | The date and time when the debit request will be initiated. ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  | Yes |

#### AccountVerificationOnlyRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B" | Method of payout. For accounts, this should be 'B'.<br>*Enum:* `"B"`<br>*Example:* `"B"` | No |
| recipientDetail | { **"bank"**: { **"BIC"**: , **"bankCode"**: , **"bankName"**: , **"branchCode"**: , **"accountName"**: , **"accountType"**: <br>**Available values:** "1", "2", "3", "4", "5", "6", **"countryCode"**: , **"bankCodeType"**: <br>**Available values:** "ABA", "SORT_CODE", "DEFAULT", **"currencyCode"**: , **"accountNumber"**: , **"accountNumberType"**: <br>**Available values:** "IBAN", "ALIAS", "DEFAULT" }, **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"identificationList"**: { **"idType"**:  } } |  | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| clientVerificationReference |  | A client submitted identifier. This field and same value will be returned in the response.<br>*Example:* `"1234567890"` | Yes |

#### PullFundsDetailsFundsNotRceived-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| iBan |  | The IBAN, if configured.  | No |
| bankName |  | The bank name, if configured.  | No |
| accountNumber |  | The last 4 digits of the account number, if configured.  | No |
| originalDueDateTime | undefined (date-time) | The date and time when the amount was originally due. ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  | Yes |
| expectedDebitDateTime | undefined (date-time) | The date and time when the debit request was initiated. ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  | Yes |

#### BalanceNotification-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| balance | [ { **"amount"**: double, **"currencyCode"**: string } & { **"operator"**: string, <br>**Available values:** "LESS_THAN", **"threshold"**: double, **"balanceTimestamp"**: dateTime } ] | array of balances for all currencies of the 'accountId' | Yes |
| accountId | string |  | Yes |
| eventType | string, <br>**Available values:** "THRESHOLD", "LIQUIDITY_FAILURE", "PERIODIC" | Indicates why the balance notification is triggered  Possible values: * `THRESHOLD` - When balance threshold is exceeded * `LIQUIDITY_FAILURE` - when balance is negative * `PERIODIC` - Regular balance snapshot at certain day/time <br>*Enum:* `"THRESHOLD"`, `"LIQUIDITY_FAILURE"`, `"PERIODIC"` | Yes |
| initiatingPartyId | long |  | Yes |

#### BalanceNotification-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| balance | [ { **"amount"**: double, **"currencyCode"**: string } & { **"operator"**: string, <br>**Available values:** "LESS_THAN", **"threshold"**: double, **"balanceTimestamp"**: dateTime } ] | array of balances for all currencies of the 'accountId' | Yes |
| accountId | string |  | Yes |
| eventType | string, <br>**Available values:** "THRESHOLD", "LIQUIDITY_FAILURE", "PERIODIC" | Indicates why the balance notification is triggered  Possible values: * `THRESHOLD` - When balance threshold is exceeded * `LIQUIDITY_FAILURE` - when balance is negative * `PERIODIC` - Regular balance snapshot at certain day/time <br>*Enum:* `"THRESHOLD"`, `"LIQUIDITY_FAILURE"`, `"PERIODIC"` | Yes |
| initiatingPartyId | long |  | Yes |

#### FundingStatus Schema

Indicates funding status of the payout transaction.

FUNDED - Indicates that the payout is fully funded and the allocated funds are available for settlement.

NOT_FUNDED - Indicates that the payout has not yet been allocated any funds.

FUNDED_AGING - Indicates that the payout has been allocated funds but the funds are still in the required aging period.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| FundingStatus | <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING" | Indicates funding status of the payout transaction.  FUNDED - Indicates that the payout is fully funded and the allocated funds are available for settlement.  NOT_FUNDED - Indicates that the payout has not yet been allocated any funds.  FUNDED_AGING - Indicates that the payout has been allocated funds but the funds are still in the required aging period.  |  |

#### BalanceNotification-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| balance |  | array of balances for all currencies of the 'accountId' | Yes |
| accountId |  | The accountId uniquely identifies the ledger account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | <br>**Available values:** "THRESHOLD", "LIQUIDITY_FAILURE", "PERIODIC" | Indicates why the balance notification is triggered  Possible values: * `THRESHOLD` - When balance threshold is exceeded * `LIQUIDITY_FAILURE` - when balance is negative * `PERIODIC` - Regular balance snapshot at certain day/time <br>*Enum:* `"THRESHOLD"`, `"LIQUIDITY_FAILURE"`, `"PERIODIC"` | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |

#### PostingDate-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cutoffDateTime | dateTime | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |
| expectedPostingDate | undefined (date) |  | Yes |

#### IdentityGroup Schema

This type defines a recipient identity data group. Each group is normally represented as a section of fields on the UI. 'groupLabel' is the UI test to display as a name for this section. 'mandatory' indicates whether all section is mandatory. 'elementName' is the name of the element in the request for the corresponding section.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| groupName | <br>**Available values:** "bank", "address", "name", "additionalData", "identificationList", "legalEntityIdentity", "contactInfo", "birthInfo" | The name of the metadata element/enum. This generic Identity Group object can represent either 'Recipient Identity Field Group object' or 'Bank Account Registration Field Group object' .  Enum value signifies the particular metadata element.   For example :   a) if enum is "address", this can contain array of 'IdentityField' object where each object can represent elements like addressLine1, addressLine2, city, countryCode, postalCode etc       b) enum can be "identificationList", which contains array of "IdentityField' objects, one of the IdentityField object can have elementName="idType" and inputType="list", in this scenario array of IdentityListItem will have   [    {      "label": "Passport",      "value": "Passport"    },    {      "label": "National ID Card",      "value": "National ID Card"    },    {      "label": "Driving License",      "value": "Driving License"    }  ],   second 'IdentityField' Object -> elementName as "identificationNumber" with inputType="text"   third 'IdentityField' Object -> elementName as "identificationCountry" with inputType="text"   fourth 'IdentityField' Object -> elementName as "validFromDate" with inputType="text"  fifth  'IdentityField' Object -> elementName as "validToDate" with inputType="text" and so on.   c) If enum is "additionalData",this will have array of two 'IdentityField' objects, one representing 'additionalDataKey' and other one 'additionalDataValue'.   d) If enum is "name", "middleName" may be required for some countries (e.g. Africa). This can be accommodated by appending a space and then middleName to <firstName> <br>*Enum:* `"bank"`, `"address"`, `"name"`, `"additionalData"`, `"identificationList"`, `"legalEntityIdentity"`, `"contactInfo"`, `"birthInfo"` | Yes |
| mandatory |  | Indicates if the identity group is mandatory. | Yes |
| groupLabel |  | Displays a label for this group of identity fields. | Yes |
| identityFields |  | This type defines a list of recipient identity fields. | Yes |

#### ErrorResponseInNotificationForFailedRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason |  | The short description of the error. | Yes |
| status |  | 3 digit HTTP status code<br>*Example:* `400` | Yes |
| details |  |  | No |
| message |  | The long description of the error | No |

#### WalletVerificationDetail-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| nameMatch | string, <br>**Available values:** "STRONG_MATCH", "NO_MATCH", "NOT_SUPPORTED" | Indicates if recipient name matches the wallet account name - STRONG_MATCH: The recipient name matches the wallet account holder name with high confidence. - NO_MATCH: The recipient name does not match the wallet account holder name.     - NOT_SUPPORTED: The Wallet Operator does not support name matching functionality. <br>*Enum:* `"STRONG_MATCH"`, `"NO_MATCH"`, `"NOT_SUPPORTED"` | No |
| accountIdentifierMatch | string | Indicates if the account identifier matches the recipient's wallet account identifier - YES: Valid - NO: Not valid  | Yes |

#### NearLimitReachedFlexibleSettlementNotification-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId | string | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | string, <br>**Available values:** "NEAR_LIMIT_REACHED" | The type of event that triggered the notification.<br>*Enum:* `"NEAR_LIMIT_REACHED"` | Yes |
| initiatingPartyId | long | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| limitReachedDetails | [ { **"currencyCode"**: string, **"flexibleAmountLimit"**: double, **"flexibleAmountUtilized"**: double, **"flexibleAmountRemaining"**: double } ] |  | Yes |
| notificationDateTime | dateTime | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### PostingDate-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cutoffDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |
| expectedPostingDate | undefined (date) | This is an estimated date by which the payout should be posted to the recipient’s account. This date should be communicated to the sender and recipient (if possible) to ensure that they know when to expect the funds.  ISO20022 field name: Interbank Settlement Date <br>*Example:* `"1980-02-01"` | Yes |

#### PostingDate-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| cutoffDateTime | dateTime | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |
| expectedPostingDate | undefined (date) |  | Yes |

#### ValidatePayoutRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ValidatePayoutRequest-1 | { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"senderDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", "I", **"idNumber"**: string, **"idIssueCountry"**: string } ] }, **"recipientDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", "I", **"idNumber"**: string, **"idIssueCountry"**: string } ] } } or { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"senderDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", **"idNumber"**: string, **"idIssueCountry"**: string } ] }, **"recipientDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "T", "L", **"idNumber"**: string, **"idIssueCountry"**: string } ] } } |  |  |

#### ValidatePayoutRequest-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ValidatePayoutRequest-4 | { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"senderDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C" }, **"recipientDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } } } or { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"senderDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C" }, **"recipientDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } } } |  |  |

#### ValidatePayoutRequest-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ValidatePayoutRequest-2 | { **"payoutMethod"**: <br>**Available values:** "B", "W", **"senderDetail"**: { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "U", **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  }, **"recipientDetail"**: { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "U", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } } or { **"payoutMethod"**: <br>**Available values:** "B", "W", **"senderDetail"**: { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"identificationList"**:  }, **"recipientDetail"**: { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"cityOfBirth"**: , **"dateOfBirth"**: undefined (date), **"countryOfBirth"**: , **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } } |  |  |

#### SenderIndividual Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name | string | Full name of sender, conditionally required when firstName and lastName are not provided.<br>*Example:* `"Joe Smith"` | No |
| type | string, <br>**Available values:** "I", "C" | Identifies the type of sender - "I" for Individual   ISO20022 field name: Debtor Identification Type         | Yes |
| lastName | string | Sender last name, conditionally required when name is not provided  ISO20022 field name: Ultimate Debtor Last Name  | No |
| firstName | string | Sender first name, conditionally required when name is not provided  ISO20022 field name: Ultimate Debtor First Name  | No |
| cityOfBirth | string | Sender city of birth  ISO20022 field name: Ultimate Debtor City of Birth  | No |
| dateOfBirth | date | Sender date of birth (Format: "YYYY-MM-DD", e.g. "1980-02-01")  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Ultimate Debtor Birth Date   | No |
| countryOfBirth | string | Sender country of birth  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  Format: 3-character ISO-3166 (Alpha-3) country code  ISO20022 field name: Ultimate Debtor Country of Birth  | No |

#### RecipientIsIndividual Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name |  | Full name of recipient is conditionally required when "firstName" and "lastName" are not provided.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table><br>*Example:* `"Joe Smith"` | No |
| type | <br>**Available values:** "I", "C" | Identifies the type of recipient - "I" for Individual and "C" for Company.   | Yes |
| address | { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  } |  | No |
| lastName |  | Recipient last name<br>Recipient first name and last name are conditionally required when "name" is not provided. The length of first name and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name: Creditor Name  | No |
| firstName |  | Recipient first name(s), include all first (given) names<br>Recipient first name(s) and last name are conditionally required when "name" is not provided. The length of first name(s) and last name combined must be at least 3 characters.<br>Must not contain exclusively numeric characters<br>Must not contain special symbols <table>  <tr>  <td>!</td>  <td>"</td>  <td>£</td>  <td>$</td>  <td>%</td>  <td>^</td>  <td>*</td>  <td>+</td>  <td>=</td>  <td>¬</td>  <td>¦</td>  <td>:</td>  <td>;</td>  <td>@</td>  <td>~</td>  </tr>  </table>  ISO20022 field name: Creditor Name  | No |
| cityOfBirth |  | Recipient city of birth  ISO20022 field name: Creditor City of Birth  | No |
| dateOfBirth | undefined (date) | Recipient date of birth (Format: "YYYY-MM-DD", e.g. "1980-02-01")  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Birth Date  | No |
| countryOfBirth |  | Recipient country of birth  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  Format: 3-character ISO-3166 (Alpha-3) country code  ISO20022 field name: Creditor Country of Birth  | No |
| identificationList |  | Identification list of recipient | No |

#### ValidatePayoutRequest-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ValidatePayoutRequest-3 | { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"senderDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C" }, **"recipientDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } } } or { **"payoutMethod"**: string, <br>**Available values:** "B", "W", **"senderDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C" }, **"recipientDetail"**: { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string }, **"lastName"**: string, **"firstName"**: string, **"cityOfBirth"**: string, **"dateOfBirth"**: date, **"countryOfBirth"**: string } or { **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"address"**: { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } } } |  |  |

#### PayoutStatusesInProgress Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"endToEndId"**: , **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"serviceDetail"**: { **"traceable"**: , **"recallable"**: , **"paymentRail"**: <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**:  }, **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"initiatingPartyId"**: undefined (int64), **"expectedPostingDate"**: undefined (date), **"notificationDateTime"**: undefined (date-time), **"walletAdditionalDetails"**: { **"shareLink"**:  }, **"localSchemeTransactionId"**:  } |  | Yes |

#### WalletPayoutOnlyRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| transactionDetail | { **"quoteId"**: undefined (int64), **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"additionalData"**: , **"purposeOfPayment"**: , **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"statementNarrative"**: , **"senderSourceOfFunds"**: , **"businessApplicationId"**: , **"settlementCurrencyCode"**: , **"transactionCurrencyCode"**: , **"senderBeneficiaryRelationship"**:  } |  | Yes |

#### AccountQueryOnlySuccessResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B" | Originating Entity must indicate the payout method i.e. To Account    Valid values: “B” – Visa Direct Account <br>*Enum:* `"B"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"returnAmount"**: undefined (double), **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"serviceDetail"**: { **"traceable"**: , **"recallable"**: , **"paymentRail"**: <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**:  }, **"returnDateTime"**: undefined (date-time), **"returnPayoutId"**: , **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"returnCurrencyCode"**: , **"returnSourceAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: , **"description"**:  }, **"transactionDateTime"**: undefined (date-time), **"returnConversionRate"**: undefined (double), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**: , **"localSchemeTransactionId"**: , **"returnSourceCurrencyCode"**:  } |  | Yes |

#### LedgerNotification Schema

Used to indicate to originators that various ledger entries has been received by Visa.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| amount | undefined (double) | Funding amount that is credited by the Originating Entity. Expressed in the currency provided in field currencyCode  Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.   Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”.  ISO20022 field name: Instructed Amount  | Yes |
| entryId |  | The entry Id is used to uniquely identify a ledger notification for a single account and currency | Yes |
| accountId |  |  | Yes |
| entryType | <br>**Available values:** "FUNDING", "REPATRIATION", "JOURNAL", "MANAGED_LIQUIDITY" | Entry type helps to classify entries in ledger.   Possible values: * 'FUNDING' * 'REPATRIATION' * 'JOURNAL' * 'MANAGED_LIQUIDITY' <br>*Enum:* `"FUNDING"`, `"REPATRIATION"`, `"JOURNAL"`, `"MANAGED_LIQUIDITY"` | Yes |
| narrative |  | An optional description for the reason why a ledger notification was performed. | No |
| valueDate | undefined (date) | The date at which the funds are available to fund transactions. | No |
| endToEndId |  | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | No |
| bookingDate | undefined (date) | THe date at which funds are received into the ledger. | No |
| currencyCode |  | The 3-character ISO-4217 code in this field reflects the currency associated to the destination amount   Format: 3-character ISO-4217 (Alpha-3) currency code  | Yes |
| additionalInfo1 |  | Additional information that may be in the original funding to the bank, and passed along in this field.  | No |
| additionalInfo2 |  | Additional information that may be in the original funding to the bank, and passed along in this field.  | No |
| additionalInfo3 |  | Additional information that may be in the original funding to the bank, and passed along in this field.  | No |
| initiatingPartyId | undefined (int64) |  | Yes |
| creditDebitIndicator | <br>**Available values:** "CREDIT", "DEBIT" | Indicates that money credited to or debited from the account  Possible values: * `CREDIT` - Indicates that the client has funded their account. * `DEBIT` - Indicates that money was removed from a client account. <br>*Enum:* `"CREDIT"`, `"DEBIT"` | Yes |

#### VerifyRecipientDetailResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| VerifyRecipientDetailResponse-1 | { **"verificationId"**: string, **"verificationStatus"**: string, <br>**Available values:** "COMPLETED", "NOT_COMPLETED", **"walletVerificationDetail"**: { **"nameMatch"**: string, <br>**Available values:** "STRONG_MATCH", "NO_MATCH", "NOT_SUPPORTED", **"accountIdentifierMatch"**: string }, **"clientVerificationReference"**: string } or { **"verificationId"**: string, **"verificationStatus"**: string, <br>**Available values:** "COMPLETED", "NOT_COMPLETED", **"verificationDetails"**: { **"code"**: integer, **"message"**: string, **"location"**: string or null }, **"accountVerificationDetail"**: { **"nameMatch"**: string, <br>**Available values:** "Strong_Match", "Partial_Match", "No_Match" or null, **"currencyCodes"**: [ string ], **"bankAccountName"**: string or null, **"accountIdentifierMatch"**: string, **"bankAccountNameTranslation"**: string }, **"clientVerificationReference"**: string } |  |  |

#### AccountQueryOnlySuccessResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B" | Originating Entity must indicate the payout method i.e. To Account    Valid values: “B” – Visa Direct Account <br>*Enum:* `"B"` | No |
| transactionDetail | { **"status"**: string, <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: string, **"endToEndId"**: string, **"payoutSpeed"**: string, <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: string, <br>**Available values:** "PREFUNDED", **"returnAmount"**: double, **"fundingStatus"**: string, <br>**Available values:** "FUNDED", "NOT_FUNDED", **"serviceDetail"**: { **"traceable"**: boolean, **"recallable"**: boolean, **"paymentRail"**: string, <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**: boolean }, **"returnDateTime"**: dateTime, **"returnPayoutId"**: string, **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"deliveredDateTime"**: dateTime, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"returnCurrencyCode"**: string, **"returnSourceAmount"**: double, **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: string, **"description"**: string }, **"transactionDateTime"**: dateTime, **"returnConversionRate"**: double, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string, **"transactionCurrencyCode"**: string, **"localSchemeTransactionId"**: string, **"returnSourceCurrencyCode"**: string } |  | Yes |

#### TotalAmountOverdue-1 Schema

Total amount overdue.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TotalAmountOverdue-1 | double | Total amount overdue. |  |

#### VerifyRecipientDetailResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| VerifyRecipientDetailResponse-2 | { **"verificationId"**: , **"verificationStatus"**: <br>**Available values:** "COMPLETED", "NOT_COMPLETED", **"walletVerificationDetail"**: { **"nameMatch"**: <br>**Available values:** "STRONG_MATCH", "NO_MATCH", "NOT_SUPPORTED", **"accountIdentifierMatch"**:  }, **"clientVerificationReference"**:  } or { **"verificationId"**: , **"verificationStatus"**: <br>**Available values:** "COMPLETED", "NOT_COMPLETED", **"accountVerificationDetail"**: { **"bankCode"**:  or null, **"nameMatch"**: <br>**Available values:** "STRONG_MATCH", "PARTIAL_MATCH", "NO_MATCH", **"accountType"**:  or null, **"currencyCodes"**: , **"bankAccountName"**:  or null, **"verificationDetails"**: { **"code"**: , **"message"**: , **"location"**:  or null } or null, **"accountIdentifierMatch"**: <br>**Available values:** "YES", "NO" or null, **"bankAccountHolderLastName"**:  or null, **"bankAccountHolderFirstName"**:  or null, **"bankAccountNameTranslation"**:  or null }, **"clientVerificationReference"**:  } |  |  |

#### CompanySenderIdentificationListAccount Schema

Identification list of sender

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CompanySenderIdentificationListAccount |  | Identification list of sender |  |

#### VerifyRecipientBank Schema

Recipient's bank object, used for Verify Recipient requests.

Conditional object when payoutMethod has value 'B'. Unlike the Bank object used for
payout requests, accountName is not required here - the Verify Recipient service
does not enforce it as mandatory.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| BIC |  | recipient bank account Business Identifier Code (BIC)  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Agent Financial Institution BIC  | No |
| bankCode |  | recipient bank account bank code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Agent Financial Institution Clearing System Member Identification <br>*Example:* `"173"` | No |
| bankName |  | Recipient's bank name  ISO20022 field name: Creditor Agent Financial Institution Name  | No |
| branchCode |  | recipient bank account branch code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Agent Branch Identification <br>*Example:* `"123456"` | No |
| accountName |  | recipient bank account name i.e. account holder name as recorded on recipient bank account  (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Account Name  | No |
| accountType | <br>**Available values:** "1", "2", "3", "4", "5", "6" | Recipient bank account type  * `1` - Checking * `2` - Saving * `3` - Maestra * `4` - Vista * `5` - Loan * `6` - NRE  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Account Type <br>*Enum:* `"1"`, `"2"`, `"3"`, `"4"`, `"5"`, `"6"` | No |
| countryCode |  | 3-character ISO-3166 (Alpha-3) country code.<br>*Example:* `"USA"` | Yes |
| bankCodeType | <br>**Available values:** "ABA", "SORT_CODE", "DEFAULT" | recipient bank account bank code type  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) <br>*Enum:* `"ABA"`, `"SORT_CODE"`, `"DEFAULT"` | No |
| currencyCode |  | recipient bank account currency code  Format: 3-character ISO-4217 (Alpha-3) currency code  (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Account Currency  | Yes |
| accountNumber |  | recipient bank account number  (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Creditor Account Number or IBAN  | Yes |
| accountNumberType | <br>**Available values:** "IBAN", "ALIAS", "DEFAULT" | recipient bank account number type. Valid values: "IBAN", "ALIAS" and "DEFAULT"  (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) <br>*Enum:* `"IBAN"`, `"ALIAS"`, `"DEFAULT"`<br>*Example:* `"DEFAULT"` | Yes |

#### CurrencyDetails-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason | <br>**Available values:** "FLEXIBLE_SETTLEMENT_DISABLED", "CURRENCY_DISABLED", "FREEZE_MANUAL", "FREEZE_SETTLEMENT_DUE", "FREEZE_ALL_FREEZE_ENABLED", "UNFREEZE_MANUAL", "NO_DUES" | The reason denotes why a particular currency change has happened. 1. FLEXIBLE_SETTLEMENT_DISABLED – The flexible settlement is disabled for the client. This applies only when the currentStatus is DISABLED.  2. CURRENCY_DISABLED - The currency is disabled for the client. This applies only when the currentStatus is DISABLED. 3. FREEZE_MANUAL – The currency has been manually frozen. This applies only when the currentStatus is DISABLED. 4. FREEZE_SETTLEMENT_DUE - The currency is automatically frozen following a settlement breach and will stay frozen until the outstanding amount is paid. This applies only when the currentStatus is DISABLED. 5. FREEZE_ALL_FREEZE_ENABLED - This currency is frozen because another currency is overdue, and the all-freeze setting is enabled. This applies only when the currentStatus is DISABLED. 6. UNFREEZE_MANUAL - The currency has been manually enabled temporarily. This applies only when the currentStatus is ENABLED. 7. NO_DUES - The currency is enabled and can be used to send payouts. This applies only when the currentStatus is ENABLED. <br>*Enum:* `"FLEXIBLE_SETTLEMENT_DISABLED"`, `"CURRENCY_DISABLED"`, `"FREEZE_MANUAL"`, `"FREEZE_SETTLEMENT_DUE"`, `"FREEZE_ALL_FREEZE_ENABLED"`, `"UNFREEZE_MANUAL"`, `"NO_DUES"`<br>*Example:* `"FLEXIBLE_SETTLEMENT_DISABLED"` | Yes |
| currencyCode |  | 3-character ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| currentStatus | <br>**Available values:** "ENABLED", "DISABLED" | Indicates the current status of the currency. Only two values are allowed <br /> ENABLED – payouts in this currency are allowed. <br /> DISABLED – payouts in this currency are not allowed. <br>*Enum:* `"ENABLED"`, `"DISABLED"`<br>*Example:* `"ENABLED"` | Yes |
| previousStatus | <br>**Available values:** "ENABLED", "DISABLED" | Indicates the currency's previous status, if applicable. Only two values are allowed <br /> ENABLED – payouts in this currency were allowed. <br /> DISABLED – payouts in this currency were not allowed. <br>*Enum:* `"ENABLED"`, `"DISABLED"`<br>*Example:* `"ENABLED"` | No |
| lastModifiedDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | No |

#### RecipientIdentificationList Schema

Identification list of recipient

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| RecipientIdentificationList |  | Identification list of recipient |  |

#### WalletQueryOnlySuccessResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "W" | Originating Entity must indicate the payout method i.e. To Wallet    Valid values: “W” – Visa Direct Wallet <br>*Enum:* `"W"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"endToEndId"**: , **"payoutSpeed"**: <br>**Available values:** "STANDARD", "PREMIUM", **"fundingModel"**: <br>**Available values:** "PREFUNDED", **"returnAmount"**: undefined (double), **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"serviceDetail"**: { **"traceable"**: , **"recallable"**: , **"paymentRail"**: <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**:  }, **"returnDateTime"**: undefined (date-time), **"returnPayoutId"**: , **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"returnCurrencyCode"**: , **"returnSourceAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: , **"description"**:  }, **"transactionDateTime"**: undefined (date-time), **"returnConversionRate"**: undefined (double), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: , **"transactionCurrencyCode"**: , **"walletAdditionalDetails"**: { **"shareLink"**:  }, **"localSchemeTransactionId"**: , **"returnSourceCurrencyCode"**:  } |  | Yes |

#### DueDateTime-1 Schema

ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DueDateTime-1 | dateTime | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00 |  |

**Example**
<pre>2020-05-05T12:12:12Z</pre>

#### CurrencyDetails-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| reason | string, <br>**Available values:** "FLEXIBLE_SETTLEMENT_DISABLED", "CURRENCY_DISABLED", "FREEZE_MANUAL", "FREEZE_SETTLEMENT_DUE", "FREEZE_ALL_FREEZE_ENABLED", "UNFREEZE_MANUAL", "NO_DUES" | The reason denotes why a particular currency change has happened. 1. FLEXIBLE_SETTLEMENT_DISABLED – The flexible settlement is disabled for the client. This applies only when the currentStatus is DISABLED.  2. CURRENCY_DISABLED - The currency is disabled for the client. This applies only when the currentStatus is DISABLED. 3. FREEZE_MANUAL – The currency has been manually frozen. This applies only when the currentStatus is DISABLED. 4. FREEZE_SETTLEMENT_DUE - The currency is automatically frozen following a settlement breach and will stay frozen until the outstanding amount is paid. This applies only when the currentStatus is DISABLED. 5. FREEZE_ALL_FREEZE_ENABLED - This currency is frozen because another currency is overdue, and the all-freeze setting is enabled. This applies only when the currentStatus is DISABLED. 6. UNFREEZE_MANUAL - The currency has been manually enabled temporarily. This applies only when the currentStatus is ENABLED. 7. NO_DUES - The currency is enabled and can be used to send payouts. This applies only when the currentStatus is ENABLED. <br>*Enum:* `"FLEXIBLE_SETTLEMENT_DISABLED"`, `"CURRENCY_DISABLED"`, `"FREEZE_MANUAL"`, `"FREEZE_SETTLEMENT_DUE"`, `"FREEZE_ALL_FREEZE_ENABLED"`, `"UNFREEZE_MANUAL"`, `"NO_DUES"`<br>*Example:* `"FLEXIBLE_SETTLEMENT_DISABLED"` | Yes |
| currencyCode | string | 3-character ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| currentStatus | string, <br>**Available values:** "ENABLED", "DISABLED" | Indicates the current status of the currency. Only two values are allowed <br /> ENABLED – payouts in this currency are allowed. <br /> DISABLED – payouts in this currency are not allowed. <br>*Enum:* `"ENABLED"`, `"DISABLED"`<br>*Example:* `"ENABLED"` | Yes |
| previousStatus | string, <br>**Available values:** "ENABLED", "DISABLED" | Indicates the currency's previous status, if applicable. Only two values are allowed <br /> ENABLED – payouts in this currency were allowed. <br /> DISABLED – payouts in this currency were not allowed. <br>*Enum:* `"ENABLED"`, `"DISABLED"`<br>*Example:* `"ENABLED"` | No |
| lastModifiedDateTime | dateTime | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | No |

#### SenderAccountPayoutAddress-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city | string | Sender address city  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Ultimate Debtor Address Town Name  | Yes |
| state | string | Sender address state  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Ultimate Debtor Address Country Sub-division  | No |
| country | string | Sender address country  Format: 3-character ISO-3166 (Alpha-3) country code  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Ultimate Debtor Address Country  | Yes |
| postalCode | string | Sender address postal code  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Ultimate Debtor Address Postal Code  | No |
| addressLine1 | string | Sender address line 1  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Ultimate Debtor Address Line 1  | Yes |
| addressLine2 | string | Sender address line 2  Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Ultimate Debtor Address Line 2  | No |

#### SenderAccountPayoutAddress-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city |  | Sender address city  ISO20022 field name:<br> For 4th  party payments: "Ultimate Debtor Address Town Name" <br> For 3rd party payments: "Debtor Address Town Name"  | Yes |
| state |  | Sender address state  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name:<br> For 4th  party payments:  "Ultimate Debtor Address Country Sub-division" <br> For 3rd party payments: "Debtor Address Country Sub-division"  | No |
| country |  | Sender address country  Format: 3-character ISO-3166 (Alpha-3) country code  ISO20022 field name:<br> For 4th  party payments: "Ultimate Debtor Address Country" <br> For 3rd party payments: "Debtor Address Country"  | Yes |
| postalCode |  | Sender address postal code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: <br> For 4th  party payments: "Ultimate Debtor Address Postal Code" <br> For 3rd party payments: "Debtor Address Postal Code"  | No |
| addressLine1 |  | Sender address line 1  ISO20022 field name:<br> For 4th  party payments:  "Ultimate Debtor Address Street Name" <br> For 3rd party payments: "Debtor Address Street Name"  | Yes |
| addressLine2 |  | Sender address line 2  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name:<br> For 4th  party payments: "Ultimate Debtor Address Floor" <br> For 3rd party payments: "Debtor Address Floor"  | No |

#### SenderAccountPayoutAddress-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| city | string | Sender address city  ISO20022 field name:<br> For 4th  party payments: "Ultimate Debtor Address Town Name" <br> For 3rd party payments: "Debtor Address Town Name"  | Yes |
| state | string | Sender address state  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name:<br> For 4th  party payments:  "Ultimate Debtor Address Country Sub-division" <br> For 3rd party payments: "Debtor Address Country Sub-division"  | No |
| country | string | Sender address country  Format: 3-character ISO-3166 (Alpha-3) country code  ISO20022 field name:<br> For 4th  party payments: "Ultimate Debtor Address Country" <br> For 3rd party payments: "Debtor Address Country"  | Yes |
| postalCode | string | Sender address postal code  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: <br> For 4th  party payments: "Ultimate Debtor Address Postal Code" <br> For 3rd party payments: "Debtor Address Postal Code"  | No |
| addressLine1 | string | Sender address line 1  ISO20022 field name:<br> For 4th  party payments:  "Ultimate Debtor Address Street Name" <br> For 3rd party payments: "Debtor Address Street Name"  | Yes |
| addressLine2 | string | Sender address line 2  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name:<br> For 4th  party payments: "Ultimate Debtor Address Floor" <br> For 3rd party payments: "Debtor Address Floor"  | No |

#### Province Schema

When present, this field contains individual recipient's address subdivision Major code, state or province

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| Province |  | When present, this field contains individual recipient's address subdivision Major code, state or province |  |

**Example**
<pre>New Mexico</pre>

#### PayoutNotificationProcessRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: string, **"payoutId"**: string, **"endToEndId"**: string, **"fundingStatus"**: string, <br>**Available values:** "FUNDED", "NOT_FUNDED", **"serviceDetail"**: { **"traceable"**: boolean, **"recallable"**: boolean, **"paymentRail"**: string, <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT" }, **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"expectedPostingDate"**: undefined (date), **"notificationDateTime"**: dateTime } |  | Yes |

#### PurposeOfPaymentCodes Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| code |  | Purpose of payment code is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market  Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths)  ISO20022 field name: Purpose of Payment <br>*Example:* `"ISBEXP"` | Yes |
| description |  | Description of purpose of payment code.<br>*Example:* `"Salary/payroll"` | Yes |
| senderCompany |  | Is the purpose of payment code valid if the sender is a company. | No |
| recipientCompany |  | Is the purpose of payment code valid if the recipient is a company. | No |
| senderIndividual |  | Is the purpose of payment code valid if the sender is an individual. | No |
| recipientIndividual |  | Is the purpose of payment code valid if the recipient is an individual. | No |

#### PayoutDigitalAssetRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Digital Asset  Valid values: "D" – Visa Direct Digital Asset  | Yes |
| senderDetail | { **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C" } |  | Yes |
| recipientDetail | { **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"lastName"**: , **"firstName"**: , **"dateOfBirth"**: undefined (date), **"identificationList"**:  } or { **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"address"**: { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  }, **"identificationList"**:  } |  | Yes |

#### RouteDefinitionRecallPerCountryAndCurrency Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "w" | Payout method code. Valid values are B- Bank , W- Wallet (This ENUM is not currently supported. It is for future use.) <br>*Enum:* `"B"`, `"w"` | Yes |
| notificationId | string | Unique identifier for the notification. In case of a recall (i.e., when the notificationType is "RECALL"), this field will contain the notificationId of a previously sent notification that is being recalled. <br>*Example:* `"58e0a7d7-eebc-11d8-9669-0800200c9a66"` | Yes |
| metadataVersion | string | This is the version of the route definition recalled by VISA.  It is in the format <major-version>.<minor-version>.<patch>.  * patch updates are documentation updates only and should not influence the processing of a payout transaction. Example: changes to the description of Purpose of Payment code.  * minor-version updates indicate backward compatible changes in the route validation rules on a payout transaction. Example: addition of a new Purpose of Payment code.  * major-version updates indicate backward incompatible changes in the route validation rules on a payout transaction. Such changes are usually regulatory in nature or due to partner migration on Visa's backend. Example: Purpose of Payment code changing from a "conditional"/ "recommended" to a "required" field. <br>*Example:* `"1.0.0"` | Yes |
| notificationType | string, <br>**Available values:** "RECALL" | Notification Type. Valid value- RECALL <br>*Enum:* `"RECALL"` | Yes |
| metadataVersionDate | date | This was the expected go-live date of the recalled metadata version. | Yes |
| recipientCountryCode | string | ISO-3166 (Alpha-3) country code <br>*Example:* `"USA"` | Yes |
| recipientCurrencyCode | string | ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| recipientWalletOperator | string | Wallet operator enumerated names. This field will be present only when the payoutMethod is W. recipientWalletOperator is for future use as payoutMethod=W is not currently supported. <br>*Example:* `"BKASH"` | No |

#### PayoutMethod Schema

Originating Entity must indicate the payout method i.e. Account or Wallet

Valid values:
- "B" Visa Direct Account
- "W" Visa Direct Wallet

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet  |  |

#### TransactionIdType Schema

This field indicates the type of identifier
- CLIENT_REFERENCE_ID is merchant's transaction reference ID
- PAYOUT_ID is Visa's transaction reference ID

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TransactionIdType | <br>**Available values:** "CLIENT_REFERENCE_ID", "PAYOUT_ID" | This field indicates the type of identifier - CLIENT_REFERENCE_ID is merchant's transaction reference ID - PAYOUT_ID is Visa's transaction reference ID  |  |

#### AccountRecipientIsCompany-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name |  | Recipient company name. <br>Must not contain exclusively numeric characters  ISO20022 field name: Creditor Name  | Yes |
| type | <br>**Available values:** "I", "C" | Identifies the type of recipient - "C" for Company   | Yes |
| address | { **"city"**: , **"state"**: , **"country"**: , **"postalCode"**: , **"addressLine1"**: , **"addressLine2"**:  } |  | No |
| identificationList |  | Identification list of recipient | No |

#### AccountRecipientIsCompany-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name | string | Recipient company name. <br>Must not contain exclusively numeric characters  ISO20022 field name: Creditor Name  | Yes |
| type | string, <br>**Available values:** "I", "C" | Identifies the type of recipient - "C" for Company   | Yes |
| address | { **"city"**: string, **"state"**: string, **"country"**: string, **"postalCode"**: string, **"addressLine1"**: string, **"addressLine2"**: string } |  | No |
| identificationList | [ { **"idType"**: string, <br>**Available values:** "T", "L", "I", **"idNumber"**: string, **"idIssueCountry"**: string } ] |  | No |

#### ExpectedPostingDate Schema

This is an estimated date by which the payout should be posted to the recipient’s account. This date should be communicated to the sender and recipient (if possible) to ensure that they know when to expect the funds.

ISO20022 field name: Interbank Settlement Date

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ExpectedPostingDate | undefined (date) | This is an estimated date by which the payout should be posted to the recipient’s account. This date should be communicated to the sender and recipient (if possible) to ensure that they know when to expect the funds.  ISO20022 field name: Interbank Settlement Date  |  |

**Example**
<pre>1980-02-01</pre>

#### AccountVerificationOnlyRequest Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B" | Method of payout. For accounts, this should be 'B'.<br>*Enum:* `"B"`<br>*Example:* `"B"` | No |
| recipientDetail | { **"bank"**: { **"BIC"**: , **"bankCode"**: , **"bankName"**: , **"branchCode"**: , **"accountName"**: , **"accountType"**: <br>**Available values:** "1", "2", "3", "4", "5", "6", **"countryCode"**: , **"bankCodeType"**: <br>**Available values:** "ABA", "SORT_CODE", "DEFAULT", **"currencyCode"**: , **"accountNumber"**: , **"accountNumberType"**: <br>**Available values:** "IBAN", "ALIAS", "DEFAULT" }, **"name"**: , **"type"**: <br>**Available values:** "I", "C", **"lastName"**: , **"firstName"**: , **"identificationList"**: { **"idType"**:  } } |  | Yes |
| initiatingPartyId |  | The ID of the initiating party.<br>*Example:* `"123456"` | Yes |
| clientVerificationReference |  |  | Yes |

#### ReturnReasonDetails-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| code | string |  | Yes |
| description | string | Indicates the PSP return description when the payout is returned. Refer to PSP Return Description (add link to VDP)  ISO20022 field name: Payment Return - PSP Return Description  | No |

#### ReturnReasonDetails-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| code | string |  | Yes |
| description | string | Indicates the PSP return description when the payout is returned. Refer to PSP Return Description  ISO20022 field name: Payment Return - PSP Return Description  | No |

#### ReturnReasonDetails-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| code | string |  | Yes |
| description | string | Indicates the PSP return description when the payout is returned. Refer to PSP Return Description  ISO20022 field name: Payment Return - PSP Return Description  | No |

#### SourceOfFunds-1 Schema

Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are:
Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details  

01 = Visa credit
02 = Visa debit
03 = Visa prepaid
04 = Cash
05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards)
06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)

Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.

ISO20022 field name: Debtor Account Type

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SourceOfFunds-1 | string | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.  ISO20022 field name: Debtor Account Type  |  |

#### ReturnReasonDetails-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| code |  | If the Transaction Status is RETURNED or REJECTED then Return reason code will be populated  ISO20022 field name: Payment Return - Reason Code    For a complete list of reject/return codes and descriptions please visit <a href='/capabilities/visa-direct-account-and-wallet/docs-error-codes'>Visa Direct Account and Wallet - Error Codes</a> <br>*Example:* `"RE303"` | Yes |
| description |  | Indicates the PSP return description when the payout is returned. Refer to PSP Return Description  ISO20022 field name: Payment Return - PSP Return Description  | No |

#### SourceOfFunds-2 Schema

Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are:
Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details  

01 = Visa credit
02 = Visa debit
03 = Visa prepaid
04 = Cash
05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards)
06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)

Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account. This field is required for Money Transfers and Funds Disbursements.

ISO20022 field name: Debtor Account Type Source of Funds

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SourceOfFunds-2 | string | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account. This field is required for Money Transfers and Funds Disbursements.  ISO20022 field name: Debtor Account Type Source of Funds  |  |

#### FundingDetails Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| currencyCode |  | 3-character ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| totalAmountDue | undefined (double) | Total amount due by due date. Pulled in this request.  | Yes |
| pullFundsDetails | { **"iBan"**: , **"bankName"**: , **"accountNumber"**: , **"expectedDebitDateTime"**: undefined (date-time) } |  | No |

#### SourceOfFunds-3 Schema

Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are:
Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details  

01 = Visa credit
02 = Visa debit
03 = Visa prepaid
04 = Cash
05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards)
06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)

Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account. This field is required for Money Transfers and Funds Disbursements.

ISO20022 field name: Debtor Account Type

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SourceOfFunds-3 | string | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account. This field is required for Money Transfers and Funds Disbursements.  ISO20022 field name: Debtor Account Type  |  |

#### PostalCode Schema

When present, this field contains individual recipient's address postal code.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PostalCode |  | When present, this field contains individual recipient's address postal code. |  |

**Example**
<pre>94320</pre>

#### TransactionalAdditionalData Schema

Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value)

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| TransactionalAdditionalData |  | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) |  |

#### PayoutNotificationProcessRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: string, **"payoutId"**: string, **"endToEndId"**: string, **"fundingStatus"**: string, <br>**Available values:** "FUNDED", "NOT_FUNDED", **"serviceDetail"**: { **"traceable"**: boolean, **"recallable"**: boolean, **"paymentRail"**: string, <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT" }, **"clientReferenceId"**: string, **"initiatingPartyId"**: long, **"expectedPostingDate"**: undefined (date), **"notificationDateTime"**: dateTime } |  | Yes |

#### CompanyName-1 Schema

Company name

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CompanyName-1 | string | Company name |  |

**Example**
<pre>Visa</pre>

#### VerifyRecipientDetailResponse Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| VerifyRecipientDetailResponse | { **"verificationId"**: , **"verificationStatus"**: <br>**Available values:** "COMPLETED", "NOT_COMPLETED", **"walletVerificationDetail"**: { **"nameMatch"**: <br>**Available values:** "STRONG_MATCH", "NO_MATCH", "NOT_SUPPORTED", **"accountIdentifierMatch"**:  }, **"clientVerificationReference"**:  } or { **"verificationId"**: , **"verificationStatus"**: <br>**Available values:** "COMPLETED", "NOT_COMPLETED", **"verificationDetails"**: { **"code"**: , **"message"**: , **"location"**:  or null }, **"accountVerificationDetail"**: { **"nameMatch"**: <br>**Available values:** "Strong_Match", "Partial_Match", "No_Match" or null, **"currencyCodes"**: , **"bankAccountName"**:  or null, **"accountIdentifierMatch"**: , **"bankAccountNameTranslation"**:  }, **"clientVerificationReference"**:  } |  |  |

#### FlexibleSettlementNotification Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| FlexibleSettlementNotification | { **"accountId"**: , **"eventType"**: <br>**Available values:** "LIMIT_REACHED", **"initiatingPartyId"**: undefined (int64), **"limitReachedDetails"**: , **"notificationDateTime"**: undefined (date-time) } or { **"accountId"**: , **"eventType"**: <br>**Available values:** "END_OF_DAY", **"windowDueDetails"**: , **"currentDueDetails"**: , **"initiatingPartyId"**: undefined (int64), **"notificationDateTime"**: undefined (date-time) } or { **"accountId"**: , **"eventType"**: <br>**Available values:** "NEAR_LIMIT_REACHED", **"initiatingPartyId"**: undefined (int64), **"limitReachedDetails"**: , **"notificationDateTime"**: undefined (date-time) } or { **"accountId"**: , **"eventType"**: <br>**Available values:** "SETTLEMENT_OVERDUE", **"nextDueDetails"**: , **"initiatingPartyId"**: undefined (int64), **"notificationDateTime"**: undefined (date-time) } or { **"accountId"**: , **"eventType"**: <br>**Available values:** "SETTLEMENT_DUE_BREACHED", **"nextDueDetails"**: , **"initiatingPartyId"**: undefined (int64), **"notificationDateTime"**: undefined (date-time) } or { **"accountId"**: , **"eventType"**: <br>**Available values:** "CLIENT_EXPOSURE", **"exposureInfo"**: , **"initiatingPartyId"**: undefined (int64), **"notificationDateTime"**: undefined (date-time) } or { **"accountId"**: , **"eventType"**: <br>**Available values:** "PULL_FUNDS_INITIATED", **"fundingDetails"**: , **"initiatingPartyId"**: undefined (int64), **"notificationDateTime"**: undefined (date-time) } or { **"accountId"**: , **"eventType"**: <br>**Available values:** "CURRENCY_INFO", **"currencyDetails"**: , **"initiatingPartyId"**: undefined (int64), **"notificationDateTime"**: undefined (date-time) } or { **"accountId"**: , **"eventType"**: <br>**Available values:** "PULL_FUNDS_NOT_RECEIVED", **"fundingDetails"**: , **"initiatingPartyId"**: undefined (int64), **"notificationDateTime"**: undefined (date-time) } |  |  |

#### CityOfBirth-1 Schema

This field should contain recipient’s city of birth.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CityOfBirth-1 | string | This field should contain recipient’s city of birth. |  |

**Example**
<pre>Mumbai</pre>

#### DigitalAssetQueryResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DigitalAssetQueryResponse-2 | { **"payoutMethod"**: <br>**Available values:** "D", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"returnAmount"**: undefined (double), **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"returnDateTime"**: undefined (date-time), **"returnPayoutId"**: , **"fxConversionRate"**: undefined (double), **"settlementAmount"**: undefined (double), **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"destinationAmount"**: undefined (double), **"initiatingPartyId"**: undefined (int64), **"transactionAmount"**: undefined (double), **"returnCurrencyCode"**: , **"returnSourceAmount"**: undefined (double), **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: , **"description"**:  }, **"transactionDateTime"**: undefined (date-time), **"returnConversionRate"**: undefined (double), **"settlementCurrencyCode"**: , **"destinationCurrencyCode"**: <br>**Available values:** "USDC", **"transactionCurrencyCode"**: , **"returnSourceCurrencyCode"**: , **"digitalAssetAdditionalDetail"**: { **"hash"**:  } } } or { **"payoutMethod"**: <br>**Available values:** "D", **"transactionDetail"**: { **"status"**: <br>**Available values:** "VALIDATION_FAILED", "ERROR                -", **"errorDetails"**:  } } or { **"payoutMethod"**: <br>**Available values:** "D", **"transactionDetail"**: { **"status"**: <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: , **"initiatingPartyId"**: undefined (int64) } } |  |  |

#### ReturnReasonCodeDescription Schema

Indicates the PSP return description when the payout is returned. Refer to PSP Return Description

ISO20022 field name: Payment Return - PSP Return Description

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ReturnReasonCodeDescription |  | Indicates the PSP return description when the payout is returned. Refer to PSP Return Description  ISO20022 field name: Payment Return - PSP Return Description  |  |

#### AccountName-1 Schema

When present, this field contains recipient’s account name at the bank.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| AccountName-1 | string | When present, this field contains recipient’s account name at the bank. |  |

**Example**
<pre>John Doe</pre>

#### DigitalAssetQueryResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| DigitalAssetQueryResponse-1 | { **"payoutMethod"**: string, <br>**Available values:** "D", **"transactionDetail"**: { **"status"**: string, <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "PENDING_CANCELLATION", "CANCELLED", "RETURNED", "REJECTED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: string, **"returnAmount"**: double, **"fundingStatus"**: string, <br>**Available values:** "FUNDED", "NOT_FUNDED", **"returnDateTime"**: dateTime, **"returnPayoutId"**: string, **"fxConversionRate"**: double, **"settlementAmount"**: double, **"clientReferenceId"**: string, **"deliveredDateTime"**: dateTime, **"destinationAmount"**: double, **"initiatingPartyId"**: long, **"transactionAmount"**: double, **"returnCurrencyCode"**: string, **"returnSourceAmount"**: double, **"expectedPostingDate"**: undefined (date), **"returnReasonDetails"**: { **"code"**: string, **"description"**: string }, **"transactionDateTime"**: dateTime, **"returnConversionRate"**: double, **"settlementCurrencyCode"**: string, **"destinationCurrencyCode"**: string or string, <br>**Available values:** "USDC", **"transactionCurrencyCode"**: string, **"returnSourceCurrencyCode"**: string, **"digitalAssetAdditionalDetail"**: { **"hash"**: string } } } or { **"payoutMethod"**: string, <br>**Available values:** "D", **"transactionDetail"**: { **"status"**: string, <br>**Available values:** "VALIDATION_FAILED", "ERROR                -", **"errorDetails"**: [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ] } } or { **"payoutMethod"**: string, <br>**Available values:** "D", **"transactionDetail"**: { **"status"**: string, <br>**Available values:** "PENDING", "PENDING_CANCELLATION", "CANCELLED", **"clientReferenceId"**: string, **"initiatingPartyId"**: long } } |  |  |

#### DigitalAssetValidPayoutResponse-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| validationDetails |  | comprehensive array of errors | No |
| expectedPostingDate | undefined (date) | This is an estimated date by which the payout should be posted to the recipient’s account. This date should be communicated to the sender and recipient (if possible) to ensure that they know when to expect the funds.  The EPD is a variable field that may alter between the responses of validate payout API and send payout API.  ISO20022 field name: Interbank Settlement Date <br>*Example:* `"1980-02-01"` | No |
| validationResultCode | <br>**Available values:** "VALID" | - VALID - Visa's validation succeeds. <br>*Enum:* `"VALID"` | Yes |

#### PayoutId Schema

This is a globally unique identifier generated by Visa for a payout transaction

ISO20022 field name: Transaction Information And Status - Additional Remittance Information

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| PayoutId |  | This is a globally unique identifier generated by Visa for a payout transaction  ISO20022 field name: Transaction Information And Status - Additional Remittance Information  |  |

**Example**
<pre>5003f6a0-2c44-11b2-aa57-47378ae53313_1</pre>

#### CurrentStatus Schema

Indicates the current status of the currency. Only two values are allowed <br />
ENABLED – payouts in this currency are allowed. <br />
DISABLED – payouts in this currency are not allowed.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| CurrentStatus | <br>**Available values:** "ENABLED", "DISABLED" | Indicates the current status of the currency. Only two values are allowed <br /> ENABLED – payouts in this currency are allowed. <br /> DISABLED – payouts in this currency are not allowed.  |  |

**Example**
<pre>ENABLED</pre>

#### MiddleName Schema

Optional middle name or middle initial when recipient is an individual.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| MiddleName | string | Optional middle name or middle initial when recipient is an individual. |  |

**Example**
<pre>A</pre>

#### ValidateWalletTransactionDetail-4 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| quoteId | long | This is a unique FX quote ID generated by Visa for a payout currency pair.          <br>*Example:* `987654321` | No |
| endToEndId | string | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification  <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | Yes |
| payoutSpeed | string, <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority <br>*Enum:* `"STANDARD"`, `"PREMIUM"`<br>*Example:* `"standard"` | No |
| additionalData | [ { **"name"**: string, **"value"**: string } ] | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) | No |
| purposeOfPayment | string | Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) ISO20022 field name: Purpose of Payment  | No |
| initiatingPartyId | long |  | Yes |
| transactionAmount | double | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| statementNarrative | string |  | No |
| senderSourceOfFunds | string | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account. This field is required for Money Transfers and Funds Disbursements.  ISO20022 field name: Debtor Account Type  | No |
| businessApplicationId | string | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode | string | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode | string | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |
| senderBeneficiaryRelationship | string | Sender's relationship with recipient | No |

#### ValidateWalletTransactionDetail-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| endToEndId | string | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification  <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | Yes |
| payoutSpeed | string, <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority <br>*Enum:* `"STANDARD"`, `"PREMIUM"`<br>*Example:* `"standard"` | No |
| additionalData | [ { **"name"**: string, **"value"**: string } ] | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) | No |
| purposeOfPayment | string | Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market Conditional (Refer to Payouts Endpoint Guide on country-specific required fields and lengths) ISO20022 field name: Purpose of Payment  | No |
| initiatingPartyId | long |  | Yes |
| transactionAmount | double | The amount to debit from merchant's funding account or credit to beneficiary's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Payouts Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| statementNarrative | string |  | No |
| senderSourceOfFunds | string | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account. This field is required for Money Transfers and Funds Disbursements.  ISO20022 field name: Debtor Account Type Source of Funds  | No |
| businessApplicationId | string | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode | string | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode | string | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |
| senderBeneficiaryRelationship | string | Sender's relationship with recipient | No |

#### Date Schema

a Date

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| Date | undefined (date) | a Date |  |

**Example**
<pre>1980-02-01</pre>

#### PayoutStatusesInProgress-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: string, **"payoutId"**: string, **"endToEndId"**: string, **"fundingStatus"**: string, <br>**Available values:** "FUNDED", "NOT_FUNDED", **"serviceDetail"**: { **"traceable"**: boolean, **"recallable"**: boolean, **"paymentRail"**: string, <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**: boolean }, **"clientReferenceId"**: string, **"deliveredDateTime"**: dateTime, **"initiatingPartyId"**: long, **"expectedPostingDate"**: undefined (date), **"notificationDateTime"**: dateTime, **"walletAdditionalDetails"**: { **"shareLink"**: string }, **"localSchemeTransactionId"**: string } |  | Yes |

#### FlexibleAmountLimit-1 Schema

Liquidity limit.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| FlexibleAmountLimit-1 | double | Liquidity limit. |  |

#### ValidateWalletTransactionDetail-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| quoteId | undefined (int64) | This is a unique FX quote ID generated by Visa for a payout currency pair. <br>*Example:* `987654321` | No |
| endToEndId |  | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | Yes |
| payoutSpeed | <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority <br>*Enum:* `"STANDARD"`, `"PREMIUM"`<br>*Example:* `"STANDARD"` | No |
| fundingModel | <br>**Available values:** "PREFUNDED" | The fundingModel to apply to this payout.<br>*Enum:* `"PREFUNDED"` | No |
| additionalData |  | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) | No |
| purposeOfPayment |  | Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) ISO20022 field name: Purpose of Payment  | No |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| transactionAmount | undefined (double) | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| statementNarrative |  | Originating Entity is advised to provide a narrative that helps the recipient clearly identify the sender and reason for the payment. Text will be displayed on the recipient’s statement when the payment gets posted to the recipient’s account or wallet statement.  Not all wallet operators support a statement narrative.  Conditional - (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths).  ISO20022 field name: Remittance Information Unstructured <br>*Example:* `"testing narrative"` | No |
| senderSourceOfFunds |  | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.  ISO20022 field name: Debtor Account Type  | No |
| businessApplicationId |  | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode |  | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode |  | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |
| senderBeneficiaryRelationship |  | Sender's relationship with recipient | No |

#### ValidateWalletTransactionDetail-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| quoteId | long | This is a unique FX quote ID generated by Visa for a payout currency pair. <br>*Example:* `987654321` | No |
| endToEndId | string | Identifier assigned by the Originating Entity's customer to track the transaction end-to-end  Conditional: Required if payout to a wallet recipient  ISO20022 field name: end-to-end identification <br>*Example:* `"5003f6a02c4411b2aa5747378ae5331"` | Yes |
| payoutSpeed | string, <br>**Available values:** "STANDARD", "PREMIUM" | Originating Entity to indicate the desired payout speed for the payment. Currently supported value is "STANDARD". This field will be enhanced in future to include additional speed options  ISO20022 field name: Instruction Priority <br>*Enum:* `"STANDARD"`, `"PREMIUM"`<br>*Example:* `"standard"` | No |
| fundingModel | string, <br>**Available values:** "PREFUNDED" | The fundingModel to apply to this payout.<br>*Enum:* `"PREFUNDED"` | No |
| additionalData | [ { **"name"**: string, **"value"**: string } ] | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) | No |
| purposeOfPayment | string | Purpose of payment is required in certain markets to clearly identify the purpose of the payment based on the standard values defined for respective market Conditional (Refer to Visa Direct Endpoint Guide on country-specific required fields and lengths) ISO20022 field name: Purpose of Payment  | No |
| initiatingPartyId | long |  | Yes |
| transactionAmount | double | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| statementNarrative | string |  | No |
| senderSourceOfFunds | string | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.  ISO20022 field name: Debtor Account Type  | No |
| businessApplicationId | string | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode | string | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode | string | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |
| senderBeneficiaryRelationship | string | Sender's relationship with recipient | No |

#### PayoutStatusesInProgress-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | <br>**Available values:** "B", "W" | Originating Entity must indicate the payout method i.e. Account or Wallet  Valid values: - "B" Visa Direct Account - "W" Visa Direct Wallet <br>*Enum:* `"B"`, `"W"` | No |
| transactionDetail | { **"status"**: <br>**Available values:** "PAYMENT_RECEIVED", "AWAITING_INFORMATION", "PAYMENT_SENT", "PAYMENT_DELIVERED", "DELIVERED_TO_SCHEME", "DELIVERED_TO_RECIPIENT_BANK", **"payoutId"**: , **"endToEndId"**: , **"fundingStatus"**: <br>**Available values:** "FUNDED", "NOT_FUNDED", "FUNDED_AGING", **"serviceDetail"**: { **"traceable"**: , **"recallable"**: , **"paymentRail"**: <br>**Available values:** "ACH", "RTP", "RTGS", "SWIFT", **"isFinalStatus"**:  }, **"clientReferenceId"**: , **"deliveredDateTime"**: undefined (date-time), **"initiatingPartyId"**: undefined (int64), **"expectedPostingDate"**: undefined (date), **"notificationDateTime"**: undefined (date-time), **"walletAdditionalDetails"**: { **"shareLink"**:  }, **"localSchemeTransactionId"**:  } |  | Yes |

#### AccountVerificationOnlyRequest-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| payoutMethod | string, <br>**Available values:** "B" | Method of payout. For accounts, this should be 'B'.<br>*Enum:* `"B"`<br>*Example:* `"B"` | No |
| recipientDetail | { **"bank"**: { **"BIC"**: string, **"bankCode"**: string, **"bankName"**: string, **"branchCode"**: string, **"accountName"**: string, **"accountType"**: string, <br>**Available values:** "1", "2", "3", "4", "5", "6", **"countryCode"**: string, **"bankCodeType"**: string, <br>**Available values:** "ABA", "SORT_CODE", "DEFAULT", **"currencyCode"**: string, **"accountNumber"**: string, **"accountNumberType"**: string, <br>**Available values:** "IBAN", "ALIAS", "DEFAULT" }, **"name"**: string, **"type"**: string, <br>**Available values:** "I", "C", **"lastName"**: string, **"firstName"**: string, **"identificationList"**: [ { **"idType"**: string, <br>**Available values:** "P", "D", "N", "T", "L", "F", **"idNumber"**: string, **"idIssueCountry"**: string } ] } |  | Yes |
| initiatingPartyId | string | The ID of the initiating party.<br>*Example:* `"123456"` | Yes |
| clientVerificationReference | string |  | Yes |

#### ExposureInfoDetails Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| dueDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | No |
| currencyCode |  | 3-character ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| totalAmountDue | undefined (double) | Total amount due by due date. | No |
| totalAmountOverdue | undefined (double) | Total amount overdue. | No |
| flexibleAmountLimit | undefined (double) | Liquidity limit. | Yes |
| originalDueDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | No |
| flexibleAmountUtilized | undefined (double) | Amount of liquidity that has been utilized. | Yes |
| flexibleAmountRemaining | undefined (double) | Remaining amount of liquidity available. | Yes |

#### DigitalAssetWalletTransactionDetail-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| clientReferenceId | string | Identifier assigned by the Originating Entity to uniquely identify the transaction.  ISO20022 field name: Transaction Identification  Only alphanumeric and '-' characters are allowed.  | Yes |
| initiatingPartyId | long |  | Yes |
| transactionAmount | double | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| senderSourceOfFunds | string | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.  ISO20022 field name: Debtor Account Type  | No |
| businessApplicationId | string | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode | string | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode | string | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |

#### DigitalAssetWalletTransactionDetail-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| clientReferenceId |  | Identifier assigned by the Originating Entity to uniquely identify the transaction.  ISO20022 field name: Transaction Identification  Only alphanumeric and '-' characters are allowed.  | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| transactionAmount | undefined (double) | The amount to debit from merchant's funding account or credit to recipient's bank account. Note: Transaction amount can have decimal point for currencies that allow it. Refer to the Visa Direct Endpoint Guide for Payout on country-specific currency minor units.  Example: Currency exponent for USD is 2, the amount is $100.99. Currency exponent for JPY is 0. If the amount is JPY 10,000, then this field should populate “10000”. ISO20022 field name: Instructed Amount  | Yes |
| senderSourceOfFunds |  | Sender source of funds indicator i.e. the funding method used by the sender to fund the payout.Valid values are: Conditional - source of funds is required by some endpoints, please check for Visa Payment Guide for details    01 = Visa credit 02 = Visa debit 03 = Visa prepaid 04 = Cash 05 = Deposit accounts other than those linked to a Visa card (includes checking/savings accounts and proprietary debit/ATMcards) 06 = Credit accounts other than those linked to a Visa card (includes credit cards and proprietary credit lines)  Note: For any Company to Company (C2C) or Company to Individual (C2I) use-case, this should be “05”, since the funds come from the sender’s bank account.  ISO20022 field name: Debtor Account Type  | No |
| businessApplicationId |  | Business Application Identifier (BAI) identifies the type of program for which the payment is being sent, i.e. whether it is a funds disbursement, money transfer etc. It should be a valid value allowed by Visa and approved for the program during onboarding.  Valid BAI for Visa Direct Account & Wallet:  - Money transfer: AA, PP, FT, WT;  - Non-money transfer: BB, FD, GD, GP, LO, MD, OG, PD, BP, PS; <br>*Example:* `"PP"` | Yes |
| settlementCurrencyCode |  | The settlement currency code The 3-character ISO-4217 code in this field reflects the currency for the Settlement amount to be debited from Originating Entity/Visa Client's funding account. Format: 3-character ISO-4217 (Alpha-3) currency code  <b>This field is mandatory</b>  Example: GBP  | No |
| transactionCurrencyCode |  | The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount.  Format: 3-character ISO-4217 (Alpha-3) currency code Example: PHP  | Yes |

#### ContactEmail Schema

Contact Email.

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| ContactEmail |  | Contact Email. |  |

#### RecipientDetailMetadata-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| identityGroups | [ { **"groupName"**: string, <br>**Available values:** "bank", "address", "name", "additionalData", "identificationList", "legalEntityIdentity", "contactInfo", "birthInfo", **"mandatory"**: boolean, **"groupLabel"**: string, **"identityFields"**: [ { **"locale"**: string, **"maxSize"**: integer, **"subTitle"**: string, **"tabOrder"**: integer, **"inputType"**: string, <br>**Available values:** "text", "date", "number", "list", **"listItems"**: [ { **"label"**: string, **"value"**: string } ], **"mandatory"**: boolean, **"separator"**: string, **"description"**: string, **"displaySize"**: integer, **"elementName"**: string, **"valueRegexp"**: string } ] } ] |  | Yes |

#### DigitalAssetValidPayoutResponse-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| validationDetails | [ { **"reason"**: string, **"status"**: integer, **"details"**: [ { **"code"**: string, **"message"**: string, **"location"**: string } ], **"message"**: string } ] | comprehensive array of errors | No |
| expectedPostingDate | undefined (date) |  | No |
| validationResultCode | string, <br>**Available values:** "VALID" | - VALID - Visa's validation succeeds. <br>*Enum:* `"VALID"` | Yes |

#### RecipientDetailMetadata-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| identityGroups | [ { **"groupName"**: string, <br>**Available values:** "bank", "address", "name", "additionalData", "identificationList", "legalEntityIdentity", "contactInfo", "birthInfo", **"mandatory"**: boolean, **"groupLabel"**: string, **"identityFields"**: [ { **"locale"**: string, **"maxSize"**: integer, **"subTitle"**: string, **"tabOrder"**: integer, **"inputType"**: string, <br>**Available values:** "text", "date", "number", "list", **"listItems"**: [ { **"label"**: string, **"value"**: string } ], **"mandatory"**: boolean, **"separator"**: string, **"description"**: string, **"displaySize"**: integer, **"elementName"**: string, **"valueRegexp"**: string } ] } ] |  | Yes |

#### RecipientDetailMetadata-3 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| identityGroups | [ { **"groupName"**: string, <br>**Available values:** "bank", "address", "name", "additionalData", "identificationList", "legalEntityIdentity", "contactInfo", "birthInfo", **"mandatory"**: boolean, **"groupLabel"**: string, **"identityFields"**: [ { **"locale"**: string, **"maxSize"**: integer, **"subTitle"**: string, **"tabOrder"**: integer, **"inputType"**: string, <br>**Available values:** "text", "date", "number", "list", **"listItems"**: [ { **"label"**: string, **"value"**: string } ], **"mandatory"**: boolean, **"separator"**: string, **"description"**: string, **"displaySize"**: integer, **"elementName"**: string, **"valueRegexp"**: string } ] } ] |  | Yes |

#### NearLimitReachedFlexibleSettlementNotification Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| accountId |  | The accountId uniquely identifies the account as a virtual account number(i.e. VAN), with a value or number assigned by Visa. | Yes |
| eventType | <br>**Available values:** "NEAR_LIMIT_REACHED" | The type of event that triggered the notification.<br>*Enum:* `"NEAR_LIMIT_REACHED"` | Yes |
| initiatingPartyId | undefined (int64) | Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction  ISO20022 field name: Initiating Party Identification<br> Visa uses integer instead of string(1-35) for uniformed value generation and presentation. <br>*Example:* `100111` | Yes |
| limitReachedDetails |  |  | Yes |
| notificationDateTime | undefined (date-time) | ISO 8601 formatted UTC Timestamp, YYYY-MM-DDThh:mm:ss.sssTZD. TZD is either Z or +/-00:00  example: 2020-05-05T12:12:12.000Z, or 1997-07-16T19:20:30.45+00:00  ISO20022 field name: Transaction Information And Status - Message Creation Date Time  | Yes |

#### SenderAdditionalData-1 Schema

Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value)

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SenderAdditionalData-1 | [ { **"name"**: string, **"value"**: string } ] | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) |  |

#### DigitalAssetSenderIsCompany-2 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name |  | Company name<br>*Example:* `"Visa"` | No |
| type | <br>**Available values:** "I", "C" | Identifies the type of sender - "C" for Company  | Yes |

#### DigitalAssetSenderIsCompany-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| name | string |  | No |
| type | string, <br>**Available values:** "I", "C" | Identifies the type of sender - "C" for Company  | Yes |

#### LimitReachedDetails-1 Schema

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| currencyCode | string | 3-character ISO-4217 (Alpha-3) currency code <br>*Example:* `"USD"` | Yes |
| flexibleAmountLimit | double | Liquidity limit. | Yes |

#### SenderAdditionalData-2 Schema

Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value)

| Name | Type | Description | Required |
| ---- | ---- | ----------- | -------- |
| SenderAdditionalData-2 | [ { **"name"**: string, **"value"**: string } ] | Additional fields that are needed in order to complete the additional screening. The additional fields can be included as name value pairs (Field name, Field value) |  |
