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."
}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.
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."
}Authorizations
Path Parameters
The enrichmentId of enrichment associated with the transaction where a card decline occurred.
Body
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.
128"51"
A plain text description associated with a decline code.
512"Insufficient funds"
Any additional details related to a card decline not covered by the declineCode or declineDescription.
512"Unknown reason for decline."
The time the decline occurred. Formatted as an ISO 8601 date time.
"2022-06-15 18:27:51Z"
A boolean indicating if this transaction was suspected to involve fraud.
false
The type of fraud suspected to have occurred. This field can only be provided if isFraud is true.
card_not_present, card_testing, chargeback_fraud, counterfeit_card, merchant_fraud, other, phishing, stolen_card, unknown, none Any additional details related to fraud suspected to have occurred on the associated transaction. This field can only be provided if isFraud is true.
512"Merchant is believed to commonly be used for card testing."
Response
Decline reported successfully.
Response for reporting any kind of enrichment feedback.
"Chargeback successfully reported."

