Ran into this processing prepaid and gift cards on a checkout flow. A $50 authorization came back with response code 'partial approval' — issuer approved $32, declined the remaining $18. Our integration only checked approved/declined as a boolean, so it read this as a decline and told the customer to retry.
The $32 hold sat on their card for the full 7-day auth window before it dropped off, since nothing ever captured or voided it. Customer sees two blocks on their statement for one failed checkout, calls support, files a dispute.
Visa and Mastercard both support partial auth on prepaid/gift BINs specifically because balances run out mid-transaction. The response includes an amount field separate from the approved/declined flag, and the spec expects the merchant to either capture the partial amount and prompt for a second payment method for the remainder, or void it immediately if the flow can't handle split tender.
We added a check: if approved amount < requested amount, void within the same session instead of letting the hold ride out. Auth-related disputes on gift card transactions dropped by half the following month.
Anyone else building split-tender fallback for partial approvals, or does your stack just reject the BIN range entirely?
Top comments (0)