Redeem gift card
curl --request POST \
--url https://api.example.com/RedeemGiftCard \
--header 'Content-Type: application/json' \
--data '
{
"MerchantGUID": "abcdabcd-abcd-abcd-abcd-abcdabcdabcd",
"ShippingCountryCode": "UA",
"Cards": [
{
"CardId": 167,
"BalanceInGiftCardCurrency": 10,
"BalanceInCustomerCurrency": 21.39,
"GiftCardCurrencyCode": "GBP",
"CustomerCurrencyCode": "EUR",
"BalanceUsedInCardCurrency": 10,
"BalanceUsedInCustomerCurrency": 21.39,
"CardFields": {
"CardId": "card10",
"CardPin": "111"
}
}
]
}
'import requests
url = "https://api.example.com/RedeemGiftCard"
payload = {
"MerchantGUID": "abcdabcd-abcd-abcd-abcd-abcdabcdabcd",
"ShippingCountryCode": "UA",
"Cards": [
{
"CardId": 167,
"BalanceInGiftCardCurrency": 10,
"BalanceInCustomerCurrency": 21.39,
"GiftCardCurrencyCode": "GBP",
"CustomerCurrencyCode": "EUR",
"BalanceUsedInCardCurrency": 10,
"BalanceUsedInCustomerCurrency": 21.39,
"CardFields": {
"CardId": "card10",
"CardPin": "111"
}
}
]
}
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',
ShippingCountryCode: 'UA',
Cards: [
{
CardId: 167,
BalanceInGiftCardCurrency: 10,
BalanceInCustomerCurrency: 21.39,
GiftCardCurrencyCode: 'GBP',
CustomerCurrencyCode: 'EUR',
BalanceUsedInCardCurrency: 10,
BalanceUsedInCustomerCurrency: 21.39,
CardFields: {CardId: 'card10', CardPin: '111'}
}
]
})
};
fetch('https://api.example.com/RedeemGiftCard', 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/RedeemGiftCard",
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',
'ShippingCountryCode' => 'UA',
'Cards' => [
[
'CardId' => 167,
'BalanceInGiftCardCurrency' => 10,
'BalanceInCustomerCurrency' => 21.39,
'GiftCardCurrencyCode' => 'GBP',
'CustomerCurrencyCode' => 'EUR',
'BalanceUsedInCardCurrency' => 10,
'BalanceUsedInCustomerCurrency' => 21.39,
'CardFields' => [
'CardId' => 'card10',
'CardPin' => '111'
]
]
]
]),
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/RedeemGiftCard"
payload := strings.NewReader("{\n \"MerchantGUID\": \"abcdabcd-abcd-abcd-abcd-abcdabcdabcd\",\n \"ShippingCountryCode\": \"UA\",\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 \"CardFields\": {\n \"CardId\": \"card10\",\n \"CardPin\": \"111\"\n }\n }\n ]\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/RedeemGiftCard")
.header("Content-Type", "application/json")
.body("{\n \"MerchantGUID\": \"abcdabcd-abcd-abcd-abcd-abcdabcdabcd\",\n \"ShippingCountryCode\": \"UA\",\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 \"CardFields\": {\n \"CardId\": \"card10\",\n \"CardPin\": \"111\"\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/RedeemGiftCard")
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 \"ShippingCountryCode\": \"UA\",\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 \"CardFields\": {\n \"CardId\": \"card10\",\n \"CardPin\": \"111\"\n }\n }\n ]\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"
}
}
]
}Gift Cards
Redeem gift card
Use the Redeem Gift Card API call to send the remaining card balance to the Platform, and the Platform updates the information accordingly.
POST
/
RedeemGiftCard
Redeem gift card
curl --request POST \
--url https://api.example.com/RedeemGiftCard \
--header 'Content-Type: application/json' \
--data '
{
"MerchantGUID": "abcdabcd-abcd-abcd-abcd-abcdabcdabcd",
"ShippingCountryCode": "UA",
"Cards": [
{
"CardId": 167,
"BalanceInGiftCardCurrency": 10,
"BalanceInCustomerCurrency": 21.39,
"GiftCardCurrencyCode": "GBP",
"CustomerCurrencyCode": "EUR",
"BalanceUsedInCardCurrency": 10,
"BalanceUsedInCustomerCurrency": 21.39,
"CardFields": {
"CardId": "card10",
"CardPin": "111"
}
}
]
}
'import requests
url = "https://api.example.com/RedeemGiftCard"
payload = {
"MerchantGUID": "abcdabcd-abcd-abcd-abcd-abcdabcdabcd",
"ShippingCountryCode": "UA",
"Cards": [
{
"CardId": 167,
"BalanceInGiftCardCurrency": 10,
"BalanceInCustomerCurrency": 21.39,
"GiftCardCurrencyCode": "GBP",
"CustomerCurrencyCode": "EUR",
"BalanceUsedInCardCurrency": 10,
"BalanceUsedInCustomerCurrency": 21.39,
"CardFields": {
"CardId": "card10",
"CardPin": "111"
}
}
]
}
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',
ShippingCountryCode: 'UA',
Cards: [
{
CardId: 167,
BalanceInGiftCardCurrency: 10,
BalanceInCustomerCurrency: 21.39,
GiftCardCurrencyCode: 'GBP',
CustomerCurrencyCode: 'EUR',
BalanceUsedInCardCurrency: 10,
BalanceUsedInCustomerCurrency: 21.39,
CardFields: {CardId: 'card10', CardPin: '111'}
}
]
})
};
fetch('https://api.example.com/RedeemGiftCard', 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/RedeemGiftCard",
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',
'ShippingCountryCode' => 'UA',
'Cards' => [
[
'CardId' => 167,
'BalanceInGiftCardCurrency' => 10,
'BalanceInCustomerCurrency' => 21.39,
'GiftCardCurrencyCode' => 'GBP',
'CustomerCurrencyCode' => 'EUR',
'BalanceUsedInCardCurrency' => 10,
'BalanceUsedInCustomerCurrency' => 21.39,
'CardFields' => [
'CardId' => 'card10',
'CardPin' => '111'
]
]
]
]),
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/RedeemGiftCard"
payload := strings.NewReader("{\n \"MerchantGUID\": \"abcdabcd-abcd-abcd-abcd-abcdabcdabcd\",\n \"ShippingCountryCode\": \"UA\",\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 \"CardFields\": {\n \"CardId\": \"card10\",\n \"CardPin\": \"111\"\n }\n }\n ]\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/RedeemGiftCard")
.header("Content-Type", "application/json")
.body("{\n \"MerchantGUID\": \"abcdabcd-abcd-abcd-abcd-abcdabcdabcd\",\n \"ShippingCountryCode\": \"UA\",\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 \"CardFields\": {\n \"CardId\": \"card10\",\n \"CardPin\": \"111\"\n }\n }\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/RedeemGiftCard")
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 \"ShippingCountryCode\": \"UA\",\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 \"CardFields\": {\n \"CardId\": \"card10\",\n \"CardPin\": \"111\"\n }\n }\n ]\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"
}
}
]
}Part of the Gift Cards integration guide — see it for when and how to use this endpoint.
Body
application/json
Response
200 - application/json
Redemption result.
The same list of cards from request after redeem process. CardData.RedeemTransactionId should be set during the redeem call. If we do not receive RedeemTransactionId for each card we will decide that redeem is failed.
Show child attributes
Show child attributes
Code of platform error.
Message of platform error.
⌘I

