Links

Refund Status Endpoint

Retrieve the status of a previously created refund
get
https://api-stg.directa24.com
/v3/refunds/{refund_id}
Refund Status

Description

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

Refunds Status Request

In order to check the status of the refunds, you need to:
  1. 1.
    Send the request with GET method.
  2. 2.
    Use the headers described here.
  3. 3.
    Specify a valid refund_id in the URL of the request as PATH PARAMETERS.
  4. 4.
    Send the Authorization header, as explained here.
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
JAVA
C#
PHP
curl --location --request GET 'https://api-stg.directa24.com/v3/refunds/1682844' \
--header 'X-Login: {{X-Login}}' \
--header 'X-Date: {{X-Date}}' \
--header 'Authorization: {{Authorization}}' \
--header 'Content-Type: application/json' \
--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/refunds/1682844")
.method("GET", null)
.addHeader("X-Login", "{{X-Login}}")
.addHeader("X-Date", "{{X-Date}}")
.addHeader("Authorization", "{{Authorization}}")
.addHeader("Content-Type", "application/json")
.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/refunds/1682844");
client.Timeout = -1;
var request = new RestRequest(Method.GET);
request.AddHeader("X-Login", "{{X-Login}}");
request.AddHeader("X-Date", "{{X-Date}}");
request.AddHeader("Authorization", "{{Authorization}}");
request.AddHeader("Content-Type", "application/json");
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/refunds/1682844",
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: {{X-Login}}",
"X-Date: {{X-Date}}",
"Authorization: {{Authorization}}",
"Content-Type: application/json"
),
));
$response = curl_exec($curl);
curl_close($curl);
echo $response;

Example response

COMPLETED
PENDING
{
"deposit_id": 300533569,
"merchant_invoice_id": "84044",
"status": "COMPLETED",
"amount": 100.00
}
{
"deposit_id": 300502126,
"merchant_invoice_id": "84121",
"status": "PENDING"
}

Response fields

Field name
Format
Description
deposit_id
Integer
ID of the deposit refunded
merchant_invoice_id
String
Merchant invoice id of the deposit refunded
status
Enum
amount
Number
Amount of the refund
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 considering that it will continue working fine no matter if we add new fields.

Status Flow

Click here to see each Refund Status meaning.

Refund Status Flow

  1. 1.
    DECLINED is not a status by itself. It means the refund failed to be created.
  2. 2.
    As soon as the refund request is created, its status will be PENDING.
  3. 3.
    In case we need more information to complete the request or any of the details were incorrect, we will change the status to INCORRECT_DETAILS and you will need to provide the correct details. Once the details have been provided, its status will be PENDING again.
  4. 4.
    The status CANCELLED means the refund was manually cancelled by you. Only refunds in PENDING or INCORRECT_DETAILS can be cancelled. Final status.
  5. 5.
    If everything is fine we will send the refund for processing and the status will be marked as DELIVERED. It can't be cancelled at this point.
  6. 6.
    As soon as the processor/bank confirms the refund, it will be marked as COMPLETED or REJECTED (by the bank).
  7. 7.
    There are some corner cases in which the receiver's bank tell us that the refund was completed but days after it gets rejected. In those cases the status changes from COMPLETED to REJECTED.

Status codes

Check all the possible status in the following page: