Skip to content

Card Disputes

A stablecoin payment cannot be charged back. A card payment can. A customer who does not recognise a charge, or is unhappy with it, can ask their bank to reverse it. The bank then opens a dispute (a chargeback) with Stripe, and Stripe takes the disputed amount from your Stripe balance until the dispute is decided.

Plirin tells you when this happens, keeps the invoice’s books honest while it is open, and settles the books when it is decided. You respond to the dispute in Stripe, not in Plirin.

When a customer disputes a card payment, Plirin emails you, once per dispute, with:

  • the invoice number and the disputed amount,
  • the deadline to respond, in your own timezone,
  • a link to the payment in your Stripe dashboard, where you answer it.

The same warning shows on the invoice: a banner with the amount, the deadline, Stripe’s dispute fee when Stripe reports one, and a Respond in Stripe button. Test-mode payments link to the Stripe test dashboard.

Treat the deadline as the date by which your evidence must be in Stripe. Plirin shows it, but Stripe decides what happens if it passes.

Sometimes the customer’s bank only asks about a payment first. That is an inquiry, not a chargeback yet: no money has been taken. Plirin emails you in different words (“has an inquiry”), and the banner is amber. Answering it, or refunding the payment, usually ends it. If an inquiry becomes a real dispute, you are emailed again.

An inquiry that closes without becoming a chargeback ends quietly: nothing changes on the invoice and the banner goes away.

  • The invoice stays paid. Stripe holds the disputed amount, but nothing is decided yet, so Plirin does not move any invoice money.
  • You respond in Stripe. Open the payment from the email or the banner, and submit your evidence there. Plirin does not take evidence itself.
  • Refunds are blocked. A card payment with a dispute that needs a response, a dispute under review, or a lost dispute cannot be refunded, in the dashboard or the API. Stripe refuses to refund a charged-back payment, and a refund on top of a dispute could return the money twice. The refund window shows the payment as “Under dispute”, and the API marks it disputed: true. A refund that was already waiting for approval is refused when you try to approve it.
  • An inquiry does not block a refund. Refunding the payment is the usual way to close an inquiry. A payment is also refundable again once a dispute is won.

Stripe returns the disputed amount to your balance. Nothing changes on the invoice: it stayed paid throughout. The payment is refundable again. Plirin emails you once that you won, sends the payment.dispute_closed webhook with outcome won, and records the result in the audit log.

The customer keeps the money, so the invoice must show it. Plirin creates a chargeback credit note for the disputed amount and settles it at once. It is split across the invoice’s lines and VAT like any other automatic credit note, and it appears in the invoice’s payment history.

  • The invoice reads paid, settled by that credit note. The books stay whole: the invoice is not reopened, and the credit note records that the money went back to the customer.
  • If the invoice was only part paid by card, the credit note is for the disputed part, so the invoice still owes what it owed before the dispute, as it would after a refund of the same amount.
  • If the card payment was an overpayment, only the part that was invoice value is credited. The excess was never invoice value.
  • The credit note is created once per dispute, however many times Stripe reports the result. The customer is not emailed it, because they are the one who disputed.
  • Plirin sends the payment.dispute_closed webhook with outcome lost and the credit_note_id, and credit_note.issued and credit_note.settled fire for the note.
  • Plirin emails you once that the dispute was lost, with the credit note’s number and what the invoice has left to pay. When the credit notes could not cover it, the email below says so instead, so you get one email, not two.

A lost dispute is final. Once Stripe has decided it, a later report to the contrary does not undo the credit note.

When the credit notes do not have the room

Section titled “When the credit notes do not have the room”

If you had already refunded the same payment, or drafted a credit note for the same money, there may be less left to credit than the dispute took. Plirin credits as much as the invoice still allows, keeps the invoice’s balance whole, and emails you what is left: how much was credited, how much was already credited before, and any unsettled credit notes that now add up to more than is left to credit. Void the draft, or reject the pending refund request, that describes the same money.

Dispute stateThe invoiceRefundsYou are emailed
InquiryPaid, amber bannerAllowedYes, once
Needs a response, or under reviewPaid, red banner with the deadlineBlockedYes, once (and again if an inquiry escalates)
WonPaid, no changeAllowed againYes, once
LostPaid, settled by the chargeback credit noteBlockedYes, once
Inquiry closedPaid, no bannerAllowedNo