curl --request POST \
--url https://waffo.com/api/v1/chargeback/accept \
--header 'Content-Type: application/json' \
--data '
{
"merchantId": 1000000201,
"chargebackId": "<string>"
}
'import requests
url = "https://waffo.com/api/v1/chargeback/accept"
payload = {
"merchantId": 1000000201,
"chargebackId": "<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, chargebackId: '<string>'})
};
fetch('https://waffo.com/api/v1/chargeback/accept', 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://waffo.com/api/v1/chargeback/accept",
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,
'chargebackId' => '<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://waffo.com/api/v1/chargeback/accept"
payload := strings.NewReader("{\n \"merchantId\": 1000000201,\n \"chargebackId\": \"<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://waffo.com/api/v1/chargeback/accept")
.header("Content-Type", "application/json")
.body("{\n \"merchantId\": 1000000201,\n \"chargebackId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://waffo.com/api/v1/chargeback/accept")
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 \"chargebackId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"code": 0,
"msg": "success",
"data": {
"chargebackId": "<string>",
"originalOrderId": "<string>",
"originalPaymentRequestId": "<string>",
"merchantId": "<string>",
"merchantOrderId": "<string>",
"lifeCycle": "<string>",
"relevantChargebackId": "<string>",
"chargebackStatus": "<string>",
"amount": "<string>",
"currency": "<string>",
"feeAmount": "<string>",
"feeCurrency": "<string>",
"reasonCode": "<string>",
"reason": "<string>",
"description": "<string>",
"chargebackDateTime": "<string>",
"expiryDateTime": "<string>",
"merchantUserId": "<string>",
"subscriptionInfo": {
"subscriptionId": "<string>",
"period": "<string>",
"merchantRequest": "<string>",
"subscriptionRequest": "<string>"
},
"message": {
"messageId": "<string>",
"notes": "<string>",
"documents": "1766043193910/receipt.pdf,1766043201234/tracking.png"
},
"evidence": {}
}
}Chargeback accept
Accept the chargeback. The amount and fee were already debited when the chargeback was created, so accepting does not trigger a further debit — the case is closed and the merchant is not refunded. Note: this action is irreversible — no further evidence can be submitted afterwards, and an ACCEPTED notification is pushed to the configured chargeback notify URL.
curl --request POST \
--url https://waffo.com/api/v1/chargeback/accept \
--header 'Content-Type: application/json' \
--data '
{
"merchantId": 1000000201,
"chargebackId": "<string>"
}
'import requests
url = "https://waffo.com/api/v1/chargeback/accept"
payload = {
"merchantId": 1000000201,
"chargebackId": "<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, chargebackId: '<string>'})
};
fetch('https://waffo.com/api/v1/chargeback/accept', 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://waffo.com/api/v1/chargeback/accept",
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,
'chargebackId' => '<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://waffo.com/api/v1/chargeback/accept"
payload := strings.NewReader("{\n \"merchantId\": 1000000201,\n \"chargebackId\": \"<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://waffo.com/api/v1/chargeback/accept")
.header("Content-Type", "application/json")
.body("{\n \"merchantId\": 1000000201,\n \"chargebackId\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://waffo.com/api/v1/chargeback/accept")
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 \"chargebackId\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"code": 0,
"msg": "success",
"data": {
"chargebackId": "<string>",
"originalOrderId": "<string>",
"originalPaymentRequestId": "<string>",
"merchantId": "<string>",
"merchantOrderId": "<string>",
"lifeCycle": "<string>",
"relevantChargebackId": "<string>",
"chargebackStatus": "<string>",
"amount": "<string>",
"currency": "<string>",
"feeAmount": "<string>",
"feeCurrency": "<string>",
"reasonCode": "<string>",
"reason": "<string>",
"description": "<string>",
"chargebackDateTime": "<string>",
"expiryDateTime": "<string>",
"merchantUserId": "<string>",
"subscriptionInfo": {
"subscriptionId": "<string>",
"period": "<string>",
"merchantRequest": "<string>",
"subscriptionRequest": "<string>"
},
"message": {
"messageId": "<string>",
"notes": "<string>",
"documents": "1766043193910/receipt.pdf,1766043201234/tracking.png"
},
"evidence": {}
}
}Body
Chargeback accept request. The amount and fee were already debited when the chargeback was created, so accepting does not trigger a further debit — the case is closed, the merchant is not refunded, and the status becomes ACCEPTED. This action is irreversible — once accepted, no further evidence can be submitted to contest the case. Only callable when the status is ACTION_REQUIRED or SECOND_CYCLE_RESPONSE_REQUIRED. After a successful call Waffo also pushes an ACCEPTED notification to the configured chargeback notify URL.
Response
OK
response data
0
"success"
Chargeback detail response. Returned by the chargeback inquiry / update / accept APIs, and used as the result object of the CHARGEBACK_NOTIFICATION webhook. It extends the chargeback list item with the message and evidence objects, which the list API does not return.
Show child attributes
Show child attributes
Was this page helpful?