import type * as Whop from "../index.js"; export interface DisputeAlert { /** The account the alerted payment belongs to, prefixed `biz_`. `null` while the alert is unmatched. */ account_id: string | null; /** The alerted amount, in whole units of `currency`. This is what the issuer reported, which can differ from the payment's own amount. */ amount: number; /** Whether Whop automatically refunded the alerted payment. Reflects the payment, so it can be `true` for a refund issued by another flow (RDR, resolution) on the same payment. */ auto_refunded: boolean; /** The card network as reported by the issuer, lowercased, such as `visa` or `mastercard`. `unknown` when the report carries neither a network nor a recognizable BIN. */ card_brand: string | null; /** When Whop received the alert, as an ISO 8601 timestamp. */ created_at: string; /** Three-letter ISO currency code of the alerted amount. */ currency: string; /** The alert fee charged to the account, in the currency it was collected in. `null` when `fee_charged` is false. */ fee: Whop.Money | null; /** Whether Whop charged the account an alert fee for this one. Always `false` for `early_fraud_warning`, which Whop is not billed for and never passes on. */ fee_charged: boolean; /** Dispute alert ID, prefixed `dspa_`. */ id: string; /** * Deprecated: always `null` outside Whop's own dashboard. Name of the bank that issued the card and filed the report. * DEPRECATED: Always null outside Whop's own dashboard. */ issuer: string | null; /** The payment the issuer reported, prefixed `pay_`. `null` when Whop could not match the report to a payment. */ payment_id: string | null; /** The product the alerted payment was for, prefixed `prod_`. */ product_id: string | null; /** When the issuer filed the report, as an ISO 8601 timestamp. Earlier than `created_at`, which is when Whop received it. */ reported_at: string; /** The network program that sent the alert, which `type` alone doesn't tell apart. `ethoca` for Mastercard Ethoca, `cdrn` for Visa Verifi CDRN, `rdr` for Visa RDR, `tc40` / `safe` for a Visa / Mastercard fraud report, `paypal` for a PayPal alert. `null` when the network didn't say. */ source: DisputeAlert.Source | null; /** When the reported transaction was made, as an ISO 8601 timestamp — falls back to when the matched payment was made if the issuer's own report didn't carry one. Should not be `null` in practice; treat one as a data issue rather than expected behavior. */ transaction_at: string | null; /** What the issuer sent. `early_fraud_warning` is a fraud report on a settled payment (Visa TC40 / Mastercard SAFE) — refunding still avoids the chargeback, and Whop never charges a fee for one. `dispute_alert` is a pre-dispute notice from the issuer's alert network, which Whop pays for and passes on as a fee. `rapid_dispute_resolution` is a Visa RDR case the network already closed by refunding the payment — nothing is left to act on. */ type: DisputeAlert.Type; /** When the alert was last changed, as an ISO 8601 timestamp. */ updated_at: string; } export declare namespace DisputeAlert { /** The network program that sent the alert, which `type` alone doesn't tell apart. `ethoca` for Mastercard Ethoca, `cdrn` for Visa Verifi CDRN, `rdr` for Visa RDR, `tc40` / `safe` for a Visa / Mastercard fraud report, `paypal` for a PayPal alert. `null` when the network didn't say. */ const Source: { readonly Ethoca: "ethoca"; readonly Cdrn: "cdrn"; readonly Rdr: "rdr"; readonly Tc40: "tc40"; readonly Safe: "safe"; readonly Paypal: "paypal"; }; type Source = (typeof Source)[keyof typeof Source]; /** What the issuer sent. `early_fraud_warning` is a fraud report on a settled payment (Visa TC40 / Mastercard SAFE) — refunding still avoids the chargeback, and Whop never charges a fee for one. `dispute_alert` is a pre-dispute notice from the issuer's alert network, which Whop pays for and passes on as a fee. `rapid_dispute_resolution` is a Visa RDR case the network already closed by refunding the payment — nothing is left to act on. */ const Type: { readonly EarlyFraudWarning: "early_fraud_warning"; readonly DisputeAlert: "dispute_alert"; readonly RapidDisputeResolution: "rapid_dispute_resolution"; }; type Type = (typeof Type)[keyof typeof Type]; }