curl --request POST \
--url https://api.example.com/api/v1/fraud-report/list \
--header 'Content-Type: application/json' \
--data '
{
"merchantId": 1000000201,
"startDate": "2026-01-01",
"endDate": "2026-03-28",
"pageNum": 1,
"pageSize": 20,
"paymentMethod": [
"<string>"
],
"acquiringOrderId": "<string>"
}
'import requests
url = "https://api.example.com/api/v1/fraud-report/list"
payload = {
"merchantId": 1000000201,
"startDate": "2026-01-01",
"endDate": "2026-03-28",
"pageNum": 1,
"pageSize": 20,
"paymentMethod": ["<string>"],
"acquiringOrderId": "<string>"
}
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({
merchantId: 1000000201,
startDate: '2026-01-01',
endDate: '2026-03-28',
pageNum: 1,
pageSize: 20,
paymentMethod: ['<string>'],
acquiringOrderId: '<string>'
})
};
fetch('https://api.example.com/api/v1/fraud-report/list', 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/api/v1/fraud-report/list",
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([
'merchantId' => 1000000201,
'startDate' => '2026-01-01',
'endDate' => '2026-03-28',
'pageNum' => 1,
'pageSize' => 20,
'paymentMethod' => [
'<string>'
],
'acquiringOrderId' => '<string>'
]),
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/api/v1/fraud-report/list"
payload := strings.NewReader("{\n \"merchantId\": 1000000201,\n \"startDate\": \"2026-01-01\",\n \"endDate\": \"2026-03-28\",\n \"pageNum\": 1,\n \"pageSize\": 20,\n \"paymentMethod\": [\n \"<string>\"\n ],\n \"acquiringOrderId\": \"<string>\"\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/api/v1/fraud-report/list")
.header("Content-Type", "application/json")
.body("{\n \"merchantId\": 1000000201,\n \"startDate\": \"2026-01-01\",\n \"endDate\": \"2026-03-28\",\n \"pageNum\": 1,\n \"pageSize\": 20,\n \"paymentMethod\": [\n \"<string>\"\n ],\n \"acquiringOrderId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/fraud-report/list")
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 \"merchantId\": 1000000201,\n \"startDate\": \"2026-01-01\",\n \"endDate\": \"2026-03-28\",\n \"pageNum\": 1,\n \"pageSize\": 20,\n \"paymentMethod\": [\n \"<string>\"\n ],\n \"acquiringOrderId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"code": 0,
"msg": "success",
"data": {
"records": [
{
"acquiringOrderId": "<string>",
"merchantUserId": "<string>",
"transactionDateTime": "<string>",
"paymentRequestId": "<string>",
"subscriptionId": "<string>",
"merchantSubscriptionId": "<string>",
"fraudReportDate": "<string>",
"fraudAmount": "<string>",
"fraudCurrency": "<string>",
"orderAmount": "<string>",
"orderCurrency": "<string>",
"fraudReason": "<string>",
"fraudReasonCode": "<string>",
"paymentMethod": "<string>",
"cardType": "<string>",
"cardMaskedNo": "<string>"
}
],
"total": 125,
"size": 20,
"current": 1,
"pages": 7
}
}Reported Fraud list
Query the fraud reports the card schemes raised against your transactions, filtered by fraud report date, card scheme and acquiring order Id. Reported fraud is the card scheme’s own fraud signal and is independent of chargebacks: a reported transaction may never be charged back, and a chargeback may exist without a fraud report — use the Chargeback list API for chargebacks. The query range must not exceed 3 months.
curl --request POST \
--url https://api.example.com/api/v1/fraud-report/list \
--header 'Content-Type: application/json' \
--data '
{
"merchantId": 1000000201,
"startDate": "2026-01-01",
"endDate": "2026-03-28",
"pageNum": 1,
"pageSize": 20,
"paymentMethod": [
"<string>"
],
"acquiringOrderId": "<string>"
}
'import requests
url = "https://api.example.com/api/v1/fraud-report/list"
payload = {
"merchantId": 1000000201,
"startDate": "2026-01-01",
"endDate": "2026-03-28",
"pageNum": 1,
"pageSize": 20,
"paymentMethod": ["<string>"],
"acquiringOrderId": "<string>"
}
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({
merchantId: 1000000201,
startDate: '2026-01-01',
endDate: '2026-03-28',
pageNum: 1,
pageSize: 20,
paymentMethod: ['<string>'],
acquiringOrderId: '<string>'
})
};
fetch('https://api.example.com/api/v1/fraud-report/list', 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/api/v1/fraud-report/list",
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([
'merchantId' => 1000000201,
'startDate' => '2026-01-01',
'endDate' => '2026-03-28',
'pageNum' => 1,
'pageSize' => 20,
'paymentMethod' => [
'<string>'
],
'acquiringOrderId' => '<string>'
]),
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/api/v1/fraud-report/list"
payload := strings.NewReader("{\n \"merchantId\": 1000000201,\n \"startDate\": \"2026-01-01\",\n \"endDate\": \"2026-03-28\",\n \"pageNum\": 1,\n \"pageSize\": 20,\n \"paymentMethod\": [\n \"<string>\"\n ],\n \"acquiringOrderId\": \"<string>\"\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/api/v1/fraud-report/list")
.header("Content-Type", "application/json")
.body("{\n \"merchantId\": 1000000201,\n \"startDate\": \"2026-01-01\",\n \"endDate\": \"2026-03-28\",\n \"pageNum\": 1,\n \"pageSize\": 20,\n \"paymentMethod\": [\n \"<string>\"\n ],\n \"acquiringOrderId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/api/v1/fraud-report/list")
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 \"merchantId\": 1000000201,\n \"startDate\": \"2026-01-01\",\n \"endDate\": \"2026-03-28\",\n \"pageNum\": 1,\n \"pageSize\": 20,\n \"paymentMethod\": [\n \"<string>\"\n ],\n \"acquiringOrderId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"code": 0,
"msg": "success",
"data": {
"records": [
{
"acquiringOrderId": "<string>",
"merchantUserId": "<string>",
"transactionDateTime": "<string>",
"paymentRequestId": "<string>",
"subscriptionId": "<string>",
"merchantSubscriptionId": "<string>",
"fraudReportDate": "<string>",
"fraudAmount": "<string>",
"fraudCurrency": "<string>",
"orderAmount": "<string>",
"orderCurrency": "<string>",
"fraudReason": "<string>",
"fraudReasonCode": "<string>",
"paymentMethod": "<string>",
"cardType": "<string>",
"cardMaskedNo": "<string>"
}
],
"total": 125,
"size": 20,
"current": 1,
"pages": 7
}
}Body
Reported Fraud list request
Merchant Id assigned by Waffo
641000000201
Start of the query range, inclusive. Filters on fraudReportDate, not on the original transaction time. Format yyyy-MM-dd. The range must not exceed 3 months
"2026-01-01"
End of the query range, inclusive. Filters on fraudReportDate, not on the original transaction time. Format yyyy-MM-dd. The range must not exceed 3 months
"2026-03-28"
Page number to retrieve, starts from 1
1
Number of records per page, between 1 and 100
20
Card scheme filter. Pass VISA, MASTERCARD or both; a record matches when its card scheme is any of the values passed. Optional — omit it to return all card schemes
Waffo acquiring order Id filter, to retrieve the fraud reports of a single transaction. Optional — omit it to return every transaction in the date range
64Was this page helpful?