---
title: "Card Payout"
source_url: https://docs.rapyd.net/en/card-payout.html
lang: en
---

# Card Payout

Push funds to a card with Rapyd Disburse. | `Enterprise`

Rapyd makes it easy to make a disbursement to a card. Common use cases include:

- Payout to an employee or worker's card
- Payout to a card for use of credit or benefits

> **Note:**
>
> Only clients with [PCI-DSS](https://docs.rapyd.net/en/glossary.md#UUID-945d98cf-adae-e1cf-2606-c7fae8b4a7e1_dss "Payment Card Industry Data Security Standard") certification can handle personal identifying information for cards. This method is available to merchants who have signed a special agreement with Rapyd.

Your home improvement platform connects customers with home service professionals such as plumbers, electricians, and locksmiths. You collect from the customers and disburse the funds to the professionals, minus your fees.

Your automated accounts system makes the disbursements from a company wallet. A wallet is created as described in [Creating a Rapyd Wallet](https://docs.rapyd.net/en/creating-a-rapyd-wallet.md "Creating a Rapyd Wallet").

One of the locksmiths finishes a job, and your accounts system transfers a 250 USD (U.S. Dollars) payout to his card.

## Card Payout Workflow

Finding the specific card payout methods you'll use and the corresponding required fields that beneficiaries fill out is described under [How it Works](https://docs.rapyd.net/en/card-payout.md#UUID-4f8f00b7-4f99-ffae-8c6b-fc3a1c34e09c_N1692909269093 "How Payout to a Card Works").

![process-payout-to-card.jpg](image/img-fc41a5f6dbbed11ce7cc977b573d0ab4.jpg)

1. Your accounts system asks Rapyd to process the payout.
2. Rapyd processes the payout.
3. The website back end receives confirmation from Rapyd that the payout was completed.

## Card Payout Message Sequences

The message sequence diagrams below describe how information is exchanged between Rapyd, the merchant, and the card network.

Create Card Payout - Saved Beneficiary

![create-payout-to-card-with-saved-beneficiary---success.svg](image/img-5d809b0c4eea4c1ef9b16c0756eb3f3d.svg)

Create Card Payout - New Beneficiary

![create-payout-to-card-with-new-beneficiary---success.svg](image/img-f9408acc36758c54526f5838fe7cb990.svg)

## How Payout to a Card Works

> **Note:**
>
> To run the examples of this use case, you must create the following ID in your own [sandbox](https://docs.rapyd.net/en/glossary.md#UUID-945d98cf-adae-e1cf-2606-c7fae8b4a7e1_sandbox "Sandbox"):
>
> - **ewallet** - Run [Create Wallet](https://docs.rapyd.net/en/create-wallet.md "Create Wallet") for the eWallet of the Home Improvement platform. Use the ID you get in the response.

### Finding Payout Method Types

Find payout method types to use. See [List Payout Method Types](https://docs.rapyd.net/en/list-payout-method-types.md "List Payout Method Types").

### Finding Required Fields for the Payout Method Type

Find the required fields for each payout method type. See [Get Payout Required Fields](https://docs.rapyd.net/en/get-payout-required-fields.md "Get Payout Required Fields").

> **Tip:**
>
> In the [Get Payout Required Fields](https://docs.rapyd.net/en/get-payout-required-fields.md "Get Payout Required Fields") response, `beneficiary_required_fields` defines required fields for a `beneficiary` object. Use [Validate Beneficiary](https://docs.rapyd.net/en/validate-beneficiary.md "Validate Beneficiary") to check the beneficiary fields before you request a payout. See [Validating Beneficiary Details](https://docs.rapyd.net/en/validating-beneficiary-details.md "Validating Beneficiary Details").

### Requesting a Payout

Your home improvement business is the payout sender and the locksmith is the [beneficiary](https://docs.rapyd.net/en/glossary.md#UUID-945d98cf-adae-e1cf-2606-c7fae8b4a7e1_beneficiary "Beneficiary") who receives the funds.

To disburse the funds to the locksmith's card, you ask Rapyd to process the payout.

For that, you'll use [Create Payout](https://docs.rapyd.net/en/create-payout.md "Create Payout") with the following parameters:

Description of Parameters

| Body Parameter | Description |
| --- | --- |
| ewallet | Enter the wallet 'id' that you received when you created the company wallet in your sandbox. For purposes of this use case lesson, we are using **ewallet_e22fe4e337e26734a96d13a241063a75**, which is the wallet ID we created in our sandbox. |
| payout_amount | Enter **250** as the amount received by the beneficiary. |
| payout_method_type | Enter **us_debit_visa_card** as the payout method type. |
| sender_currency | Enter **USD** as the code for US dollars, the sender's currency. |
| sender_country | Enter **US** as the code for the United States, the sender's country. |
| beneficiary_country | Enter **US** as the code for the United States, the beneficiary's country. |
| payout_currency | Enter **USD** as the code for US dollars, the currency received by the beneficiary. |
| sender_entity_type | Enter **company** as the type of entity for the sender. |
| beneficiary_entity_type | Enter **individual** as the type of entity for the beneficiary. |
| beneficiary | Enter a `beneficiary` object that contains the required fields listed in the response to 'Get Payout Required Fields'. For this example, enter:  - `email` - **testemployee@rapyd.net** - `card_number` - **4111111111111111** - `card_expiration_month` - **10** - `card_expiration_year` - **20** - `first_name` - **Test** - `last_name` - **Employee** |
| description | Enter **Payout to card** as the description of the payout transaction. |

### Create Payout Request

You ask Rapyd to process the 250 USD (U.S. Dollars) payout to the locksmith's card.

- - Request

    - ```
      // Request URL: POST https://sandboxapi.rapyd.net/v1/payouts

      // Message body:
      {
          "ewallet": "ewallet_e22fe4e337e26734a96d13a241063a75",
          "payout_amount": 250,
          "payout_method_type": "us_debit_visa_card",
          "sender_currency": "USD",
          "sender_country": "US",
          "beneficiary_country": "US",
          "payout_currency": "USD",
          "sender_entity_type": "company",
          "beneficiary_entity_type": "individual",
          "beneficiary": {
              "email": "testemployee@rapyd.net",
              "card_number": "4111111111111111",
              "card_expiration_month": "10",
              "card_expiration_year": "20",
              "first_name": "Test",
              "last_name": "Employee"
          },    
          "description": "Payout to card"
      }
      ```
- - .NET Core

    - ```
      using System;
      using System.Text.Json;

      namespace RapydApiRequestSample
      {
          class Program
          {
              static void Main(string[] args)
              {
                  try
                  {

                      var requestObj = new
                      {
                          ewallet = "ewallet_e22fe4e337e26734a96d13a241063a75",
                          payout_amount = 250,
                          payout_method_type = "us_visa_card",
                          sender_currency = "USD",
                          sender_country = "US",
                          beneficiary_country = "US",
                          payout_currency = "USD",
                          sender_entity_type = "company",
                          beneficiary_entity_type = "individual",
                          beneficiary = new
                          {
                              email = "johndoe@rapyd.net",
                              card_number = "4111111111111111",
                              card_expiration_month = "10",
                              card_expiration_year = "20",
                              first_name = "John",
                              last_name = "Doe"
                          },
                          description = "Payout to card"

                      };

                      string request = JsonSerializer.Serialize(requestObj);

                      string result = RapydApiRequestSample.Utilities.MakeRequest("POST", "/v1/payouts", request);

                      Console.WriteLine(result);
                  }
                  catch (Exception e)
                  {
                      Console.WriteLine("Error completing request: " + e.Message);
                  }
              }
          }
      }
      ```
- - JavaScript

    - ```
      const makeRequest = require('../../../../../Utilities/JS/utilities').makeRequest;
      async function main() {
        try {
          const body = {
            ewallet: 'ewallet_e22fe4e337e26734a96d13a241063a75',
            payout_amount: 250,
            payout_method_type: 'us_visa_card',
            sender_currency: 'USD',
            sender_country: 'US',
            beneficiary_country: 'US',
            payout_currency: 'USD',
            sender_entity_type: 'company',
            beneficiary_entity_type: 'individual',
            beneficiary: {
              email: 'johndoe@rapyd.net',
              card_number: '4111111111111111',
              card_expiration_month: '10',
              card_expiration_year: '20',
              first_name: 'John',
              last_name: 'Doe'
            },
            description: 'Payout to card'
          };
          const result = await makeRequest('POST', '/v1/payouts', body);
          console.log(result);
        } catch (error) {
          console.error('Error completing request', error);
        }
      }
      ```
- - PHP

    - ```
      <?php

      $path = $_SERVER['DOCUMENT_ROOT'];
      $path .= "/code_race_2020/Utilities/PHP/utilities.php";
      include($path);

      $body = [
          'ewallet' => "ewallet_e22fe4e337e26734a96d13a241063a75",
          "payout_amount" => 250,
          "payout_method_type" => "us_visa_card",
          "sender_currency" => "USD",
          "sender_country" => "US",
          "beneficiary_country" => "US",
          "payout_currency" => "USD",
          "sender_entity_type" => "company",
          "beneficiary_entity_type" => "individual",
          "beneficiary" => array(
              "email" => "johndoe@rapyd.net",
              "card_number" => "4111111111111111",
              "card_expiration_month" => "10",
              "card_expiration_year" => "20",
              "first_name" => "John",
              "last_name" => "Doe"
          ),
          "description" => "Payout to card"
      ];

      try {
          $object = make_request('post', '/v1/payouts', $body);
          var_dump($object);
      } catch (Exception $e) {
          echo "Error: $e";
      }
      ?>
      ```
- - Python

    - ```
      from pprint import pprint

      from utilities import make_request

      payout_body = {
          "ewallet": "ewallet_e22fe4e337e26734a96d13a241063a75",
          "payout_amount": 250,
          "payout_method_type": "us_visa_card",
          "sender_currency": "USD",
          "sender_country": "US",
          "beneficiary_country": "US",
          "payout_currency": "USD",
          "sender_entity_type": "company",
          "beneficiary_entity_type": "individual",
          "beneficiary": {
              "email": "johndoe@rapyd.net",
              "card_number": "4111111111111111",
              "card_expiration_month": "10",
              "card_expiration_year": "20",
              "first_name": "John",
              "last_name": "Doe"
          },
          "description": "Payout to card"
      }
      result = make_request(method='post', path='/v1/payouts', body=payout_body)
      pprint(result)
      ```

### Create Payout Response

Let's take a look at the response.

- - Response

    - ```
      {
          "status": {
              "error_code": "",
              "status": "SUCCESS",
              "message": "",
              "response_code": "",
              "operation_id": "abccbd6f-ddc2-4884-887c-aefa94526a7c"
          },
          "data": {
              "id": "payout_9600f264f394314fd178ba9eae689005",
              "payout_type": "card",
              "payout_method_type": "us_debit_visa_card",
              "amount": 250,
              "payout_currency": "USD",
              "sender_amount": 250,
              "sender_currency": "USD",
              "status": "Completed",
              "sender_country": "US",
              "sender": {
                  "id": "sender_afb24391ce4649619c4e9830abfa2f11",
                  "country": "US",
                  "entity_type": "company",
                  "currency": "USD"
              },
              "beneficiary_country": "US",
              "beneficiary": {
                  "id": "beneficiary_022ce7183dcc8eb93ffa80933a50ecd3",
                  "last_name": "Employee",
                  "first_name": "Test",
                  "country": "US",
                  "entity_type": "individual",
                  "name": "Test Employee",
                  "currency": "USD",
                  "email": "testemployee@rapyd.net",
                  "card_expiration_year": "20",
                  "card_expiration_month": "10",
                  "card_number": "1111"
              },
            
      //      ...      
            
              "ewallets": [
                  {
                      "ewallet_id": "ewallet_e22fe4e337e26734a96d13a241063a75",
                      "amount": 250,
                      "percent": 100 
                  }
              ],
            
      //      ...      
            
              "description": "Payout to card",
              "created_at": 1580029824,
            
      //      ...      
            
          }
      }
      ```

Besides parameter values that you entered in the request, the `data` section of this response shows:

- The `payout_type` is **card**.
- The payout `amount` is **250**.
- The `payout_currency` is **USD**.
- The `status` is **Completed**. This means that the locksmith received the payout funds.
