How It Works
After PSP payment approval on eligible push-based APMs (PayNow, PIX, UPI, Promptpay), Tazapay runs a name match check comparing the name the buyer provided at checkout against the name returned by the PSP.
When the result is
NO_MATCH, Tazapay:
- Sets the payment attempt and payin status to
reversed(terminal state) - Automatically creates and submits a full refund to the PSP
- Sends email notifications to the buyer (and optionally the merchant)
- Fires a
payment_attempt.reversedwebhook event
Eligibility
The name match check only runs when all of the following are true:- The payment method is a push-based APM in Tazapay’s risk-check allowlist
- The PSP returns a
payer_namein its success callback - The merchant has Name Match Check enabled (configured via Tazapay Ops dashboard)
- The customer’s total payin volume over the trailing 30 days exceeds the configured threshold (default: 0 USD, meaning every eligible transaction is checked)
Refund Details
The reversal refund is created with the following properties:- The refund is always for the full transaction amount
- Tazapay bears both the payin processing fee and the refund processing fee — no fees are charged to the merchant or the buyer
- The net merchant balance impact is zero
Balance Impact
Funds flow through the merchant balance even for reversed transactions to maintain ledger consistency:- Payin credit — merchant balance is credited (same as
succeeded) - Refund debit — full amount is immediately debited back via the system refund
Webhook Events
The
refund.id is only available in the refund.created webhook payload. It is not included in the payment_attempt.reversed payload or the Get Payin response. Enable refund.created and capture the refund ID from that event if you need to track refund status via GET /v3/refund/{refund_id}.
API Changes
TheGET /v3/payin/{id} response includes two new fields for reversed payins:
Notifications
The buyer receives an email notifying them that their payment was reversed and a full refund has been initiated.