Payout to a Card

Push funds to a card with Rapyd Disburse.

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

🚧

PCI Certification

Only clients with PCIPCI - Payment Card Industry certification can make a payout to a card.

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.

One of the locksmiths finishes a job, and your accounts system transfers a $250 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.

  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.

How It Works

👍

Prerequisites

To run the examples of this use case, you must create the following ID in your own sandbox:

  • ewallet - Run 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.

Finding Required Fields for the Payout Method Type

Find the required fields for each payout method type. See Get Payout Required Fields.

👍

Tip

In the Get Payout Required Fields response, beneficiary_required_fields defines required fields for a beneficiary object.
Use Validate Beneficiary to check the beneficiary fields before you request a payout. See Validating Beneficiary Details.

Requesting a Payout

Your home improvement business is the payout sender and the locksmith is the 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 with the following 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_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 - [email protected]
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 payout to the locksmith's card.

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

// Message 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": "[email protected]",
        "card_number": "4111111111111111",
        "card_expiration_month": "10",
        "card_expiration_year": "20",
        "first_name": "Test",
        "last_name": "Employee"
    },    
    "description": "Payout to card"
}
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 = "[email protected]",
                        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);
            }
        }
    }
}
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: '[email protected]',
        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

$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" => "[email protected]",
        "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";
}
?>
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": "[email protected]",
        "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. Payout Object describes the fields in the 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_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": "[email protected]",
            "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. Payout Object lists possible values for status.

Updated about a month ago


Payout to a Card


Push funds to a card with Rapyd Disburse.

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.