Cashout Status Endpoint

Learn how to use the Endpoint to retrieve the status of a cashout

Cashout Status Endpoint

POST https://api-stg.directa24.com/v3/cashout/status

This API allows you to retrieve the status of a cashout

Headers

NameTypeDescription

Content-Type*

string

application/json

Payload-Signature*

string

Control Signature

Request Body

NameTypeDescription

login*

String

Your D24 CASHOUTS API login key

pass*

string

Your D24 CASHOUTS API pass key

cashout_id*

number

The ID of the cashout to check status of. It is the one generated by D24 when the cashout was created

external_id*

string

The ID of the cashout to check status of. It is the one you sent when the cashout was created

{
    "cashout_status": 1,
    "cashout_status_description": "Completed"
}

{
    "cashout_status": 3,
    "cashout_status_description": "Rejected",
    "rejection_code": 0,
    "rejection_reason": "Test"
}

Cashout Status Request

Request Example

// HEADERS
Content-Type: application/json 
Payload-Signature: 2e5023770760ea0a02230bff1a6dab934fe3b47a5e3d43854b58676600ee3868 

// BODY
{ 
    "login": "cashout_login", 
    "pass": "cashout_pass", 
    "cashout_id": 11954 
}

Request Fields Description

FieldFormatDescription

login

String. Length 32 max

Your D24 CASHOUTS API Key, it can be found on the Merchant Panel: Settings -> API Access. Notice there are specific Cashout credentials

pass

String. Length 32 max

Your D24 CASHOUTS API Passphrase, it can be found on the Merchant Panel: Settings -> API Access. Notice there are specific Cashout credentials

cashout_id

Number

Identifier of the cashout on D24 end. It is the one returned by the Create Cashout Endpoint

external_id

String

Identifier of the cashout on the Merchant end. It is the one you sent while Creating the Cashout request. You can opt to send this field or cashout_id

You can choose to send the external_id or the cashout_id

Request Payload Signature

The Payload-Signature of the Cashout Status Endpoint is calculated by hashing the whole JSON payload of the request using HMAC256 and your secret key (API Signature) to encrypt it.

Click here for further instructions.

Cashout Status Response

Response Example

// Cashout successfully processed
{
    "cashout_status": 1,
    "cashout_status_description": "Completed"
}

// Cashout successfully processed through Pix including the E2E ID (Brazil)
{
    "cashout_status": 1,
    "cashout_status_description": "Completed",
    "provider_external_reference": "E352104102024022919987ScFRY3aab3",
    "bank": {
        "code": "260",
        "name": "Nubank",
        "branch": "2003",
        "account": "1892873892",
        "beneficiary_name": "John Smith"
    }
}

// Cashout Rejected by the bank
{
    "cashout_status": 3,
    "cashout_status_description": "Rejected",
    "rejection_code": 808,
    "rejection_reason": "ERROR_OTHER"
}

Response Fields Description

FieldFormatDescription

cashout_status

Number

Status code of the cashout. See list of status

cashout_status_description

String

Description of the status

provider_external_reference

String

ID of the transaction on the bank side. For Pix, it's the E2E ID (End-to-end)

bank[]

object

Object containing information about the bank of the beneficiary

bank[].code

String

Code of the bank of the beneficiary

bank[].name

String

Name of the bank of the beneficiary

bank[].branch

String

Branch of the beneficiary's bank account

bank[].account

String

Account number of the beneficiary's bank account

bank[].beneficiary_name

String

Name of the owner of the account

rejection_code

Number

Rejection code if sent by the bank. See list of rejection codes

rejection_reason

String

Reason of the rejection if sent by the bank

E2E for Pix Withdrawals

When processing Pix Withdrawals, we return as part of the Status endpoint further information about the bank account of the beneficiary.

This includes the provider_external_reference, also known as the E2E ID. It is a unique ID assigned to the transactions that can be used to track the transfer across the Brazilian banking system, useful to optimize the support experience as it allows the users to uniquely track their money as it reaches their bank account.

{
    "cashout_status": 1,
    "cashout_status_description": "Completed",
    "provider_external_reference": "E352104102024022919987ScFRY3aab3",
    "bank": {
        "code": "260",
        "name": "Nubank",
        "branch": "2003",
        "account": "1892873892",
        "beneficiary_name": "John Smith"
    }
}

We also include details about the bank account that received the money, useful when using Pix Keys.

Status Flow

Click here to see each Cashout Status meaning.

Cashout Status Flow

  1. DECLINED: The DECLINED status is not a status by itself. It means the transaction couldn't be created because of an error with the data, the customer or the merchant configuration. No transaction will change its status from DECLINED.

  2. PENDING: Once the cashout is in PENDING status, it means it was successfully created and that it will be send for processing soon, changing to DELIVERED. It can also be manually changed to ON_HOLD or CANCELLED.

  3. ON_HOLD: A cashout will be created with ON_HOLD status only if specified while creating the cashout with on_hold: true. Otherwise, it can be manually set to ON_HOLD from the Merchant Panel. If a cashout is ON_HOLD, it won't be send for processing until you manually go and set it to PENDING from the Merchant Panel. It can still be CANCELLED.

  4. CANCELLED: It means you didn't want to proceed with the cashout and it was CANCELLED through the Merchant Panel or through the Cancel Cashout Endpoint. Final status.

  5. DELIVERED: As soon as the cashout is sent to the bank for processing, its status will change to DELIVERED. At which point it can't be cancelled anymore.

  6. COMPLETED: If the cashout was successfully completed, its status will be set to COMPLETED. Final status*.

  7. REJECTED: If the cashout was rejected by the bank, its status will be set to REJECTED. Final status. *There are cases in which the banks confirm that a payout was successfully processed and after a few days, it gets returned by the beneficiary's bank therefore the status on our platform will change to REJECTED as well. Those are corner cases but must be considered.

Status codes

Check all the possible status codes in the following page:

API Codes

Last updated

#864: SDK Without User interface explanation

Change request updated