Report that a card decline occurred
curl --request POST \
--url https://east.sandbox.spade.com/enrichments/{enrichmentId}/decline \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"declineCode": "51",
"declineDescription": "Insufficient funds",
"declineNotes": "Unknown reason for decline.",
"occurredAt": "2022-06-15 18:27:51Z",
"isFraud": false,
"fraudNotes": "Merchant is believed to commonly be used for card testing."
}
'import requests
url = "https://east.sandbox.spade.com/enrichments/{enrichmentId}/decline"
payload = {
"declineCode": "51",
"declineDescription": "Insufficient funds",
"declineNotes": "Unknown reason for decline.",
"occurredAt": "2022-06-15 18:27:51Z",
"isFraud": False,
"fraudNotes": "Merchant is believed to commonly be used for card testing."
}
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
declineCode: '51',
declineDescription: 'Insufficient funds',
declineNotes: 'Unknown reason for decline.',
occurredAt: '2022-06-15 18:27:51Z',
isFraud: false,
fraudNotes: 'Merchant is believed to commonly be used for card testing.'
})
};
fetch('https://east.sandbox.spade.com/enrichments/{enrichmentId}/decline', 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://east.sandbox.spade.com/enrichments/{enrichmentId}/decline",
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([
'declineCode' => '51',
'declineDescription' => 'Insufficient funds',
'declineNotes' => 'Unknown reason for decline.',
'occurredAt' => '2022-06-15 18:27:51Z',
'isFraud' => false,
'fraudNotes' => 'Merchant is believed to commonly be used for card testing.'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <api-key>"
],
]);
$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://east.sandbox.spade.com/enrichments/{enrichmentId}/decline"
payload := strings.NewReader("{\n \"declineCode\": \"51\",\n \"declineDescription\": \"Insufficient funds\",\n \"declineNotes\": \"Unknown reason for decline.\",\n \"occurredAt\": \"2022-06-15 18:27:51Z\",\n \"isFraud\": false,\n \"fraudNotes\": \"Merchant is believed to commonly be used for card testing.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<api-key>")
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://east.sandbox.spade.com/enrichments/{enrichmentId}/decline")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"declineCode\": \"51\",\n \"declineDescription\": \"Insufficient funds\",\n \"declineNotes\": \"Unknown reason for decline.\",\n \"occurredAt\": \"2022-06-15 18:27:51Z\",\n \"isFraud\": false,\n \"fraudNotes\": \"Merchant is believed to commonly be used for card testing.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://east.sandbox.spade.com/enrichments/{enrichmentId}/decline")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"declineCode\": \"51\",\n \"declineDescription\": \"Insufficient funds\",\n \"declineNotes\": \"Unknown reason for decline.\",\n \"occurredAt\": \"2022-06-15 18:27:51Z\",\n \"isFraud\": false,\n \"fraudNotes\": \"Merchant is believed to commonly be used for card testing.\"\n}"
response = http.request(request)
puts response.read_body{
"details": "Chargeback successfully reported."
}{
"invalidField": [
"This field is required."
]
}{
"details": "Incorrect authentication credentials."
}{
"details": "Internal server error."
}Feedback and Reporting
Report that a card decline occurred
An endpoint for reporting that a card decline has occurred on a transaction. The declineCode, declineDescription, and declineNotes properties can be used to provide information about the decline. The isFraud, fraudType, and fraudNotes are used to provide information about fraud or suspected fraud related to this decline. Note that this transaction must previously have been enriched to report the decline.
POST
/
enrichments
/
{enrichmentId}
/
decline
Report that a card decline occurred
curl --request POST \
--url https://east.sandbox.spade.com/enrichments/{enrichmentId}/decline \
--header 'Content-Type: application/json' \
--header 'X-Api-Key: <api-key>' \
--data '
{
"declineCode": "51",
"declineDescription": "Insufficient funds",
"declineNotes": "Unknown reason for decline.",
"occurredAt": "2022-06-15 18:27:51Z",
"isFraud": false,
"fraudNotes": "Merchant is believed to commonly be used for card testing."
}
'import requests
url = "https://east.sandbox.spade.com/enrichments/{enrichmentId}/decline"
payload = {
"declineCode": "51",
"declineDescription": "Insufficient funds",
"declineNotes": "Unknown reason for decline.",
"occurredAt": "2022-06-15 18:27:51Z",
"isFraud": False,
"fraudNotes": "Merchant is believed to commonly be used for card testing."
}
headers = {
"X-Api-Key": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Api-Key': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
declineCode: '51',
declineDescription: 'Insufficient funds',
declineNotes: 'Unknown reason for decline.',
occurredAt: '2022-06-15 18:27:51Z',
isFraud: false,
fraudNotes: 'Merchant is believed to commonly be used for card testing.'
})
};
fetch('https://east.sandbox.spade.com/enrichments/{enrichmentId}/decline', 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://east.sandbox.spade.com/enrichments/{enrichmentId}/decline",
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([
'declineCode' => '51',
'declineDescription' => 'Insufficient funds',
'declineNotes' => 'Unknown reason for decline.',
'occurredAt' => '2022-06-15 18:27:51Z',
'isFraud' => false,
'fraudNotes' => 'Merchant is believed to commonly be used for card testing.'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Api-Key: <api-key>"
],
]);
$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://east.sandbox.spade.com/enrichments/{enrichmentId}/decline"
payload := strings.NewReader("{\n \"declineCode\": \"51\",\n \"declineDescription\": \"Insufficient funds\",\n \"declineNotes\": \"Unknown reason for decline.\",\n \"occurredAt\": \"2022-06-15 18:27:51Z\",\n \"isFraud\": false,\n \"fraudNotes\": \"Merchant is believed to commonly be used for card testing.\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Api-Key", "<api-key>")
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://east.sandbox.spade.com/enrichments/{enrichmentId}/decline")
.header("X-Api-Key", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"declineCode\": \"51\",\n \"declineDescription\": \"Insufficient funds\",\n \"declineNotes\": \"Unknown reason for decline.\",\n \"occurredAt\": \"2022-06-15 18:27:51Z\",\n \"isFraud\": false,\n \"fraudNotes\": \"Merchant is believed to commonly be used for card testing.\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://east.sandbox.spade.com/enrichments/{enrichmentId}/decline")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Api-Key"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"declineCode\": \"51\",\n \"declineDescription\": \"Insufficient funds\",\n \"declineNotes\": \"Unknown reason for decline.\",\n \"occurredAt\": \"2022-06-15 18:27:51Z\",\n \"isFraud\": false,\n \"fraudNotes\": \"Merchant is believed to commonly be used for card testing.\"\n}"
response = http.request(request)
puts response.read_body{
"details": "Chargeback successfully reported."
}{
"invalidField": [
"This field is required."
]
}{
"details": "Incorrect authentication credentials."
}{
"details": "Internal server error."
}Path Parameters
Body
application/json
A two digit alphanumeric code indicating why a card transaction was declined. For reference, see the Visa Action Code or the Mastercard Network Response Codes.
Maximum string length:
128Example:
"51"

