customer/v2/dispute
[POST] customer/v2/dispute
Create a dispute
The V2 Dispute endpoint introduces a new required field disputeAmount
with value string. The new endpoint also incorporates automation with the compliance monitoring system so that disputes can be researched, worked, and adjudicated with updates reflected back in Avenu when an adjustment is needed.
Customers can dispute a transaction utilizing the create dispute endpoint. This is used for fraudulent and/or unauthorized charges that may appear on the customer's ledger. Creating a dispute does not guarantee a resolution in the customer's favor. The status will be pending until the dispute case is handled in the compliance monitoring system by administration. As updates to the dispute are made within the compliance monitoring system, real time notifications will be sent via webhook.
Please note: Customers cannot dispute a debit transfer. The acceptable payments types which can be disputed in Avenu are:
- ACH
- AVENU (Intra client payments from one customer to another customer)
- ACH_TRANSFER (transfers to the REMITTANCE and/or OPERATING account(s) via the transfer endpoint)
Only one dispute can be created per original transaction. Additionally, a transaction must be in SETTLED state for a dispute to be possible.
deviceIdentity
is optional, but it is passed to our vendor for help with compliance case management (refunds, fraud, etc.).
Example [POST] Request
{{avenu_base_url}}/customer/v2/dispute
{
"transactionID": "",
"disputeReason": "",
"disputeAmount": "",
"disputeType": "",
"declarationAcknowledged": true,
"deviceIdentity": {
"deviceId": "",
"deviceType": "",
"deviceName": "",
"deviceOperatingSystem": "",
"deviceIPAddress": "",
"deviceLocation": "",
"deviceLongitude": "",
"deviceLatitude": "",
"deviceUser": "",
"deviceIMEINumber" : "",
"deviceTorEnabled" : "",
"deviceFirstSeen" : "",
"deviceLastSeen" : ""
}
}
Input Parameters
Parameter | Format | Required | Details |
---|---|---|---|
"transactionID" | String | Y | The transaction ID to dispute. |
"disputeReason" | String | N | The reason for the dispute (free text). |
"disputeAmount" | String | Y | The amount being disputed, must be less than or equal to the original transaction amount. |
"disputeType" | String | N | The type of the dispute - See table below |
"declarationAcknowledged" | Boolean | Y | This value must always be "true" - otherwise, return Error Code 1001. |
"deviceId" | String | N | The user's unique device identifier. |
"deviceType" | String | N | The type of the user's device |
"deviceName" | String | N | The name given to the user's device. |
"deviceOperatingSystem" | String | N | The OS of the user's device. |
"deviceIPAddress" | String | N | Current IP Address for the device. |
"deviceLocation" | String | N | Current location for the device. |
"deviceLongitude" | String | N | Device's location longitude. |
"deviceLatitude" | String | N | Device's location latitude. |
"deviceUser" | String | N | The name of the user of the device. |
"deviceIMEINumber" | String | N | Mobile device unique equipment identifier. |
"deviceTorEnabled" | Boolean | N | Device is/is not using Tor browser. |
"deviceFirstSeen" | String; ISO 8601 yyyy-mm-dd | N | Date/Time the device was first used to access Avenu. |
"deviceLastSeen" | String; ISO 8601 yyyy-mm-dd | N | Date/Time the device was last used to access Avenu. |
Dispute Type ENUM
ENUM Value | Description |
---|---|
UNAUTHORIZED | Unauthorized Transaction |
MERCHANT_DISPUTE | Merchant Dispute |
INCORRECT_AMOUNT | Incorrect amount sent to or from customer's account |
TRANSACTION_OMITTED | Transaction omitted from statement |
BOOKKEEPING_ERROR | Bookkeeping error relating to a transaction |
INCORRECT_AMOUNT_AT_ATM | Receipt of incorrect amount of money at an ATM |
TRANSACTION_NOT_DEFINED | Transaction not properly identified |
CLARIFICATION_REQUEST | Customer clarification request |
Example Response
{
"disputeID": "",
"dateCreated": "",
"status": ""
}
Response Elements
Element | Details |
---|---|
disputeID | Unique ID to track this dispute case |
dateCreated | Dispute created date/time |
status | Dispute status |
Error Codes
Type | Code | Message |
---|---|---|
Format | AE3001 | : Invalid Format |
Required | AE3000 | : Missing Required Field |
Amount | AE3003 | : Invalid Amount |
Data | AE3002 | : Invalid Data |
Duplicate | AE3004 | : Duplicate Dispute for Transaction |
Get updates on dispute status via webhook
As updates to the dispute are made within the compliance monitoring system, real time notifications will be sent via webhook. Learn more about dispute status webhook notifications.
[GET] customer/v2/dispute
Get dispute status
The current status of a dispute can be retrieved by passing the unique disputeID
as a parameter to the V2 dispute endpoint.
Example [GET] request
{{avenu_base_url}}/customer/v2/dispute/{{disputeID}}
Example [GET] response
{
"disputeId": "",
"disputeStatus": "CREATED",
"dateUpdated": "",
"customerAccountNumber": "",
"transactionId": "",
"amount": 123,
"currencyType": "USD",
"disputeReason": "",
"disputeType": "UNAUTHORIZED",
"disputeResolution": "Dispute has been created in the Compliance Monitoring System - pending review",
"memo": ""
}
Dispute statuses
Status | Description |
---|---|
RECEIVED | The dispute has been received in Avenu |
CREATED | The dispute has been created in the compliance management system |
PROVISION_CREDIT | The dispute is NOT finalized but a provisional credit has been applied |
COMPLETED | The dispute is finalized. Could result in ERROR_OCCURRED or NO_ERROR_OCCURRED |
Updated about 1 month ago