Mark payment as disputed
curl --request POST \
--url https://api.tagada.io/api/public/v1/payments/mark-disputed \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"paymentId": "pay_123xyz",
"disputeStatus": "response-needed",
"disputeType": "first-chargeback",
"disputeReasonCode": "fraudulent",
"disputedTransactionId": "txn_123",
"disputeNote": "Customer claims unauthorized transaction"
}
'import requests
url = "https://api.tagada.io/api/public/v1/payments/mark-disputed"
payload = {
"paymentId": "pay_123xyz",
"disputeStatus": "response-needed",
"disputeType": "first-chargeback",
"disputeReasonCode": "fraudulent",
"disputedTransactionId": "txn_123",
"disputeNote": "Customer claims unauthorized transaction"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
paymentId: 'pay_123xyz',
disputeStatus: 'response-needed',
disputeType: 'first-chargeback',
disputeReasonCode: 'fraudulent',
disputedTransactionId: 'txn_123',
disputeNote: 'Customer claims unauthorized transaction'
})
};
fetch('https://api.tagada.io/api/public/v1/payments/mark-disputed', 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.tagada.io/api/public/v1/payments/mark-disputed",
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([
'paymentId' => 'pay_123xyz',
'disputeStatus' => 'response-needed',
'disputeType' => 'first-chargeback',
'disputeReasonCode' => 'fraudulent',
'disputedTransactionId' => 'txn_123',
'disputeNote' => 'Customer claims unauthorized transaction'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.tagada.io/api/public/v1/payments/mark-disputed"
payload := strings.NewReader("{\n \"paymentId\": \"pay_123xyz\",\n \"disputeStatus\": \"response-needed\",\n \"disputeType\": \"first-chargeback\",\n \"disputeReasonCode\": \"fraudulent\",\n \"disputedTransactionId\": \"txn_123\",\n \"disputeNote\": \"Customer claims unauthorized transaction\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.tagada.io/api/public/v1/payments/mark-disputed")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"paymentId\": \"pay_123xyz\",\n \"disputeStatus\": \"response-needed\",\n \"disputeType\": \"first-chargeback\",\n \"disputeReasonCode\": \"fraudulent\",\n \"disputedTransactionId\": \"txn_123\",\n \"disputeNote\": \"Customer claims unauthorized transaction\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tagada.io/api/public/v1/payments/mark-disputed")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"paymentId\": \"pay_123xyz\",\n \"disputeStatus\": \"response-needed\",\n \"disputeType\": \"first-chargeback\",\n \"disputeReasonCode\": \"fraudulent\",\n \"disputedTransactionId\": \"txn_123\",\n \"disputeNote\": \"Customer claims unauthorized transaction\"\n}"
response = http.request(request)
puts response.read_body{
"id": "pay_123xyz",
"isDisputed": true,
"disputeStatus": "response-needed",
"disputeType": "first-chargeback",
"disputeReasonCode": "fraudulent",
"disputedTransactionId": "txn_123",
"disputedAt": "2024-03-20T10:30:00Z",
"disputeNote": "Customer claims unauthorized transaction"
}{
"message": "<string>",
"code": "<string>",
"issues": [
{
"message": "<string>"
}
]
}payments
Mark payment as disputed
Mark a payment as disputed with initial dispute information. This endpoint is used to initiate a dispute on a payment.
Required fields:
- paymentId: The ID of the payment to mark as disputed
- disputeStatus: Initial status of the dispute
- disputeType: Type of dispute
- disputeReasonCode: Reason code for the dispute
Optional fields:
- disputedTransactionId: ID of the specific transaction being disputed
- disputeNote: Additional notes about the dispute
POST
/
api
/
public
/
v1
/
payments
/
mark-disputed
Mark payment as disputed
curl --request POST \
--url https://api.tagada.io/api/public/v1/payments/mark-disputed \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"paymentId": "pay_123xyz",
"disputeStatus": "response-needed",
"disputeType": "first-chargeback",
"disputeReasonCode": "fraudulent",
"disputedTransactionId": "txn_123",
"disputeNote": "Customer claims unauthorized transaction"
}
'import requests
url = "https://api.tagada.io/api/public/v1/payments/mark-disputed"
payload = {
"paymentId": "pay_123xyz",
"disputeStatus": "response-needed",
"disputeType": "first-chargeback",
"disputeReasonCode": "fraudulent",
"disputedTransactionId": "txn_123",
"disputeNote": "Customer claims unauthorized transaction"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
paymentId: 'pay_123xyz',
disputeStatus: 'response-needed',
disputeType: 'first-chargeback',
disputeReasonCode: 'fraudulent',
disputedTransactionId: 'txn_123',
disputeNote: 'Customer claims unauthorized transaction'
})
};
fetch('https://api.tagada.io/api/public/v1/payments/mark-disputed', 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.tagada.io/api/public/v1/payments/mark-disputed",
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([
'paymentId' => 'pay_123xyz',
'disputeStatus' => 'response-needed',
'disputeType' => 'first-chargeback',
'disputeReasonCode' => 'fraudulent',
'disputedTransactionId' => 'txn_123',
'disputeNote' => 'Customer claims unauthorized transaction'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.tagada.io/api/public/v1/payments/mark-disputed"
payload := strings.NewReader("{\n \"paymentId\": \"pay_123xyz\",\n \"disputeStatus\": \"response-needed\",\n \"disputeType\": \"first-chargeback\",\n \"disputeReasonCode\": \"fraudulent\",\n \"disputedTransactionId\": \"txn_123\",\n \"disputeNote\": \"Customer claims unauthorized transaction\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.tagada.io/api/public/v1/payments/mark-disputed")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"paymentId\": \"pay_123xyz\",\n \"disputeStatus\": \"response-needed\",\n \"disputeType\": \"first-chargeback\",\n \"disputeReasonCode\": \"fraudulent\",\n \"disputedTransactionId\": \"txn_123\",\n \"disputeNote\": \"Customer claims unauthorized transaction\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.tagada.io/api/public/v1/payments/mark-disputed")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"paymentId\": \"pay_123xyz\",\n \"disputeStatus\": \"response-needed\",\n \"disputeType\": \"first-chargeback\",\n \"disputeReasonCode\": \"fraudulent\",\n \"disputedTransactionId\": \"txn_123\",\n \"disputeNote\": \"Customer claims unauthorized transaction\"\n}"
response = http.request(request)
puts response.read_body{
"id": "pay_123xyz",
"isDisputed": true,
"disputeStatus": "response-needed",
"disputeType": "first-chargeback",
"disputeReasonCode": "fraudulent",
"disputedTransactionId": "txn_123",
"disputedAt": "2024-03-20T10:30:00Z",
"disputeNote": "Customer claims unauthorized transaction"
}{
"message": "<string>",
"code": "<string>",
"issues": [
{
"message": "<string>"
}
]
}Authorizations
Enter your API key as: Bearer your-api-key
Body
application/json
Available options:
response-needed, under-review, forfeited, won, lost, unknown, refunded, refunded_externally Available options:
information-request, first-chargeback, second-chargeback, fraud, ethoca-alert, verifi-alert, paypal-claim, representment, rdr Available options:
0, 00, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10.1, 10.2, 10.3, 10.4, 10.5, 11.1, 11.2, 11.3, 12, 12.1, 12.2, 12.3, 12.4, 12.5, 12.6, 12.7, 13.1, 13.2, 13.3, 13.4, 13.5, 13.6, 13.7, 13.8, 13.9, 30, 31, 34, 35, 37, 40, 41, 42, 46, 47, 49, 50, 51, 53, 54, 55, 57, 59, 60, 62, 63, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 93, 98, 1000, 2700, 2702, A, A01, A02, A08, AL, AP, AW, B, C02, C04, C05, C08, C14, C18, C28, C31, C32, CA, CD, CR, DA, DP, DP1, EX, F10, F14, F22, F24, F29, FR1, FR4, FR6, IC, IN, IS, LP, M01, M10, M49, N, NA, NC, P, P01, P03, P04, P05, P07, P08, P22, P23, R03, R13, RG, RM, RN1, RN2, SV, TF, TNM, UA01, UA02, UA03, UA10, UA11, UA12, UA18, UA20, UA21, UA22, UA23, UA28, UA30, UA31, UA32, UA38, UA99, bank_cannot_process, credit_not_processed, customer_initiated, debit_not_authorized, duplicate, fraudulent, general, incorrect_account_details, insufficient_funds, pre-chargeback-alert, product_not_received, product_unacceptable, subscription_canceled, unrecognized Response
Successful response
