Payouts 
========

#### Send funds from your virtual account 

A payout represents the flow of funds from a client's virtual account to an end user. A payout can be for an arbitrary amount if you have sufficient funds stored in your virtual account to cover the payout. Using Payouts requires integrating with virtual account API routes and receiving transaction webhooks.

#### Key Benefits of Payouts 

*   **Instant**: Payouts ensures that funds arrive in your users' accounts almost immediately.
*   **Easy to Integrate**: A single, unified API for both Payment Initiation and Payouts streamlines the development process.
*   **Verified**: In conjunction with Plaid's Auth and Identity products, users' bank details are securely and automatically populated. This pre-verification step ensures you are always sending funds to a valid and correct bank account, minimising payment failures and fraud risk.
*   **Low Cost**: Move away from the expensive and variable fees associated with card payments. Payouts offers a low, fixed-fee structure, allowing you to significantly reduce costs.

#### Execute a Payout 

Make sure your virtual account is set up before following these steps. For more information on setting up an account, see [Managing virtual accounts](https://plaid.com/docs/payment-initiation/virtual-accounts/managing-virtual-accounts/index.html.md) .

1.  Call [/wallet/get](https://plaid.com/docs/api/products/virtual-accounts/index.html.md#walletget) to check your virtual account balance (optional).
    
    *   If you have insufficient funds to make your desired payout, make sure to [fund your virtual account](https://plaid.com/docs/payment-initiation/virtual-accounts/managing-virtual-accounts/index.html.md#fund-your-virtual-account) before proceeding. After funding your virtual account, another request to [/wallet/get](https://plaid.com/docs/api/products/virtual-accounts/index.html.md#walletget) will show the updated balance.
2.  Call [/wallet/transaction/execute](https://plaid.com/docs/api/products/virtual-accounts/index.html.md#wallettransactionexecute) and store the `transaction_id` and status from the response.
    
    *   [Configure transaction webhooks](https://dashboard.plaid.com/developers/webhooks) to receive real-time [status update webhooks](https://plaid.com/docs/api/products/virtual-accounts/index.html.md#wallet_transaction_status_update) for each payout transaction.
        
    *   In addition to using webhooks, you can confirm the transaction has been executed by calling [/wallet/transaction/get](https://plaid.com/docs/api/products/virtual-accounts/index.html.md#wallettransactionget) with the `transaction_id`.
        

#### Verification of Payee 

Verification of Payee is a regulatory requirement under the EU Instant Payments Regulation. It requires that PSPs validate the recipient's name and IBAN against their bank account details before execution, reducing fraud and user error. Plaid automatically performs Verification of Payee checks for all Eurozone payouts.

UK Payouts and Refunds are not typically subject to Verification of Payee.

##### Verification statuses 

The Verification of Payee check returns one of four statuses: Match, Partial Match, No Match, and Match not possible (indicating that the verification system is unavailable). By default, payments proceed for all statuses except No Match. You can also customise the product behaviour for the Partial Match and No Match statuses by contacting your account manager.

If the payment is blocked:

*   The `WALLET_TRANSACTION_STATUS_UPDATE` webhook will indicate a failed payment.
    
*   Calling [/wallet/transaction/get](https://plaid.com/docs/api/products/virtual-accounts/index.html.md#wallettransactionget) with the `transaction_id` will show the `TRANSACTION_PAYEE_VERIFICATION_NO_MATCH` error.
    

#### Testing Payouts 

You can begin testing Payouts in Sandbox by following the steps listed in the [Add Virtual Accounts to your App](https://plaid.com/docs/payment-initiation/virtual-accounts/add-to-app/index.html.md) guide. For Production access you will first need to [submit a product access request support ticket](https://dashboard.plaid.com/support/new/product-and-development/product-troubleshooting/request-product-access) .