Create Refund
curl --request POST \
--url https://api.example.com/refunds/refund \
--header 'ApiKey: <apikey>' \
--header 'Content-Type: application/json' \
--header 'Environment: <environment>' \
--header 'MerchantId: <merchantid>' \
--data '
{
"id": "tr_R7xkvVd5gRfBCWQCYrWEt"
}
'import requests
url = "https://api.example.com/refunds/refund"
payload = { "id": "tr_R7xkvVd5gRfBCWQCYrWEt" }
headers = {
"MerchantId": "<merchantid>",
"ApiKey": "<apikey>",
"Environment": "<environment>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
MerchantId: '<merchantid>',
ApiKey: '<apikey>',
Environment: '<environment>',
'Content-Type': 'application/json'
},
body: JSON.stringify({id: 'tr_R7xkvVd5gRfBCWQCYrWEt'})
};
fetch('https://api.example.com/refunds/refund', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/refunds/refund",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'id' => 'tr_R7xkvVd5gRfBCWQCYrWEt'
]),
CURLOPT_HTTPHEADER => [
"ApiKey: <apikey>",
"Content-Type: application/json",
"Environment: <environment>",
"MerchantId: <merchantid>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/refunds/refund"
payload := strings.NewReader("{\n \"id\": \"tr_R7xkvVd5gRfBCWQCYrWEt\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("MerchantId", "<merchantid>")
req.Header.Add("ApiKey", "<apikey>")
req.Header.Add("Environment", "<environment>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/refunds/refund")
.header("MerchantId", "<merchantid>")
.header("ApiKey", "<apikey>")
.header("Environment", "<environment>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"tr_R7xkvVd5gRfBCWQCYrWEt\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/refunds/refund")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["MerchantId"] = '<merchantid>'
request["ApiKey"] = '<apikey>'
request["Environment"] = '<environment>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"tr_R7xkvVd5gRfBCWQCYrWEt\"\n}"
response = http.request(request)
puts response.read_body{
"id": 1
}{
"status": 400,
"error": {
"statusCode": 400,
"message": [
"destination.provider must be a string"
],
"error": "Bad Request"
}
}{
"status": 401,
"error": {
"type": "authorization_error",
"code": "wrong_credentials",
"message": "L'ID marchand et/ou la clé d'API sont incorrects."
}
}{
"status": 403,
"error": {
"statusCode": 403,
"message": "Forbidden",
"error": "<string>"
}
}{
"httpStatus": 404,
"message": "X not found",
"error": "Not found"
}{
"httpStatus": 409,
"type": "invalid_request",
"code": "unsupported_action",
"message": "This action is not supported"
}{
"status": 429,
"error": "ThrottlerException: Too Many Requests"
}{
"type": "internal_error",
"code": [
"internal_error",
"wrong_credentials",
"not_granted",
"live_mode_not_granted"
],
"message": "An error occurred on our system. Please try again later."
}Refunds
Create Refund
This endpoint allows you to create a refund
POST
/
refunds
/
refund
Create Refund
curl --request POST \
--url https://api.example.com/refunds/refund \
--header 'ApiKey: <apikey>' \
--header 'Content-Type: application/json' \
--header 'Environment: <environment>' \
--header 'MerchantId: <merchantid>' \
--data '
{
"id": "tr_R7xkvVd5gRfBCWQCYrWEt"
}
'import requests
url = "https://api.example.com/refunds/refund"
payload = { "id": "tr_R7xkvVd5gRfBCWQCYrWEt" }
headers = {
"MerchantId": "<merchantid>",
"ApiKey": "<apikey>",
"Environment": "<environment>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
MerchantId: '<merchantid>',
ApiKey: '<apikey>',
Environment: '<environment>',
'Content-Type': 'application/json'
},
body: JSON.stringify({id: 'tr_R7xkvVd5gRfBCWQCYrWEt'})
};
fetch('https://api.example.com/refunds/refund', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/refunds/refund",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'id' => 'tr_R7xkvVd5gRfBCWQCYrWEt'
]),
CURLOPT_HTTPHEADER => [
"ApiKey: <apikey>",
"Content-Type: application/json",
"Environment: <environment>",
"MerchantId: <merchantid>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/refunds/refund"
payload := strings.NewReader("{\n \"id\": \"tr_R7xkvVd5gRfBCWQCYrWEt\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("MerchantId", "<merchantid>")
req.Header.Add("ApiKey", "<apikey>")
req.Header.Add("Environment", "<environment>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.example.com/refunds/refund")
.header("MerchantId", "<merchantid>")
.header("ApiKey", "<apikey>")
.header("Environment", "<environment>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"tr_R7xkvVd5gRfBCWQCYrWEt\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/refunds/refund")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["MerchantId"] = '<merchantid>'
request["ApiKey"] = '<apikey>'
request["Environment"] = '<environment>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"tr_R7xkvVd5gRfBCWQCYrWEt\"\n}"
response = http.request(request)
puts response.read_body{
"id": 1
}{
"status": 400,
"error": {
"statusCode": 400,
"message": [
"destination.provider must be a string"
],
"error": "Bad Request"
}
}{
"status": 401,
"error": {
"type": "authorization_error",
"code": "wrong_credentials",
"message": "L'ID marchand et/ou la clé d'API sont incorrects."
}
}{
"status": 403,
"error": {
"statusCode": 403,
"message": "Forbidden",
"error": "<string>"
}
}{
"httpStatus": 404,
"message": "X not found",
"error": "Not found"
}{
"httpStatus": 409,
"type": "invalid_request",
"code": "unsupported_action",
"message": "This action is not supported"
}{
"status": 429,
"error": "ThrottlerException: Too Many Requests"
}{
"type": "internal_error",
"code": [
"internal_error",
"wrong_credentials",
"not_granted",
"live_mode_not_granted"
],
"message": "An error occurred on our system. Please try again later."
}Headers
Your merchant ID. This information is available in our dashboard. If you don't have access to it, please reach the Support team.
Your api key. To create a key, please get into our dashboard. If you don't have access to it, please reach the Support team.
Allow you to choose between the sandbox mode to perform some tests or the live mode for real world transactions.
Available options:
live, sandbox Body
application/json
The ID of the transfer to refund
Example:
"tr_R7xkvVd5gRfBCWQCYrWEt"
Response
The ID of the refund
Example:
1
