fraud_prevention.mastercard_consumer_clarity.
Lookup channels
The channel that triggered the most recent lookup is recorded asmastercard_consumer_clarity.type.
| Channel | Trigger | Where the receipt appears |
|---|---|---|
DIGITAL | Cardholder taps “what’s this charge?” inside the issuer’s banking app | In-app, shown to the cardholder directly |
CALL_CENTRE | Cardholder calls the issuing bank about a charge | Bank agent’s screen during the call |
MASTERCOM | The charge is queried through Mastercom, Mastercard’s dispute case-management system | Internal—Mastercard’s dispute tooling |
TRANSACTION_DATA | Mastercard requests transaction data for the charge | Internal |
DIGITAL accounts for the large majority of lookups. The enum is open—Mastercard may add channels without a version bump, and unrecognized values pass through verbatim.
Subscription handling
A Consumer Clarity lookup is informational: it signals that a cardholder is checking a charge, not that a dispute has been filed. PayNext records the lookup on the payment but takes no automatic action on the subscription.This differs from Visa Order Insight, where an
OI (call-centre) lookup schedules the subscription for cancellation. Consumer Clarity lookups never change subscription state on their own.Setup
There is no integration work beyond keeping your Dashboard configuration current. The receipt PayNext serves is built from data you already provide.Required fields
| Source | Fields |
|---|---|
| Dashboard → Organization | Merchant name, URL, support email, support phone, product description, terms and conditions URL |
| Dashboard → Integrations → [Processor] | Merchant billing address |
Consumer Clarity enrolls by statement descriptor, not by CAID. Contact PayNext support to enroll; PayNext registers your descriptor with Mastercard end-to-end.
Captured automatically
Device data—IP address, geolocation, user agent—is captured by the Web SDK at checkout and is included in the receipt where available. No additional code is required.mastercard_consumer_clarity payload
Written every time Mastercard runs a Consumer Clarity lookup, regardless of channel. The latest lookup overwrites all three fields atomically.
| Field | Type | Description |
|---|---|---|
type | string | Channel of the most recent lookup. Open enum: DIGITAL, CALL_CENTRE, MASTERCOM, TRANSACTION_DATA. New values may be added without a version bump. |
insight_id | string | Identifier for the most recent lookup, assigned by Mastercard. A correlation ID, not a UUID—unlike visa_order_insight.insight_id. Transient—changes whenever a new lookup arrives. |
updated_at | string (ISO-8601) | Timestamp of the most recent lookup, UTC with Z suffix. |
This sub-object has no
status field. Mastercard never reports back what the cardholder did with the receipt, so there’s no terminal state to capture. Presence of mastercard_consumer_clarity means at least one lookup happened; type and updated_at describe the latest one.Read the payload
| Payload state | Meaning |
|---|---|
mastercard_consumer_clarity absent | No Consumer Clarity lookup has happened on this payment |
mastercard_consumer_clarity.type = "DIGITAL" | Cardholder looked up the charge inside their banking app |
mastercard_consumer_clarity.type = "CALL_CENTRE" | Cardholder called the issuer about the charge |
mastercard_consumer_clarity.type = "MASTERCOM" | The charge was queried through Mastercard’s dispute tooling |
Once
mastercard_consumer_clarity is written, it is never cleared. A later lookup overwrites type, insight_id, and updated_at—last-write-wins.Webhook events
Updates tomastercard_consumer_clarity are delivered on the payment.updated event. See Webhook event types and the Payment webhook object for the full schema.