Visa Direct Connect offers a suite of user-friendly APIs designed to facilitate the transfer of funds using networks supported by Visa Direct. These APIs simplify the process of moving money, facilitating a streamlined integration experience for developers.
This section delves into the specific APIs provided by Visa Direct Connect, detailing their functionalities and how they cater to various use cases. Whether you're looking to enable peer-to-peer transfers, business disbursements, or other forms of payment transactions, Visa Direct Connect APIs offer the tools you need to build efficient and secure payment solutions.
The process to send money includes the following steps:
Pre-Transfer
Transfer
Post-Transfer
Available for: Visa Direct for Account, Visa Direct for Wallet and Visa B2B Connect
The Get Account Balance API is an optional API specifically designed to enable clients and sending participants to check their current balance in an available chosen settlement currency.
The Balance Response provides clients and sending participants with a list of balances for all the currencies they may have or has transacted with:
Available for: Visa Direct for Account, Visa Direct for Card, Visa Direct for Wallet and Visa B2B Connect
Visa provides daily foreign exchange (FX) rates for global currencies to authorize and settle transactions.
The Foreign Exchange Rates API and Get the Effective Conversion Rate API provide easy access to the Visa daily currency exchange rate for a given currency pair. With foreign exchange rates, originators can provide a better user experience for cross-border and/or multicurrency transactions. This API allows originators to provide a source amount with a source and destination currency pair to get back the source amount converted into the destination currency using Visa's daily foreign exchange rates. This API can be used for multi-currency or cross-border payouts, such as cross-border remittances or person-to-person money transfers.
This functionality is designed to facilitate easy and efficient currency conversions, providing essential data for financial transactions.
For more information about Visa Direct foreign exchange rates, see: Foreign Exchange Overview (visa.com) and Get the Effective Conversion Rate.
Flow diagram:
Available for Visa Direct for Account, Visa Direct for Wallet, Visa Direct for Card and Visa B2B Connect
The Validate Payout API is designed to enable an originator to conduct a preliminary verification of the payload prior to submitting the actual payout request for processing.
This step can improve the chances of a successful transaction by identifying and resolving potential issues early in the process. Consequently, this can provide a smooth and efficient transaction flow, benefiting both the originator and the end recipient.
Best Practice: Recommended to minimize potential for negative payment experience
Flow diagram:
The Validation Response indicates if the payout request is valid and can be processed if sent as a payout transaction:
Available for all products
This functionality allows originators to initiate a payout request through Visa, enabling the movement of funds to a variety of payment methods, including cards, bank accounts, or digital wallets.
It also offers the originators the ability to conduct transactions that simultaneously withdraw funds from a sender's payment card and deposit them into a recipient's card. This dual-action capability streamlines the process of transferring funds, making it more efficient for all parties involved.
Routing decision is client driven e.g., the client has the option to choose either Visa Direct for Account, Visa Direct for Wallet, Visa Direct for Card or Visa B2B Connect as the routing method.
Clients/sending participants can assign their own unique identifiers, such as a Client Reference ID and end-to-end IDs, to help streamline the process.
Support for Quote ID generated by Visa for a payout currency pair for Visa Direct for Account, Visa Direct for Wallet and Visa B2B Connect only.
Response data includes:
Available for all products
The Query Payout API is designed to provide originators with comprehensive details regarding transactions. By utilizing a unique identifier, users can efficiently search for specific payments, access payment data, and receive updates on payment status.
This functionality ensures that originators have all the necessary information at their fingertips to manage and track transactions effectively. The Query Payout API is especially beneficial during timeout situations or in instances where transaction notifications fail to come through.
Flow diagram:
Available for Visa Direct for Card and Visa B2B Connect
This functionality enables a client to execute several actions, including the reversal of Account Funding Transaction (AFT), and for Visa B2B Connect, originators can recall payments, and receiving participants can reject payments and provide beneficiary credit confirmations when the payment beneficiary has been credited.
Flow diagram:
Visa Direct for Card:
A client can reverse an AFT by providing payout method and Visa-provided payout ID or client reference ID
Response data includes:
Visa B2B Connect:
After receiving a payout notification, a receiving financial institution/receiving participant may reject the request, and provide an action reason code, for example, if the beneficiary’s account is closed.
A sending participant may initiate a Recall Payment Request in cases where funds were sent to an incorrect beneficiary, the payout amount was incorrect, or a duplicate payout was made. If the transaction is already in the process of settlement or has been completed, a recall notification is sent to the receiving financial institution/receiving participant, who then decides to accept or reject the recall. Additionally, the receiving participant can send confirmation via the API once the funds have been credited to the beneficiary’s account.
Available for: Visa Direct for Account and Visa Direct for Wallet
This functionality enables an originating entity may request to cancel a transaction in scenarios such as the sender requested payment to the wrong recipient, sent an incorrect amount in the payout instructions or sent a duplicate payout in error. The request to cancel a transaction is to stop a payment submitted to Visa for processing. Visa can accept the cancellation request if the payment has not been sent to the network partner or wallet aggregator. If Visa has accepted the cancel request, then it will initiate a Return Notification transaction to the originating entity.
It's important to note that Visa Direct for Account and/or Wallet transactions are eligible for cancellation only when they are in a state that allows for such action. See the Visa Direct Account and Wallet Program Guide for information.
Flow diagram:
Response data includes:
Available for: Visa Direct for Account, Visa Direct for Wallet and Visa B2B Connect
The Payout Status Notification API is designed with the specific purpose of enabling Visa to communicate updates regarding the status of payout transactions to either the sender’s financial institution or the recipient’s/beneficiary’s financial institution.
This means that whenever there is a change in the status of a payout transaction, a notification is sent to keep the relevant parties informed about the current state of the transaction.
The originator will be notified of status changes of a payout transaction along with the updated expected posting date. The originator should implement to accept this call back request when the status is changed.
Flow diagram:
Available for Visa Direct for Account, Visa Direct for Wallet and Visa B2B Connect
The Payout Return Notification feature is designed to empower originators by providing them with the capability to receive timely updates regarding any returns or rejections related to their payout transactions.
This API ensures that an originator stays informed about the status of their payouts, enhancing their ability to manage and reconcile financial transactions efficiently.
For Visa Direct for Account and/or Wallet, payouts sent to a bank account or wallet may get returned for multiple reasons, for example. if the bank account or wallet details provided are not accurate or the account or wallet is not active or the payout was cancelled by the originating entity, etc. The originating entity will receive notifications from Visa with details of such returned payouts.
For Visa B2B Connect, payments may be rejected by the receiving financial institution/receiving participant, or a recall may be accepted by the recipient financial institution.
Flow diagram:
Step Description:
1. When Visa receives a returned payout from its network partner or wallet aggregator/originator, it will initiate a return through an API, with the transaction identifiers of the original payout and the reason for the return.
2. Visa notifies the originating entity/sending particpant through the Return Notification API, providing all the details of the returned payout.
3. The originating entity/sending particpant responds back with a simple response acknowledging that the notification was received.
Below is a listing of fields included in notifications when Visa or a network partner or wallet partner rejects a payment or if the payment is returned by the recipient’s/beneficiary's bank or wallet provider:
Avialible for Visa Direct for Account and Visa Direct for Wallet
The Account Balance Notification API is designed to provide data on the balance of Virtual Accounts (VANs). This data is generated based on the specific configurations and usage patterns set by the client, ensuring that the information is tailored to their unique requirements.
Flow diagram:
Events that trigger the notification are:
List of fields in notification:
Available for Visa Direct for Account, Visa Direct for Wallet and Visa B2B Connect
For Visa Direct for Account and/or Wallet, the Ledger Notification API is designed to provide detailed information regarding various ledger entries. These entries are specifically related to movements of funds in a Virtual Account (VAN) that occur outside of standard transactions. This ensures that users are informed about any financial activity, such as deposits or withdrawals, that affects their Virtual Account, even when these movements are not linked to a direct transaction.
This API provides information on all debits and credits recorded in an originator's settlement account with Visa for a specific processing day. It includes notifications for credit and debit changes related to the following types of transactions:
For Visa B2B Connect, the Ledger Notification API is designed to provide real-time notifications and confirmations related to credits made to a network balance. This API helps participants manage and track the status of participant funding that is posted to a balance. This API integrates seamlessly with the Visa B2B Connect platform, leveraging existing infrastructure and capabilities to ensure secure and efficient transaction processing.
When a credit is initiated, the API sends a notification to the relevant participants, which includes transaction details such as the amount, the involved parties, and the status of the transaction.
Flow diagram:
Available for: Visa B2B Connect
The Receive Payout Notification API enables receiving financial institution/receiving participant to receives a notification indicating that a payment is being routed to them.
The receiving financial institution/receiving participant reviews the payout details. If there are any issues, such as the beneficiary’s account being closed, they can reject the payout request. When rejecting a request, an action reason code and additional details explaining the reason for rejection must be provided.
If the receiving financial institution/receiving participant accepts the payout notification, the transaction proceeds, and the funds are credited to the beneficiary’s account.
The receiving financial institution/receiving participant can send a confirmation via the API to notify that the funds have been successfully credited to the beneficiary’s account.
Flow diagram:
The FX API provides Visa rates for global currencies.
For information about the FX API, see https://developer.visa.com/capabilities/foreign_exchange.
Visa Direct Connect requires the Visa Direct Client’s profile to be setup before accessing the APIs. Clients should provide the information for the profile setup to their implementation manager.
The requirements may vary by origination or recipient markets. Contact your Visa representative to decide on the best Visa Direct Connect profile setup.
Clients who want to review the Visa Direct Connect API specifications to help with solution design can use the Swagger file. Contact your Visa representative for the Swagger file. The spec is Open API 3.0 compliant. It can be opened in any of the widely used Open API editors (for example: https://editor.swagger.io/).
Visa Direct reserves the right not to process a Payout Request or act on any instruction of the client at its discretion for whatever reason, including, without limitation, if the Payout Request does not comply with Visa’s policies or risk appetite, applicable laws, for operational reasons, or where a Downstream Actor will not process it.
Originating Entities must use a Visa-generated identifier (InitiatingPartyID) in the Visa Direct Connect Payout Request. The InitiatingPartyID is used to identify the entity who initially requested to move the funds. The InitiatingPartyID from the original Payout Request message must be included in any subsequent messages, including reversals, exception process requests and responses.
For Visa Direct for Account or Visa Direct for Wallet implementation with Visa Direct Connect, clients will get one Initiating Party ID unique to each program.
Originating Entities, Acquirers, Merchants and Service Providers must collect and send specific information about the Sender and the Recipient in the Payouts Requests. The Visa Direct Connect message requirements for Sender and Recipient data can change depending on:
1. Reach (Domestic or Cross-border)
2. Sender and Recipient market
3. Business Application Identifier
4. Transaction type (Payouts or Funding transactions)
5. Recipient payment instrument (eligible account, wallet or card)
Once the transaction is routed by Visa Direct Connect to the Visa Direct for Account, Visa Direct for Wallet or Visa Direct for Card processing systems, there is no change to how transactions are processed.
Originating Entities, Acquirers, Merchants and Service Providers must comply with the following:
These requirements are periodically reviewed, and Visa reserves the right to make changes to the required data elements to meet local requirements in destination countries.
Currency conversion is required when a client submits a Payout Request in a currency that is different from the Recipient’s currency.
Clients need to use Foreign Exchange Rate API to take advantage of the FX services offered by Visa Direct. To find out more about the API, see the API spec on the Visa Developer Center.
Clients need to know if the Visa card account provided by the cardholder is valid before making services available to that cardholder. Examples include validating a Sender and/or Recipient card credential before initiating a money transfer between them or validating the card credential before using it to top up a digital wallet or saving the card on file.
The ability to validate an account increases the probability of a sucessful, seamless transaction flow. Clients can use the Visa Direct Connect Validate API for Card validation use cases.
Clients can access general and specific attributes of a Visa card account that is required from a payment account, as part of a funds transfer via the Visa Direct Connect Validate Payout API.