How to Use Visa Direct Payouts

Payouts Originator Send API

Originating Entities can use the Payouts Originator Send API bundle for processing a Push to Account (P2A) or a Push to Card (P2C) payout. This API bundle supports operations such as ‘Send Payout’, ‘Query’ and ‘Cancel’, please refer below for the end-to-end flow of each operation. Note, in each of these operations the Originating Entity is the initiator of the API request while Visa is the recipient.

Send Payout API

The Send Payout API allows an Originating Entity to send payouts to bank accounts or to Visa card accounts. This is an illustration of the end-to-end payout processing flow for push-to-account and push-to-card payout. Availability of Payouts for Push to Account (P2A) and Push to Card (P2C) varies by region, contact your Visa representative for more information.

Send Payout Flow

Step

Description

1

Originating Entity initiates a payout request, with sender and recipient details, including recipient’s account (card or bank account).

2A & 3A

If the payout is to a card, Visa routes the payout request to the Visa Issuer that has issued the card and receives a real-time response from the Issuer with the final result of the payout.

2 & 3

If the payout is to a bank account, Visa routes the payout request to the appropriate PSP that can support that payout. The PSP performs all data validations to ensure that the payout can be supported by one of its Network Partners and acknowledges the request back to Visa with an estimated posting date (i.e., date when the recipient will receive the deposit in their bank account)

4

Visa responds back to the Originating Entity with the result of the payout, and the estimated posting date (for payouts to bank accounts). In case of payouts to bank accounts, the Originating Entity should assume that the payout will be deposited successfully to the recipient’s account on the estimated date and communicate the status to the relevant end customers.

Note: In case the payout request fails any validation, the Originating Entity will get an error response with detailed error codes identifying the reason for the failure.

Query API

The Originating Entity can request for the latest status of the payout transaction using the Query API. The Originating Entity can send the query request by either including the Payout ID (Query GET) or by including other key parameters (Query with parameters GET).

Query API Flow

Step

Description

1

The Originating Entity can send the Query API request to get the latest status from Visa by including the Payout ID or other key parameters

2

Visa responds back to the Originating Entity with the latest Transaction Status

Status Updates: When the PSP/Issuer has a status update to the transaction it will initiate a status update request through an API. Visa will update the status of the payout transaction in the system. These are asynchronous calls between the PSP and Visa

Note:The above diagram only depicts a P2A payout flow

Cancel API

Originating Entity may request to cancel a transaction in scenarios where the Sender sent to an incorrect recipient or the wrong amount in the payout instructions, or sent a duplicate payout in error to stop a payment submitted to Visa for processing. The PSP can accept the cancellation request if the payment has not been sent to Network Partner. If the PSP has accepted the cancel request, then it will initiate a Return Notification transaction to the Originating Entity.

Note: This API is specific for P2A payouts and does not apply to P2C payouts

Cancel API Flow

Step

Description

1

Originating Entity initiates a cancellation request using the Cancel API, and includes the Payout ID and the reason (optional) for requesting this cancellation (i.e., Void, Incorrect amount, Incorrect recipient, duplicate payout etc.)

2

Visa routes the payout request to the PSP. The PSP accepts the cancellation request if the transaction has not been sent to the Network Partner.

3

The PSP acknowledges the request back to Visa including the status of the cancel request.

4

Visa responds back to the Originating Entity with the status of the cancel request. In case the cancel request fails any validation, or the PSP cannot cancel the transaction, the Originating Entity will receive an error response.

5

If the PSP has accepted the cancel request, then it will initiate a return through the Return Payout API, with the transaction identifiers of the original payout getting returned and the reason for the return.

6

Visa notifies the Originating Entity through the Return Payout API, providing all the details of the returned payout. The Originating Entity responds back with a simple response acknowledging that the notification was received.

Validation API

Designed to reduce payout errors, the Validation API allows Originating Entities to validate push-to-account transactions PRIOR to the payout being sent via the Send Payout API for clearing and settlement.  The Validation API performs schema (format, mandatory fields, etc.) and route specific (based on Network Partner requirements) checks and exposes validation errors identifying where the Originating Entity should make corrections prior to payout.

Note: This API is specific for P2A payouts and does not apply to P2C payouts

STEP

DESCRIPTION

1

Originating Entity initiates a payout validation request, with sender and recipient details, including recipient’s bank account.

2&3

Visa routes the payout request to the appropriate PSP that can support that payout. The PSP performs the following validations and acknowledges the request back to Visa.

·         Schema (format, mandatory fields, etc.)

·         Route Specific Validations (based on Network Partner requirements)

·         Subset of AML Validations (full validations are done at Payout)

4

Visa responds back to the Originating Entity with the result of the validation. In case the payout request fails any validation, the Originating Entity will receive an error response with detailed error codes identifying the reason for the failure.

Payout Originator Receive API

Originating Entities must be able to receive below set of APIs from Visa for processing their P2A or P2C payout. In this case Visa is the initiator of the API request while Originating Entity is the recipient

Return Payout API

The Payouts sent to a bank account through a PSP may get returned back for multiple reasons, for e.g. if the bank account details provided are not accurate or the account 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. This call back API will be sent to Originating Entity only for transactions sent to a bank account.

Note: This API is specific for P2A payouts and does not apply to P2C payouts

Return Payout API Flow

Step

Description

1

When the PSP receives a returned payout from its Network Partner OR the PSP decides to return a payout for other reasons (cancellation request, compliance etc.), the PSP will initiate return through an API, with the transaction identifiers of the original payout getting returned and the reason for the return.

2

Visa notifies the Originating Entity through the return notification API, providing all the details of the returned payout.

3

The Originating Entity responds back with a simple response acknowledging that the notification was received.

4

Visa responds back to the PSP acknowledging that the payout return has been accepted.

Status Notification API

The Originating Entity will be notified of status changes of a payout transaction along with the updated expected posting date. The Originating entity can implement to accept this call back request on frequent basis as and when the status is changed.

Note: This API is specific for P2A payouts and does not apply to P2C payouts

Status Notification API Flow

Step

Description

1

When the PSP has a status update for a transaction, it will send a notification through an API. Visa will update the status of the payout transaction in the system.

2

Visa sends back an acknowledgement to the PSP in the response.

3

Visa will send a Status Notification request to the Originating Entity including the updated transaction status and the updated expected posting date.

4

The Originating Entity responds back via an acknowledgement to Visa.

Debit Credit Notification API

This API will convey details of all debits/credits posted to an Originating Entity’s settlement account with Visa for a given processing day.

Note:  This API is only applicable to Originating Entities availing Visa Direct’s “Accelerated Payment Delivery.” Please contact your Visa representative for more information

Foreign Exchange Rates API

Foreign exchange rates provide easy access to the Visa daily currency exchange rate for a given currency pair. With Foreign Exchange Rates, you can provide a better user experience for cross -border and/or multicurrency transactions. The Foreign Exchange Rates API allows you 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.

For further details on the FX API please refer to Visa Developer Platform

FX Rate Inquiry API Flow

Step

Description

1

The Originating Entity initiates a foreign exchange rate request using the FX API, and includes the Source Currency, Destination Currency and Source Amount.

2

Visa responds back to the Originating Entity with the Destination Amount and the Conversion rate. The Originating Entity can display the destination amount to the sender. This is the amount that will be send to the recipient account.

3

The Originating Entity initiates a payout request, with transaction amount as source amount as submitted in the FX API, so that destination amount as calculated by FX API will be delivered to the recipient account/card.

4 & 5

If the payout is to a bank account, Visa routes the payout request to the appropriate PSP with the same destination amount as was returned by the FX API.

If the payout is to a card, Visa routes the payout request to the Visa Issuer that has issued the card and receives a real-time response from the Issuer with the final result of the payout.

Note: The FX rate is only valid for 24 hour period with a specific daily cut off time

6

Visa responds back to the Originating Entity with the result of the payout, and the estimated posting date (for payouts to bank accounts) with the destination amount.

Using the Related APIs for Funds Transfer

As you build your new money transfer, prepaid load, credit card bill pay, or funds disbursement solutions using the Funds Transfer or Mobile Push Payment APIs, there are three other APIs available from Visa that may be useful in your project.

Payment Account Validation
The Payment Account Validation API provides several means for you to determine if a particular Visa account is valid and in good standing. Visa recommends that you use this API to validate the sender's account information before invoking a PullFunds or MultiPullFunds API call.

Payment Account Attributes Inquiry
The Payment Account Attributes Inquiry service includes two APIs (the General Attributes Inquiry and the Funds Transfer Attributes Inquiry) that enable you to look up important attributes of a Visa account that you may need in order to successfully implement a funds transfer project. In particular, you may need to know the type of account, what the billing currency is, who the issuer is and in what country, whether the recipient issuer is able to receive push payments or participates in Fast Funds, or whether the account is blocked from receiving certain types of push payments.

Foreign Exchange Rates
If your project supports cross-border transfers, you must notify the sender of the amount in the sender’s currency that will be withdrawn from the sender’s account. You may also want to notify the sender, the recipient, or both of the amount in the recipient’s currency of the push payment. The Foreign Exchange Rates API enables you to input a source amount and a source and destination currency pair and receive back the current day Visa exchange rate and the converted amount in the destination currency. For example, if the sender wants to withdraw a specific amount, this API will enable you to determine how much the recipient will then receive in their local currency. Similarly, if the sender wants the recipient to receive a specific amount in their local currency, this API will enable you to determine how much must be from the sender’s account to do so.

Disclaimers

¹Actual fund availability varies by receiving financial institution, receiving account type, region, and whether transaction is domestic or cross-border.

2Availability varies by market. Please refer to your Visa representative for more information on availability.

3Use cases are for illustrative purposes only. Program providers are responsible for their programs and compliance with any applicable laws and regulations.

4Availability for Push to Card Payouts is an upcoming capability, please contact your Visa Representatives for more information on availability