LogoLogo
Document ValidationsPayment Methods
Latest
Latest
  • D24 APIs
  • Getting Started with D24
  • API Documentation
    • Deposits API
      • Technical and Security Aspects
        • Calculating the Signature
      • Endpoints
        • Deposit Creation Endpoint
          • Notifications
        • PCI Deposit Creation Endpoint
        • Deposit Status Endpoint
        • Payment Methods Endpoint
        • Currency Exchange Endpoint
        • Crypto Exchange Endpoint
        • Country States Codes Endpoint
        • Refund Creation Endpoint
          • Notifications
        • Refund Status Endpoint
      • Payment Methods
        • 🌎America
          • 🇦🇷Argentina
          • 🇧🇴Bolivia
          • 🇧🇷Brazil
          • 🇨🇱Chile
          • 🇨🇦Canada
          • 🇨🇴Colombia
          • 🇪🇨Ecuador
          • 🇬🇹Guatemala
          • 🇲🇽Mexico
          • 🇵🇾Paraguay
          • 🇵🇪Peru
        • 🌍Africa
          • 🇧🇼Botswana
          • 🇨🇲Cameroon
          • 🇨🇬Congo Brazzaville
          • 🇨🇩Congo DRC
          • 🇪🇬Egypt
          • 🇬🇦Gabon
          • 🇬🇭Ghana
          • 🇨🇮Ivory Coast
          • 🇰🇪Kenya
          • 🇳🇬Nigeria
          • 🇲🇼Malawi
          • 🇷🇼Rwanda
          • 🇿🇦South Africa
          • 🇺🇬Uganda
          • 🇿🇲Zambia
          • 🇹🇿Tanzania
        • 🌏Asia
          • 🇧🇩Bangladesh
          • 🇨🇳China
          • 🇭🇰Hong Kong
          • 🇮🇳India
          • 🇮🇩Indonesia
          • 🇯🇵Japan
          • 🇲🇾Malaysia
          • 🇵🇰Pakistan
          • 🇹🇭Thailand
          • 🇹🇷Turkey
          • 🇻🇳Vietnam
      • API Codes
    • Cashouts API
      • Technical and Security Aspects
        • Calculating the Payload-Signature
      • Endpoints
        • Cashout Creation Endpoint
          • Notifications
        • Cashout Status Endpoint
        • Cashout Update Status Endpoint
        • Cashout Cancellation Endpoint
        • Cashout Bank Codes
      • Countries Validations
        • American Countries
          • 🇧🇴Bolivia
          • 🇧🇷Brazil
          • 🇨🇦Canada
          • 🇨🇱Chile
          • 🇨🇴Colombia
          • 🇪🇨Ecuador
          • 🇲🇽Mexico
          • 🇵🇪Peru
          • 🇦🇷Argentina
          • 🇵🇾Paraguay
        • African Countries
          • 🇧🇼Botwsana
          • 🇨🇲Cameroon
          • 🇨🇬Congo Brazzaville
          • 🇨🇩Congo DRC
          • 🇪🇬Egypt
          • 🇬🇦Gabon
          • 🇬🇭Ghana
          • 🇰🇪Kenya
          • 🇲🇼Malawi
          • 🇳🇬Nigeria
          • 🇷🇼Rwanda
          • 🇿🇦SOUTH AFRICA
          • 🇿🇲Zambia
        • Asian Countries
          • 🇧🇩Bangladesh
          • 🇨🇳China
          • 🇮🇳India
          • 🇮🇩Indonesia
          • 🇯🇵Japan
          • 🇲🇾Malaysia
          • 🇹🇭Thailand
          • 🇹🇷Turkey
          • 🇵🇰Pakistan
          • 🇻🇳Vietnam
        • Oceania Countries
          • 🇦🇺Australia
      • API Codes
    • Subscriptions API
      • Technical and Security Aspects
        • Calculating the Signature
      • Subscription Creation Endpoints
        • OneShot Subscription Creation
        • PCI Subscription Creation Endpoint
        • Notifications
      • Subscription Cancellation Endpoint
      • Subscription Status Endpoint
    • Bank Accounts Validation API
      • Technical and Security Aspects
        • Calculating the Signature
      • Endpoints
        • Bank Account Validation Endpoint
        • Pix Key Validation Endpoint
      • API Codes
    • KYC API
      • Technical and Security Aspects
        • Calculating the Signature
      • KYC Endpoint
      • API Codes
    • Reconciliation API
      • Technical and Security Aspects
      • Endpoints
      • API Codes
    • Quickpay
      • Endpoints
        • Deposit creation endpoint
          • Notifications
        • Deposit Status Endpoint
    • Tools for Platforms
      • Technical and Security Aspects
        • Calculating the Signature
      • SubMerchant Creation
        • Notifications
      • SubMerchant Status Endpoint
      • Commission Update Endpoint
  • PLUGINS
    • Shopify
      • Installation
      • Onboarding
      • Customer flow
      • Admin Flow
      • Tutorials
      • FAQ
    • WooCommerce
      • Installation
      • Configuration
  • Deposits Tools
    • Cards SDK
      • With User Interface
        • 🚀Color Customization
      • Without User Interface
    • Java SDK
    • PHP SDK
  • Knowledge Base
    • Countries Specifications
    • Deposits with Cards SDK
      • With User Interface
      • Without User Interface
    • Deposits with 3DS Authentication
    • Deposits with Installments
  • v1 Developers Guide
  • Status Page
Powered by GitBook
On this page
  • Deposit Status
  • Request
  • Example request
  • Example response
  • Response fields
  • Parameter current_payer_verification
  • financial_institution Object
  • Example response with financial_institution object
  • bank_account Object
  • Pix example response with bank_account object
  • SPEI example response with bank_account object
  • Status Flow
  • Hosted Checkout Status Flow
  • OneShot Checkout Status Flow
  • Status codes

Was this helpful?

  1. API Documentation
  2. Deposits API
  3. Endpoints

Deposit Status Endpoint

Retrieve the status of a previously created deposit

Deposit Status

GET https://api-stg.directa24.com/v3/deposits/{deposit_id}

This endpoint allows you to retrieve the status of a deposit request.

Path Parameters

Name
Type
Description

deposit_id*

integer

Directa24 deposit_id. It is obtained when creating the deposit

Headers

Name
Type
Description

X-Date*

string

ISO8601 Datetime with Timezone: yyyy-MM-dd'T'HH:mm:ssZ

X-Login*

string

Merchant X-Login API Key

Authorization*

string

Authentication signature hash

{
    "user_id": "11",
    "deposit_id": 300004285,
    "invoice_id": "989409592",
    "country": "BR",
    "currency": "BRL",
    "local_amount": 53162.00,
    "usd_amount": 1000.00,
    "bonus_amount": 1.50,
    "bonus_relative": "false",
    "payment_method": "VI",
    "payment_type": "CREDIT_CARD",
    "status": "COMPLETED",
    "payer": {
        "document": "17532655253",
        "document_type": "CPF",
        "email": "[email protected]",
        "first_name": "John",
        "last_name": "Smith",
        "address": {
            "city": "Sao Paulo",
            "state": "SP",
            "street": "John Street 2453",
            "zip_code": "938475-234"
        }
    },
    "fee_amount": 2.50,
    "fee_currency": "USD",
    "card_detail": {
        "card_holder": "John Smith",
        "brand": "Visa",
        "masked_card": "1234 56** **** 6789",
        "expiration": "2023-12",
        "card_type": "DEBIT",
        "transaction_result": "Transaction Approved"
    }
}

Request

Example request

Regarding the Authorization value, since the body of the requests will be empty, you should use an empty ("") string or nothing as the jsonPayload field.

curl --location --request GET 'https://api-stg.directa24.com/v3/deposits/300004285' \
--header 'X-Login: xxxxxxx' \
--header 'X-Date: 2020-06-24T17:13:21Z' \
--header 'Authorization: D24 e339247fb57b10c053159cf87d3a88415f9be567beb46a93f6839d9fc45d2c8a' \
--data-raw ''

import java.io.*;
import okhttp3.*;

public class main {
  public static void main(String []args) throws IOException{
    OkHttpClient client = new OkHttpClient().newBuilder()
      .build();
    Request request = new Request.Builder()
      .url("https://api-stg.directa24.com/v3/deposits/300004285")
      .method("GET", null)
      .addHeader("X-Login", "xxxxxxx")
      .addHeader("X-Date", "2020-06-24T17:13:21Z")
      .addHeader("Authorization", "D24 e339247fb57b10c053159cf87d3a88415f9be567beb46a93f6839d9fc45d2c8a")
      .build();
    Response response = client.newCall(request).execute();
    System.out.println(response.body().string());
  }
}

using System;
using RestSharp;

namespace HelloWorldApplication {
    class HelloWorld {
        static void Main(string[] args) {
            var client = new RestClient("https://api-stg.directa24.com/v3/deposits/300004285");
            client.Timeout = -1;
            var request = new RestRequest(Method.GET);
            request.AddHeader("X-Login", "xxxxxxx");
            request.AddHeader("X-Date", "2020-06-24T17:13:21Z");
            request.AddHeader("Authorization", "D24 e339247fb57b10c053159cf87d3a88415f9be567beb46a93f6839d9fc45d2c8a");
            request.AddParameter("application/json", "",  ParameterType.RequestBody);
            IRestResponse response = client.Execute(request);
            Console.WriteLine(response.Content);
        }
    }
}

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://api-stg.directa24.com/v3/deposits/300004285",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
  CURLOPT_HTTPHEADER => array(
    "X-Login: xxxxxxxx",
    "X-Date: 2020-06-24T17:13:21Z",
    "Authorization: D24 e339247fb57b10c053159cf87d3a88415f9be567beb46a93f6839d9fc45d2c8a"
  ),
));

$response = curl_exec($curl);

curl_close($curl);
echo $response;

Example response

{
    "user_id": "11",
    "deposit_id": 300004285,
    "invoice_id": "989409592",
    "country": "BR",
    "currency": "BRL",
    "local_amount": 53162.00,
    "usd_amount": 1000.00,
    "bonus_amount": 100.00,
    "bonus_relative": "false",
    "payment_method": "VI",
    "payment_type": "CREDIT_CARD",
    "status": "COMPLETED",
    "payer": {
        "document": "17532655253",
        "document_type": "CPF",
        "email": "[email protected]",
        "first_name": "John",
        "last_name": "Smith",
        "address": {
            "city": "Sao Paulo",
            "state": "SP",
            "street": "John Street 2453",
            "zip_code": "938475-234"
        }
    },
    "fee_amount": 2.50,
    "fee_currency": "USD",
    "refunded": False,
    "current_payer_verification": "UNMATCHED",
    "card_detail": {
        "card_holder": "John Smith",
        "brand": "Visa",
        "masked_card": "1234 56** **** 6789",
        "expiration": "2023-12",
        "card_type": "DEBIT",
        "transaction_result": "Transaction Approved"
    }
}
{
    "user_id": "11",
    "deposit_id": 300004284,
    "invoice_id": "1000000001",
    "currency": "BRL",
    "amount": 1000.00,
    "bonus_amount": 1.50,
    "payment_method": "VI",
    "payment_type": "CREDIT_CARD",
    "status": "PENDING",
    "fee_amount": 2.50,
    "fee_currency": "USD",
}
{
    "user_id": "11",
    "deposit_id": 300004284,
    "invoice_id": "1000000001",
    "currency": "BRL",
    "amount": 1000.00,
    "bonus_amount": 1.50,
    "status": "CREATED"
}

Response fields

Field name

Format

Description

user_id

String

ID generated for the user on D24 end

deposit_id

Number

ID of the deposit on D24 end

subscription_id

Number

invoice_id

String

ID of the deposit on the merchant end

country

String

currency

String

local_amount

Number

Amount in local currency

usd_amount

Number

Amount in USD

bonus_amount

Number

The amount specified as bonus in the request

bonus_relative

Boolean

Specifies if the bonus_amount is absolute or relative. It will be shown only if the bonus_amount is not null

payment_method

String

payment_type

String

status

String

payer[]

Object

Object containing information about the payer. Only the values you've sent or we've collected will be shown.

payer.document

String

Payer's document of identity

payer.document_type

String

Payer's type of their document of identity

payer.email

String

Payer's email

payer.first_name

String

Payer's first name

payer.last_name

String

Payer's last name

payer.address[]

Object

Object containing the address details about the payer. Only the values you've sent or we've collected will be shown.

payer.address.city

String

Payer's city

payer.address.state

String

Payer's state ISO code

payer.address.street

String

Payer's street

payer.address.zip_code

String

Payer's zip code

fee_amount

Number

Fee of the deposit in the currency of your balance. It will be shown only if the payment_method was sent by you or selected by the customer

fee_currency

String

Currency of your balance. It will be shown only if the payment_method was sent by you or selected by the customer

card_detail[]

Object

Details about the credit card of the payer. This object will be shown only in case of credit card deposits and if we have the information.

card_detail.card_holder

String

Name of the card holder used to pay

card_detail.brand

String

Brand of the card used to pay

card_detail.masked_card

String

Masked card number used to pay

card_detail.expiration

String

Expiration of the card used to pay in format YYYY-MM (2023-12)

card_detail.card_type

String

Type of card used: CREDIT/DEBIT

card_detail.transaction_result

String

The result message of the credit card transaction

refunded

Boolean

It shows if the deposit it was refunded or not.

current_payer_verification

String

financial_institution[]

Object

financial_institution.name

String

Name of the bank from which the deposit was completed.

financial_institution.bank_code

String

financial_institution.tax_identifier

String

The Tax ID of the bank from which the deposit was completed. (e.g.: in Brazil is the bank's CNPJ).

bank_account[]

Object

bank_account.bank_code

String

bank_account.account_number

String

The account number from which the deposit was completed.

completed_payment_method_code

String

payment_provider_reference

String

Parameter current_payer_verification

Through the parameter current_payer_verification you can check if the current payer is the same person who created the deposit. Below you can see the possible results for this parameter: Match --> The document of the person who paid is the same as the one of the person who created the payment. Unmatch --> The documents are different. No client document -> It is when there is no document of the person who proceed with the payment (Current payer). No current payer data -> It is when there is no document of the person who proceed with the payment (Current payer)

In order to make the experience more personalized, we may add more fields to this response's object in the future. Please develop your integration to be able to ignore new fields to avoid any issues.

If you are not sending all the payer details in the deposit request, make sure you store the details we collect and share with this endpoint so that in future attempts you can re-use them instead of having the payers to fill in the same details every time they deposit.

financial_institution Object

Example response with financial_institution object

{
    "deposit_id": 300852722,
    "invoice_id": "postmanTest295582678",
    "country": "BR",
    "currency": "BRL",
    "usd_amount": 188.33,
    "local_amount": 1000.00,
    "payment_method": "IX",
    "payment_type": "BANK_TRANSFER",
    "status": "COMPLETED",
    "payer": {
       "document": "17532655253",
       "document_type": "CPF",
       "email": "[email protected]",
       "first_name": "John",
       "last_name": "Smith",
       "address": {
           "city": "Sao Paulo",
           "state": "SP",
           "street": "John Street 2453",
           "zip_code": "938475-234"
        }
    },
    "fee_amount": 3.95,
    "fee_currency": "USD",
    "refunded": false,
    "current_payer_verification": "NO_CURRENT_PAYER_DATA",
    "completed_payment_method_code": "IX",
    "financial_institution": {
        "code": "33",
        "name": "BANCO SANTANDER (BRASIL) S.A.",
        "tax_identifier": "90.400.888/0001-42"
    }
}

bank_account Object

Pix example response with bank_account object

{
    "user_id": "11",
    "deposit_id": 300004285,
    "invoice_id": "989409592",
    "country": "BR",
    "currency": "BRL",
    "local_amount": 53162.00,
    "usd_amount": 1000.00,
    "bonus_amount": 1.50,
    "bonus_relative": "false",
    "payment_method": "IX",
    "status": "COMPLETED",
    "payer": {
        "document": "17532655253",
        "document_type": "CPF",
        "email": "[email protected]",
        "first_name": "John",
        "last_name": "Smith",
        "address": {
            "city": "Sao Paulo",
            "state": "SP",
            "street": "John Street 2453",
            "zip_code": "938475-234"
        }
    },
    "fee_amount": 2.50,
    "fee_currency": "USD",
    "bank_account": { 
        "account_number": "10122538", 
        "bank_branch": "90", 
        "ispb_code": 60746948,
        "bank_name": "Caixa",
        "account_type": "SAVING"
},
    }

SPEI example response with bank_account object

{
    "deposit_id": 704064213,
    "invoice_id": "MP_8112092e53f74ccaba16a8a1df37f7a7",
    "country": "MX",
    "currency": "MXN",
    "usd_amount": 2.18,
    "local_amount": 40.00,
    "payment_method": "SE",
    "payment_type": "VOUCHER",
    "status": "COMPLETED",
    "payer": {
        "document": "SSB190711FW6",
        "first_name": "JOHN SMITH"
    },
    "fee_amount": 2.18,
    "fee_currency": "USD",
    "refunded": false,
    "current_payer_verification": "UNMATCHED",
    "bank_account": {
        "bank_code": 12,
        "account_number": "012180001136299999"
    }
}

Status Flow

Hosted Checkout Status Flow

OneShot Checkout Status Flow

  1. 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. COMPLETED and CANCELLED* are final status.

  3. *There are cases in which the users pays after the deposit expired, or paid an incorrect amount and the deposit gets expired. When that happens manual intervention is required to approve the deposit hence a deposit could change its status from EXPIRED or CANCELLED to COMPLETED.

  4. EARLY RELEASED will only be used if you specified it in the deposit request.

  5. FOR REVIEW is a transient status we use to specify that the deposit is under revision.

  6. If the user doesn't pays, the transaction will be marked as EXPIRED. After 7 days it will change to CANCELLED.

Status codes

Check all the possible status in the following page:

PreviousPCI Deposit Creation EndpointNextPayment Methods Endpoint

Last updated 2 months ago

Was this helpful?

You can trigger the check of the status of a deposit at any moment you consider pertinent. However, every time a deposit changes its status, we will send you a containing the ID of the deposit so that you can check its status back to retrieve the new deposit's status.

In the status endpoint, all the request have to be sent as GET, containing the.

ID of the Subscription that triggered the deposit. For more information .

specified on the deposit request or selected by the user on our checkout. It will be shown only if the user has selected a payment method

. It will be shown only if the user has selected a payment method

. It will be shown only if it is not null.

(Only for deposits) Object containing additional information about the financial institution from which the Deposit was completed.

The of the bank from which the deposit was completed.

(Only for PIX and Spei deposits) Object containing additional information about the bank account from which the deposit was completed.

The of the bank from which the deposit was completed.

Payment method used by the client to complete the transaction. Codes can be found

(Only for deposits) Payment provider reference

The financial_institution Object aims to provide insights and additional information about from which banks the deposits are being completed (nowadays only available for Pix deposits).

The bank_account Object aims to provide information about the bank account from which the deposit was paid. Currently, this only applies to PIX deposits and Spei deposits.

to see each Deposit Status meaning.

notification
API Codes
here
Payment method code
Cashout Bank Code
Cashout Bank Code
here
PSE
It shows if the current payer is the same person who creates the deposit
Pix
usual headers
Type of the payment method
Country ISO code
Local currency code
Hosted Checkout Status Flow Diagram
OneShot Status Flow Diagram
Click here
Status of the deposit