curl --request POST \
--url https://api.example.com/RefundGiftCard \
--header 'Content-Type: application/json' \
--data '
{
"MerchantGUID": "abcdabcd-abcd-abcd-abcd-abcdabcdabcd",
"Cards": [
{
"CardId": 167,
"BalanceInGiftCardCurrency": 10,
"BalanceInCustomerCurrency": 21.39,
"GiftCardCurrencyCode": "GBP",
"CustomerCurrencyCode": "EUR",
"BalanceUsedInCardCurrency": 10,
"BalanceUsedInCustomerCurrency": 21.39,
"RedeemTransactionId": 120423,
"CardFields": {
"CardId": "card10",
"CardPin": "111"
}
}
],
"TotalToRefundInCustomerCurrency": 21.39,
"TotalToRefundInGiftCardCurrency": 10,
"ConversionRate": 2.138827
}
'import requests
url = "https://api.example.com/RefundGiftCard"
payload = {
"MerchantGUID": "abcdabcd-abcd-abcd-abcd-abcdabcdabcd",
"Cards": [
{
"CardId": 167,
"BalanceInGiftCardCurrency": 10,
"BalanceInCustomerCurrency": 21.39,
"GiftCardCurrencyCode": "GBP",
"CustomerCurrencyCode": "EUR",
"BalanceUsedInCardCurrency": 10,
"BalanceUsedInCustomerCurrency": 21.39,
"RedeemTransactionId": 120423,
"CardFields": {
"CardId": "card10",
"CardPin": "111"
}
}
],
"TotalToRefundInCustomerCurrency": 21.39,
"TotalToRefundInGiftCardCurrency": 10,
"ConversionRate": 2.138827
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
MerchantGUID: 'abcdabcd-abcd-abcd-abcd-abcdabcdabcd',
Cards: [
{
CardId: 167,
BalanceInGiftCardCurrency: 10,
BalanceInCustomerCurrency: 21.39,
GiftCardCurrencyCode: 'GBP',
CustomerCurrencyCode: 'EUR',
BalanceUsedInCardCurrency: 10,
BalanceUsedInCustomerCurrency: 21.39,
RedeemTransactionId: 120423,
CardFields: {CardId: 'card10', CardPin: '111'}
}
],
TotalToRefundInCustomerCurrency: 21.39,
TotalToRefundInGiftCardCurrency: 10,
ConversionRate: 2.138827
})
};
fetch('https://api.example.com/RefundGiftCard', 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/RefundGiftCard",
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([
'MerchantGUID' => 'abcdabcd-abcd-abcd-abcd-abcdabcdabcd',
'Cards' => [
[
'CardId' => 167,
'BalanceInGiftCardCurrency' => 10,
'BalanceInCustomerCurrency' => 21.39,
'GiftCardCurrencyCode' => 'GBP',
'CustomerCurrencyCode' => 'EUR',
'BalanceUsedInCardCurrency' => 10,
'BalanceUsedInCustomerCurrency' => 21.39,
'RedeemTransactionId' => 120423,
'CardFields' => [
'CardId' => 'card10',
'CardPin' => '111'
]
]
],
'TotalToRefundInCustomerCurrency' => 21.39,
'TotalToRefundInGiftCardCurrency' => 10,
'ConversionRate' => 2.138827
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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/RefundGiftCard"
payload := strings.NewReader("{\n \"MerchantGUID\": \"abcdabcd-abcd-abcd-abcd-abcdabcdabcd\",\n \"Cards\": [\n {\n \"CardId\": 167,\n \"BalanceInGiftCardCurrency\": 10,\n \"BalanceInCustomerCurrency\": 21.39,\n \"GiftCardCurrencyCode\": \"GBP\",\n \"CustomerCurrencyCode\": \"EUR\",\n \"BalanceUsedInCardCurrency\": 10,\n \"BalanceUsedInCustomerCurrency\": 21.39,\n \"RedeemTransactionId\": 120423,\n \"CardFields\": {\n \"CardId\": \"card10\",\n \"CardPin\": \"111\"\n }\n }\n ],\n \"TotalToRefundInCustomerCurrency\": 21.39,\n \"TotalToRefundInGiftCardCurrency\": 10,\n \"ConversionRate\": 2.138827\n}")
req, _ := http.NewRequest("POST", url, payload)
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/RefundGiftCard")
.header("Content-Type", "application/json")
.body("{\n \"MerchantGUID\": \"abcdabcd-abcd-abcd-abcd-abcdabcdabcd\",\n \"Cards\": [\n {\n \"CardId\": 167,\n \"BalanceInGiftCardCurrency\": 10,\n \"BalanceInCustomerCurrency\": 21.39,\n \"GiftCardCurrencyCode\": \"GBP\",\n \"CustomerCurrencyCode\": \"EUR\",\n \"BalanceUsedInCardCurrency\": 10,\n \"BalanceUsedInCustomerCurrency\": 21.39,\n \"RedeemTransactionId\": 120423,\n \"CardFields\": {\n \"CardId\": \"card10\",\n \"CardPin\": \"111\"\n }\n }\n ],\n \"TotalToRefundInCustomerCurrency\": 21.39,\n \"TotalToRefundInGiftCardCurrency\": 10,\n \"ConversionRate\": 2.138827\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/RefundGiftCard")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"MerchantGUID\": \"abcdabcd-abcd-abcd-abcd-abcdabcdabcd\",\n \"Cards\": [\n {\n \"CardId\": 167,\n \"BalanceInGiftCardCurrency\": 10,\n \"BalanceInCustomerCurrency\": 21.39,\n \"GiftCardCurrencyCode\": \"GBP\",\n \"CustomerCurrencyCode\": \"EUR\",\n \"BalanceUsedInCardCurrency\": 10,\n \"BalanceUsedInCustomerCurrency\": 21.39,\n \"RedeemTransactionId\": 120423,\n \"CardFields\": {\n \"CardId\": \"card10\",\n \"CardPin\": \"111\"\n }\n }\n ],\n \"TotalToRefundInCustomerCurrency\": 21.39,\n \"TotalToRefundInGiftCardCurrency\": 10,\n \"ConversionRate\": 2.138827\n}"
response = http.request(request)
puts response.read_body{
"Cards": [
{
"CardId": 167,
"BalanceInGiftCardCurrency": 10,
"BalanceInCustomerCurrency": 21.39,
"GiftCardCurrencyCode": "GBP",
"CustomerCurrencyCode": "EUR",
"BalanceUsedInCardCurrency": 10,
"BalanceUsedInCustomerCurrency": 21.39,
"RedeemTransactionId": 120423,
"CardFields": {
"CardId": "card10",
"CardPin": "111"
},
"RefundedBalanceInGiftCardCurrency": 10,
"RefundedBalanceInCustomerCurrency": 21.39,
"IsRefundSuccess": true
}
],
"IsRefunded": true
}Refund gift card
Use the Refund Gift Card API to send a request to return the used gift card balance in cases where an order is canceled or a new refund is created.
curl --request POST \
--url https://api.example.com/RefundGiftCard \
--header 'Content-Type: application/json' \
--data '
{
"MerchantGUID": "abcdabcd-abcd-abcd-abcd-abcdabcdabcd",
"Cards": [
{
"CardId": 167,
"BalanceInGiftCardCurrency": 10,
"BalanceInCustomerCurrency": 21.39,
"GiftCardCurrencyCode": "GBP",
"CustomerCurrencyCode": "EUR",
"BalanceUsedInCardCurrency": 10,
"BalanceUsedInCustomerCurrency": 21.39,
"RedeemTransactionId": 120423,
"CardFields": {
"CardId": "card10",
"CardPin": "111"
}
}
],
"TotalToRefundInCustomerCurrency": 21.39,
"TotalToRefundInGiftCardCurrency": 10,
"ConversionRate": 2.138827
}
'import requests
url = "https://api.example.com/RefundGiftCard"
payload = {
"MerchantGUID": "abcdabcd-abcd-abcd-abcd-abcdabcdabcd",
"Cards": [
{
"CardId": 167,
"BalanceInGiftCardCurrency": 10,
"BalanceInCustomerCurrency": 21.39,
"GiftCardCurrencyCode": "GBP",
"CustomerCurrencyCode": "EUR",
"BalanceUsedInCardCurrency": 10,
"BalanceUsedInCustomerCurrency": 21.39,
"RedeemTransactionId": 120423,
"CardFields": {
"CardId": "card10",
"CardPin": "111"
}
}
],
"TotalToRefundInCustomerCurrency": 21.39,
"TotalToRefundInGiftCardCurrency": 10,
"ConversionRate": 2.138827
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
MerchantGUID: 'abcdabcd-abcd-abcd-abcd-abcdabcdabcd',
Cards: [
{
CardId: 167,
BalanceInGiftCardCurrency: 10,
BalanceInCustomerCurrency: 21.39,
GiftCardCurrencyCode: 'GBP',
CustomerCurrencyCode: 'EUR',
BalanceUsedInCardCurrency: 10,
BalanceUsedInCustomerCurrency: 21.39,
RedeemTransactionId: 120423,
CardFields: {CardId: 'card10', CardPin: '111'}
}
],
TotalToRefundInCustomerCurrency: 21.39,
TotalToRefundInGiftCardCurrency: 10,
ConversionRate: 2.138827
})
};
fetch('https://api.example.com/RefundGiftCard', 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/RefundGiftCard",
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([
'MerchantGUID' => 'abcdabcd-abcd-abcd-abcd-abcdabcdabcd',
'Cards' => [
[
'CardId' => 167,
'BalanceInGiftCardCurrency' => 10,
'BalanceInCustomerCurrency' => 21.39,
'GiftCardCurrencyCode' => 'GBP',
'CustomerCurrencyCode' => 'EUR',
'BalanceUsedInCardCurrency' => 10,
'BalanceUsedInCustomerCurrency' => 21.39,
'RedeemTransactionId' => 120423,
'CardFields' => [
'CardId' => 'card10',
'CardPin' => '111'
]
]
],
'TotalToRefundInCustomerCurrency' => 21.39,
'TotalToRefundInGiftCardCurrency' => 10,
'ConversionRate' => 2.138827
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$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/RefundGiftCard"
payload := strings.NewReader("{\n \"MerchantGUID\": \"abcdabcd-abcd-abcd-abcd-abcdabcdabcd\",\n \"Cards\": [\n {\n \"CardId\": 167,\n \"BalanceInGiftCardCurrency\": 10,\n \"BalanceInCustomerCurrency\": 21.39,\n \"GiftCardCurrencyCode\": \"GBP\",\n \"CustomerCurrencyCode\": \"EUR\",\n \"BalanceUsedInCardCurrency\": 10,\n \"BalanceUsedInCustomerCurrency\": 21.39,\n \"RedeemTransactionId\": 120423,\n \"CardFields\": {\n \"CardId\": \"card10\",\n \"CardPin\": \"111\"\n }\n }\n ],\n \"TotalToRefundInCustomerCurrency\": 21.39,\n \"TotalToRefundInGiftCardCurrency\": 10,\n \"ConversionRate\": 2.138827\n}")
req, _ := http.NewRequest("POST", url, payload)
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/RefundGiftCard")
.header("Content-Type", "application/json")
.body("{\n \"MerchantGUID\": \"abcdabcd-abcd-abcd-abcd-abcdabcdabcd\",\n \"Cards\": [\n {\n \"CardId\": 167,\n \"BalanceInGiftCardCurrency\": 10,\n \"BalanceInCustomerCurrency\": 21.39,\n \"GiftCardCurrencyCode\": \"GBP\",\n \"CustomerCurrencyCode\": \"EUR\",\n \"BalanceUsedInCardCurrency\": 10,\n \"BalanceUsedInCustomerCurrency\": 21.39,\n \"RedeemTransactionId\": 120423,\n \"CardFields\": {\n \"CardId\": \"card10\",\n \"CardPin\": \"111\"\n }\n }\n ],\n \"TotalToRefundInCustomerCurrency\": 21.39,\n \"TotalToRefundInGiftCardCurrency\": 10,\n \"ConversionRate\": 2.138827\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/RefundGiftCard")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"MerchantGUID\": \"abcdabcd-abcd-abcd-abcd-abcdabcdabcd\",\n \"Cards\": [\n {\n \"CardId\": 167,\n \"BalanceInGiftCardCurrency\": 10,\n \"BalanceInCustomerCurrency\": 21.39,\n \"GiftCardCurrencyCode\": \"GBP\",\n \"CustomerCurrencyCode\": \"EUR\",\n \"BalanceUsedInCardCurrency\": 10,\n \"BalanceUsedInCustomerCurrency\": 21.39,\n \"RedeemTransactionId\": 120423,\n \"CardFields\": {\n \"CardId\": \"card10\",\n \"CardPin\": \"111\"\n }\n }\n ],\n \"TotalToRefundInCustomerCurrency\": 21.39,\n \"TotalToRefundInGiftCardCurrency\": 10,\n \"ConversionRate\": 2.138827\n}"
response = http.request(request)
puts response.read_body{
"Cards": [
{
"CardId": 167,
"BalanceInGiftCardCurrency": 10,
"BalanceInCustomerCurrency": 21.39,
"GiftCardCurrencyCode": "GBP",
"CustomerCurrencyCode": "EUR",
"BalanceUsedInCardCurrency": 10,
"BalanceUsedInCustomerCurrency": 21.39,
"RedeemTransactionId": 120423,
"CardFields": {
"CardId": "card10",
"CardPin": "111"
},
"RefundedBalanceInGiftCardCurrency": 10,
"RefundedBalanceInCustomerCurrency": 21.39,
"IsRefundSuccess": true
}
],
"IsRefunded": true
}Body
Merchant unique identifier.
Data of all applied cards.
Show child attributes
Show child attributes
Total value to refund for all gift cards in customer currency.
Total value to refund for all gift cards in Gift Card currency.
Rate of conversion from Gift Card currency to Customer Currency. TotalToRefundInGiftCardCurrency = TotalToRefundInCustomerCurrency / ConversionRate. TotalToRefundInCustomerCurrency = TotalToRefundInGiftCardCurrency * ConversionRate.
Response
Refund result.
Return true if amounts of redeemed cards are successfully returned.
The same list of cards from request after the refund process. Values for RefundedBalanceInCustomerCurrency property should be set.
Show child attributes
Show child attributes
Code of platform error.
Message of platform error.

