Skip to main content

What is a chargeback?

A chargeback (often called a dispute) occurs when a cardholder contacts their bank to reverse a charge. The bank pulls the funds back from your merchant account while the claim is investigated. Chargebacks are a normal part of card processing. The key is keeping your rate low and responding quickly when one comes in.

Seeing chargebacks in the dashboard

In the Dime Payments dashboard, chargebacks appear under Reports > Chargebacks & returns.
This screen is a read-only report. It shows the chargebacks filed against your account and their current representment state. Evidence is not uploaded here. To send evidence, see Responding to a chargeback.
Each row exposes these fields:

Chargebacks via API

The same data is available from the API: Each chargeback includes the fields above plus the amounts, card brand and last four, the original transaction’s parent_transaction_info_id, a readable chargeback_response_code (for example, “Other fraud - Card Absent Environment”), and a resolved flag.
Chargeback data arrives from the processor in a once-daily file, so these endpoints reflect the latest daily import, not live activity. Use webhooks to learn that something changed, and the API to reconcile or backfill.

Responding to a chargeback

Representment is rep-assisted, and the process is set out in your merchant agreement. You send the evidence, and the Dime Payments team reviews it and files it with the processor. There is no way, in the dashboard or the API, to file a representment with the processor directly. When you want to contest a chargeback:
  1. Send your documentation, either by emailing help@dimepayments.com or by uploading it through the API (see Uploading evidence via API). Per the merchant agreement, you must provide all pertinent and requested information in writing. Failure to provide the necessary information can result in the representment being denied.
  2. Include your supporting evidence, such as:
    • A signed receipt or authorization record
    • Proof of delivery or service completion
    • Customer communication confirming the purchase
    • Any refund policy the customer agreed to
  3. Watch the clock. The days_to_represent value on the chargeback report is your window. Once it closes, the case can no longer be contested, so reach out as soon as a chargeback lands rather than waiting.
Your Dime Payments team handles the submission to the processor from there. You track the outcome through the representment_status and result fields on the Chargebacks & returns report.
The chargeback alert emails you receive both point to the same channel: help@dimepayments.com. There is no in-app button to start a representment.

Uploading evidence via API

Upload Documents sends files to the Dime Payments team for a merchant. To attach evidence to a dispute:
  • Set doc_type to RetrievalRequest
  • Set chargeback_transaction_info_id to the chargeback’s transaction_info_id
The key needs document:create to upload and document:read to list. Both are available on merchant tokens and affiliate keys. You can send up to 10 files per request, each 9 MB or smaller, as PDF, JPG, PNG, DOC, DOCX, or RTF.
This is the only endpoint in the API that uses multipart/form-data instead of JSON. Name the fields with brackets (data[sid], data[doc_type]) and the files files[]. A single field named data containing JSON isn’t parsed, so the merchant is never identified and the request fails with 403 You do not have access to this company. That looks like a credentials problem, but it isn’t. Check your field names first.
Uploading doesn’t send anything to the processor. The files land in the merchant’s document list and our team is notified to review and forward them. Use List Documents to confirm what we’ve received. If one file fails, the rest are still kept, and the response lists what didn’t store under failed so you can resend only those. If you get a 413, the request was too large overall, so send fewer files per request rather than retrying the same batch. The same endpoint handles other paperwork too. Use Verification, FraudHolds, or Underwriting as the doc_type for identity verification, fraud holds, or underwriting requests.

Getting notified

Subscribe to the Chargebacks webhook events to hear about chargebacks without checking the report:
  • Chargeback Opened when a new chargeback is filed
  • Chargeback Updated when one changes
  • Chargeback Resolved when one is decided
The Risk Retrievals events (Opened, Updated, Resolved) work the same way for retrieval requests, where the card issuer asks for documentation about a transaction. Answer those the same way you contest a chargeback, with doc_type set to RetrievalRequest. See Webhooks to set them up. The older Credit Card Chargeback event still fires for existing subscriptions, but it only covers a chargeback being filed. To check outcomes, look at the result and resolved fields on the Chargebacks & returns report or the chargeback endpoints. Webhook deliveries can’t be replayed, so if you miss one, reconcile with List Chargebacks.

Reducing chargebacks

  • Use clear billing descriptors — make sure your business name on card statements is recognizable
  • Respond to customer complaints quickly — a refund is almost always cheaper than a chargeback
  • Use AVS and CVV verification on card-not-present transactions
  • Send receipts — an email confirmation reduces “I don’t recognize this charge” claims
  • Honor refund requests promptly — a customer who cannot get a refund will call their bank instead

Next steps

  • Webhooks — get notified when a chargeback is filed
  • Payouts — understand how funds move and settle
  • API Reference — full endpoint documentation