# Visa Direct Connect

## Search API Reference

- [Getting Started](https://developer.visa.com/capabilities/visa-direct-connect/docs-getting-started)
- [How to Use Visa Direct Connect](https://developer.visa.com/capabilities/visa-direct-connect/docs-how-to)
- [Authentication and Encryption](https://developer.visa.com/capabilities/visa-direct-connect/docs-authentication)
- [Error Codes](https://developer.visa.com/capabilities/visa-direct-connect/error-codes)
- [Product Terms](https://developer.visa.com/capabilities/visa-direct-connect/product-terms)
- [Request & Response Codes](https://developer.visa.com/request_response_codes)

### API Reference

#### Callback API-Initial Version - Deprecated

- EventPayout Status Notification
- EventPayout Return Notification
- EventLedger Notification
- EventBalance Notification

### Eligibility
- postEligibility check of Card

### Exception Management
- delCancel Account Payout
- postAdjust cards payouts or payin transactions
- postPayin reversal transaction
- delCancel Wallet Payout

### Get Requirements
- getGet Metadata Wallets
- getGet Metadata Accounts

### Notification API
- EventPayout Metadata Change Notification
- EventAccount Balance Notification
- EventPayout Status Notification
- EventFlexible Settlement Notification
- EventPayout Return Notification
- EventLedger Notification

### Payin
- postAccount Funding to Cards

### Payout
- postSend Payout To Account
- postSend Payout To Wallet
- postSend Payout to cards

### Transaction Management
- getQuery Cards transaction
- getQuery Account Payout
- getQuery Wallet Payout

### Transactional API - Initial Version - Deprecated
- postSend Payout
- postRequest Exception
- getQuery Payout
- getGet Account Balance
- delCancelPayout
- postValidate Payout

### Validate
- postValidate Wallet payout
- postValidate Account Payout

### Verify
- postVerify Wallet
- postVerify Cards
- postVerify Account

[Download Visa Direct Connect API Reference](blob:https://developer.visa.com/76e43d85-433a-46bf-aa04-99cc7e18dc3f)

# Callback API-Initial Version - Deprecated

## Payout Status Notification Webhook v1 - Latest

### Request

#### Header Parameters

|     |     |
| --- | --- |
| keyId | string <uuid> <br>VDP Gateway client MLE (Message Level Key) Key-ID used for callback message encryption (if enabled by client)<br>Example: fffe3feb-3c22-488d-9381-23453289773b |

#### Request Body schema: application/json

One of:
- PayoutNotificationReceivedRequest-12
- PayoutNotificationProcessRequest-12
- PayoutNotificationFailedRequest-3

#### Transaction Detail

|     |     |
| --- | --- |
| clientReferenceId<br>required | string [ 1 .. 35 ] characters <br>Identifier assigned by the Originating Entity to uniquely identify the transaction.<br>ISO20022 field name: Transaction Information And Status - Original Transaction Identification<br>Only alphanumeric and '-' characters are allowed. |
| destinationAmount<br>required | number <double>   0 <br>The destination amount that will be deposited to the beneficiary account...<br>Example: 12.34 |
| destinationCurrencyCode<br>required | string 3 characters <br>The 3-character ISO-4217 code in this field reflects the currency associated with the destination amount...<br>Example: "USD" |
| initiatingPartyId<br>required | integer <int64> <br>Identifier assigned by Visa to uniquely identify the Originating Entity who initiates the transaction...<br>Example: 100111 |
| notificationDateTime<br>required | string <date-time> <br>ISO 8601 formatted UTC Timestamp...<br>Example: 2020-05-05T12:12:12.000Z |
| payoutId<br>required | string [ 1 .. 50 ] characters <br>This is a unique identifier generated by Visa for the original payout...<br>Example: "5003f6a0-2c44-11b2-aa57-47378ae53313_1" |
| settlementAmount<br>required | number <double>   0 <br>This is the amount to be debited from Originating Entity/Visa Client's funding account...<br>Example: 12.34 |
| settlementCurrencyCode<br>required | string 3 characters <br>The settlement currency code...<br>Example: "USD" |
| status<br>required | string<br>Status of the transaction...<br>Example: "PAYMENT_RECEIVED" |
| transactionAmount<br>required | number <double>   0 <br>The amount to debit from merchant's funding account or credit to beneficiary's bank account...<br>Example: 12.34 |
| transactionCurrencyCode<br>required | string 3 characters <br>The 3-character ISO-4217 code in this field reflects the currency associated to the transaction amount...<br>Example: "USD" |
| transactionDateTime<br>required | string <date-time> <br>ISO 8601 formatted UTC Timestamp...<br>Example: 2020-05-05T12:12:12.000Z |
| endToEndId | string [ 1 .. 35 ] characters <br>Identifier assigned by the Originating Entity's customer to track the transaction end-to-end...<br>Example: "5003f6a02c4411b2aa5747378ae5331" |
| expectedPostingDate | string <date>  10 characters <br>This is an estimated date by which the payout should be posted... |
| fundsAvailableDateTime | string<br>Funds available Date and Time of the payment |
| fxConversionRate | number <double>   0 <br>This field contains the exchange rate applied to the pair of settlementCurrencyCode and destinationCurrencyCode...<br>Example: 0.07 |
| payoutSpeed | string<br>Originating Entity to indicate the desired payout speed for the payment...<br>Example: "standard" |
| reasonDetails | object |
| |     | 
| --- | --- |
| code<br>required | string 5 characters <br>If the Transaction Status is RETURNED or REJECTED...<br>Example: "RE101" |
| comment | string [ 1 .. 255 ] characters <br>comment for the action |
| description | string [ 1 .. 105 ] characters <br>Indicates the PSP return description when the payout is returned... |

| payoutMethod | string<br>Originating Entity must indicate the payout method i.e. Account, Wallet or Card... Valid values: "B", "W", "C" |

### Responses

- **200**: ok
- **400**: When any field fails schematic validation...
- **404**: Resource not found
- **503**: Service Unavailable
