LogoLogo
Document ValidationsPayment Methods
v1
v1
  • D24 Documentation v1
  • Deposits API
    • Streamline API
      • Deposit Creation Endpoint
        • Notifications
      • Deposit Status Endpoint
      • Payment Methods Endpoint
      • Currency Exchange Endpoint
      • Refund Creation Endpoint
      • Refund Status Endpoint
    • Hybrid API
      • Deposit Creation Endpoint
    • Payment Methods
    • API Codes
  • Cashouts API
    • Easy Cashout API
      • Endpoints
        • Easy Cashout Creation Endpoint
        • Easy Cashout Status Endpoint
        • Easy Cashout V2 Creation Endpoint
      • Notifications
      • Easy Cashout V2 Technical and Security Aspects
        • Calculating the Payload-Signature
Powered by GitBook
On this page
  • Easy Cashout Creation Endpoint
  • Easy Cashout Request
  • Request Example
  • Response: Success
  • Response: Error
  • Request Fields Description
  • Creation HTTP Codes

Was this helpful?

  1. Cashouts API
  2. Easy Cashout API
  3. Endpoints

Easy Cashout V2 Creation Endpoint

Learn how to create cashout requests with our Easy Cashout API

Easy Cashout Creation Endpoint

POST https://payout-api-stg.directa24.com/v2/request

This endpoint is used to create cashout links hosted by Directa24

Request Body

Name
Type
Description

login

string

Your Directa24 Cashout login

password

string

Your Directa24 Cashout Pass

external_id

string

ID on your end used to identify the cashout

country

string

Country of the cashout

currency

string

Currency of the amount

amount

number

Amount of the cashout

document_id

string

Personal document ID of the beneficiary

first_name

string

Beneficiary's first name

last_name

string

Beneficiary's last name

on_hold

boolean

Used to mark the cashout on hold once created

notification_url

string

URL where the notifications will be sent to

{
    "data": {
        "cashout_url": "https://payout.directa24.com/payout/64e5202599a843b0a73bcae43407a88a",
        "external_id": "45343242333",
        "status": "CREATED"
    }
}
{
    "error": "missing_fields",
    "message": "The following fields are missing or invalid: document_id"
}

Easy Cashout Request

Request Example

// URL
POST: https://payout-api-stg.directa24.com/v2/request

// JSON Body
{
	"login": "xxxxxx", 
	"password": "xxxxxxx", 
	"external_id": "45343242", 
	"country": "BR", 
	"currency": "USD", 
	"amount": 250, 
	"document_id": "8854521458", 
	"first_name": "Jonh", 
	"last_name": "Smith",
	"on_hold": false,
	"notification_url": "https://webhook.site/url"
}
curl --location --request POST 'https://payout-api-stg.directa24.com/v2/request' \
--header 'Content-Type: application/json' \
--header 'Cookie: GCLB=CP__tcP1vf2ZKQ' \
--data-raw '{
	"login": "xxxxxxxx", 
	"password": "xxxxxxxxx", 
	"external_id": "45343242", 
	"country": "BR", 
	"currency": "USD", 
	"amount": 250, 
	"document_id": "8854521458", 
	"first_name": "Jonh", 
	"last_name": "Smith",
	"on_hold": false,
	"notification_url": "https://webhook.site/url"
}'
import java.io.*;
import okhttp3.*;
public class main {
  public static void main(String []args) throws IOException{
    OkHttpClient client = new OkHttpClient().newBuilder()
      .build();
    MediaType mediaType = MediaType.parse("application/json");
    RequestBody body = RequestBody.create(mediaType, "{\n\t\"login\": \"xxxxxxxx\", \n\t\"password\": \"xxxxxxxxx\", \n\t\"external_id\": \"45343242\", \n\t\"country\": \"BR\", \n\t\"currency\": \"USD\", \n\t\"amount\": 250, \n\t\"document_id\": \"8854521458\", \n\t\"first_name\": \"Jonh\", \n\t\"last_name\": \"Smith\",\n\t\"on_hold\": false,\n\t\"notification_url\": \"https://webhook.site/url\"\n}");
    Request request = new Request.Builder()
      .url("https://payout-api-stg.directa24.com/v2/request")
      .method("POST", body)
      .addHeader("Content-Type", "application/json")
      .addHeader("Cookie", "GCLB=CP__tcP1vf2ZKQ")
      .build();
    Response response = client.newCall(request).execute();
    System.out.println(response.body().string());
  }
}
<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://payout-api-stg.directa24.com/v2/request",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS =>"{\n\t\"login\": \"xxxxxxxx\", \n\t\"password\": \"xxxxxxxxx\", \n\t\"external_id\": \"45343242\", \n\t\"country\": \"BR\", \n\t\"currency\": \"USD\", \n\t\"amount\": 250, \n\t\"document_id\": \"8854521458\", \n\t\"first_name\": \"Jonh\", \n\t\"last_name\": \"Smith\",\n\t\"on_hold\": false,\n\t\"notification_url\": \"https://webhook.site/url\"\n}",
  CURLOPT_HTTPHEADER => array(
    "Content-Type: application/json"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;
using System;
using RestSharp;
namespace HelloWorldApplication {
    class HelloWorld {
        static void Main(string[] args) {
            var client = new RestClient("https://payout-api-stg.directa24.com/v2/request");
            client.Timeout = -1;
            var request = new RestRequest(Method.POST);
            request.AddHeader("Content-Type", "application/json");
            request.AddParameter("application/json", "{\n\t\"login\": \"xxxxxxxx\", \n\t\"password\": \"xxxxxxxxx\", \n\t\"external_id\": \"45343242\", \n\t\"country\": \"BR\", \n\t\"currency\": \"USD\", \n\t\"amount\": 250, \n\t\"document_id\": \"8854521458\", \n\t\"first_name\": \"Jonh\", \n\t\"last_name\": \"Smith\",\n\t\"on_hold\": false,\n\t\"notification_url\": \"https://webhook.site/url\"\n}",  ParameterType.RequestBody);
            IRestResponse response = client.Execute(request);
            Console.WriteLine(response.Content);
        }
    }
}
import http.client
import mimetypes
conn = http.client.HTTPSConnection("payout-api-stg.directa24.com")
payload = "{\n\t\"login\": \"xxxxxxxx\", \n\t\"password\": \"xxxxxxxxx\", \n\t\"external_id\": \"45343242\", \n\t\"country\": \"BR\", \n\t\"currency\": \"USD\", \n\t\"amount\": 250, \n\t\"document_id\": \"8854521458\", \n\t\"first_name\": \"Jonh\", \n\t\"last_name\": \"Smith\",\n\t\"on_hold\": false,\n\t\"notification_url\": \"https://webhook.site/url\"\n}"
headers = {
  'Content-Type': 'application/json'
}
conn.request("POST", "/v2/request", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))

Response: Success

Response Example

{
    "data": {
        "cashout_url": "https://payout.directa24.com/payout/2bafcb316edf488897f60d59d59c00d0",
        "external_id": "45343242",
        "status": "CREATED"
    }
}

Response Fields

Field name
Format
Description

data

object[]

Object containing the elements of the response

data.cashout_url

String (URL)

Field containing the link of the cashout generated. Store this value to send it to your customer

data.external_id

String

External ID of the transaction. It is the same you sent

data.status

String

Status of the transaction: CREATED

Response: Error

Response Example

// Missing fields
{
    "error": "missing_fields",
    "message": "The following fields are missing or invalid: document_id"
}

// Invalid request
{
    "error": "invalid_request",
    "message": "One or more parameters provided are invalid"
}

// Invalid IP Address
{
    "error": "invalid_ip_address",
    "message": "Invalid IP address"
}

// Invalid credentials
{
    "error": "invalid_credentials",
    "message": "The provided credentials are invalid"
}

Response Fields

Field name
Format
Description

error

String

Field containing the error type

message

String

Field containing the description of the error

Request Fields Description

Field
Format
Mandatory
Description

login

String

Yes

Your Directa24 CASHOUTS API Key, found on the Merchant Panel: Settings -> API Access. Notice there're specific Cashout credentials

password

String

Yes

Your Directa24 CASHOUTS API Passphrase, found on the Merchant Panel: Settings -> API Access. Notice there're specific Cashout credentials

external_id

String

Yes

External ID generated by you used to identify the cashout

country

String

Yes

currency

String (length: 3)

Yes

amount

Number

Yes

Cashout Amount in the currency specified in the currency field. Make sure the amount doesn't have quotes as it is of type number.

document_id

String

Yes

first_name

String

No

Customer's first name, it won't be possible to change it later

last_name

String

No

Users last name, it won't be possible to change it later

on_hold

boolean

No

Indicates if the cashout will be put on old after the creation. Make sure the on_hold value doesn't have quotes as it is of type boolean.

notification_url

String

No

Merchant URL to be notified about status changes

Creation HTTP Codes

Code
Description

200

The external ID was already used, so the data for the previous cashout is returned

201

The cashout was successfully created and the URL is returned

400

Invalid request, usually due to missing parameters

401

Invalid credentials were provided or the source

5XX

Something went wrong on Directa24’s end. Contact [email protected]

PreviousEasy Cashout Status EndpointNextNotifications

Last updated 1 month ago

Was this helpful?

The request has to be made through a POST request to the above URL. The body of the request is sent in . Please remember to whitelist the IP of your servers under the "Cashout credentials" section of our Merchant Panel by going to Settings -> API Access.

Cashout country code in ISO format.

Currency in which the amount was specified.

Customer's document number, it won't be possible to change it later.

JSON Format
Click here to see country codes.
Click here to see the currencies available per country.
Check document validations here.