Chargeback Recovery Evidence API Overview
With Forter's Chargeback Recovery Evidence API, you can automate the evidence upload workflow for chargeback representment by sending post-order evidence to complete representments. Post order evidence can also be provided through the Forter Portal.
Authentication
The Evidence API will adopt the standard authentication parameters as described in the Forter API Reference Overview - Security and Authentication
Integration Guide
Step 1: Upload Evidence Files to s3 Bucket
You can make post-order evidence available to Forter by uploading file-based evidence securely via File Account Transfer to S3. evidenceTypes that support JSON evidenceFormat may be provided directly via API. For details on evidenceFormat for each evidenceType refer to the Chargeback Recovery Evidence Glossary
Forter will match evidence to claims that are in first cycle and open. Evidence for claims in other statuses (e.g., expired, won, lost, etc.) will not be matched nor added to the claim.
Step 2: Send Request to Evidence API
Send a request to the Evidence API with the parameters included in the API Reference. Your request provides Forter with the path to the evidence file that was uploaded to S3.
Step 3: Receive the Response
Forter will return a response of success or failure. A successful response will include the evidenceId of the created document. A failure response will include error messages.
API Reference
Forter exposes API, /v2/dispute-evidence with the following parameters.
Field Name | Description | Format | Example |
---|---|---|---|
evidencePath | Path to s3 file. | String | dispute-evidence/4343334321.pdf |
evidenceFormat | The format of the document. | Enum | PDF, JPEG, JPG, PNG, JSON |
evidenceType | The type of the evidence. | Enum | PROOF_OF_REFUND |
caseNumber | Case ID the payment processor assigns to each claim. | String | CB-43433343219 |
chargeID | The unique identifier associated with the charge. | String | 0073000000000096401767 |
orderID | The id of of the order that the evidence is linked to. | String | O6996685178152213554 |
Matching Evidence to Claims
To add evidence to the appropriate representment, each evidence needs to be associated to its corresponding claim. Depending on your internal system setup for each evidenceType (e.g., proof of refund, proof of delivery, etc.), the evidence may be associated to one or more of the following unique identifiers specified in the API reference. Forter requires at least one of the identifiers to match the evidence to the claim. The identifier must meet the following conditions:
Field Name | Condition |
---|---|
caseNumber | No condition. Forter can directly match evidence to the claim |
chargeID | chargeID must be provided to Forter as part of the Chargeback Recovery Integration |
orderID | orderID must be provided to Forter as part of the Fraud Management Integration |
Note If you are planning on using orderID and your orders can result in more than one charge (e.g., multiple charges for multiple shipments under one order, or multiple airfare charges under one reservation), Forter may append multiple evidence files to a claim.
Limitations and Validations:
- Bulk upload requests may be throttled
POST evidence example curl command:
curl --location --request POST 'https://{forterBaseUrl}:8443/v2/dispute-evidence' \
--header 'api-version: 2.1' \
--header 'x-forter-siteid: forterSiteId' \
--header 'Content-Type: application/json' \
--data-raw '{
"evidencePath" : "s3://example-of-file/example-16451.pdf",
"evidenceFormat" : "PDF",
"evidenceType" : "PROOF_OF_DELIVERY",
"caseNumber" : "CB-43433343219",
"chargeId" : "0073000000000096401767",
"orderId" : "O6996685178152213554"
}'
POST evidence example (Node.js - Axios):
var axios = require('axios');
var data = JSON.stringify({
"evidencePath": "s3://example-of-file/example-16451.pdf",
"evidenceFormat": "PDF",
"evidenceType": "PROOF_OF_DELIVERY",
"caseNumber": "CB-43433343219",
"chargeId": "0073000000000096401767",
"orderId": "O6996685178152213554"
});
var config = {
method: 'post',
url: 'https://{forterBaseUrl}/v2/dispute-evidence,
headers: {
'api-version': '2.1',
'x-forter-siteid': 'forterSiteId',
'Content-Type': 'application/json'
},
data : data
};
axios(config)
.then(function (response) {
console.log(JSON.stringify(response.data));
})
.catch(function (error) {
console.log(error);
});
A successful response will look like this:
{
"status": "success",
"evidenceId": "<id_of_the_created_document>",
}
A failure response will look like:
{
"status": "failure",
"errors": "error_messages",
}
Updated 4 months ago