# Report an Event for a Payment Evaluation Associate a payment’s post-transaction events, such as refunds and disputes, or pre-transaction events, such as user interventions, with the payment evaluation. ## Returns Returns the payment evaluation object. ## Parameters - `events` (array of objects, required) Event information to associate with the payment evaluation such as refunds, dispute, early fraud warnings, or user interventions. - `events.occurred_at` (timestamp, required) Timestamp when the event occurred. - `events.type` (enum, required) Indicates the type of event attached to the payment evaluation. Possible enum values: - `dispute_opened` Event type for when a dispute is opened. - `early_fraud_warning_received` Event type for when an early fraud warning is received. - `refunded` Event type for when a payment is refunded. - `user_intervention_raised` Event type for when a user intervention is raised. - `user_intervention_resolved` Event type for when a user intervention is resolved. - `events.dispute_opened` (object, optional) Details about the dispute opened event. - `events.dispute_opened.amount` (integer, required) Amount to dispute for this payment. A positive integer representing how much to charge in [the smallest currency unit](https://docs.stripe.com/currencies.md#zero-decimal) (for example, 100 cents to charge 1.00 USD or 100 to charge 100 Yen, a zero-decimal currency). - `events.dispute_opened.currency` (enum, required) Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). - `events.dispute_opened.reason` (enum, required) Reason given by cardholder for dispute. Possible enum values: - `account_not_available` The account isn’t available. - `credit_not_processed` The cardholder claims they should have received a refund or credit but haven’t. - `customer_initiated` The cardholder disputed the transaction. - `duplicate` The cardholder claims they were incorrectly charged multiple times for the same products or services. - `fraudulent` The cardholder claims that a payment was unauthorized and that they didn’t initiate it or give permission for it to happen. - `general` The reason doesn’t match any of the other dispute reasons. - `noncompliant` The transaction is noncompliant. - `product_not_received` The cardholder claims they didn’t receive the products or services they purchased. - `product_unacceptable` The cardholder claims a product they received is defective, damaged, or not as described. This includes issues with the product itself or how it was represented on the seller’s site. - `subscription_canceled` The cardholder claims that a business continued to charge them after their subscription was canceled. - `unrecognized` The cardholder doesn’t recognize the transaction. - `events.early_fraud_warning_received` (object, optional) Details about the early fraud warning received event. - `events.early_fraud_warning_received.fraud_type` (enum, required) The type of fraud labeled by the issuer. Possible enum values: - `made_with_lost_card` The payment might be fraudulent because the card was reported lost. - `made_with_stolen_card` The payment might be fraudulent because the card was reported stolen. - `other` The reason doesn’t match any of the other reasons. - `unauthorized_use_of_card` The payment might be fraudulent because the card was used without the cardholder’s permission. - `events.refunded` (object, optional) Details about the refunded event. - `events.refunded.amount` (integer, required) Amount refunded for this payment. A positive integer representing how much to charge in [the smallest currency unit](https://docs.stripe.com/currencies.md#zero-decimal) (for example, 100 cents to charge 1.00 USD or 100 to charge 100 Yen, a zero-decimal currency). - `events.refunded.currency` (enum, required) Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). - `events.refunded.reason` (enum, required) Indicates the reason for the refund. Possible enum values: - `duplicate` The merchant has indicated the refund is because of a duplicate payment. - `fraudulent` The merchant has indicated the refund is because of fraud. - `other` The reason doesn’t match any of the other refund reasons. - `requested_by_customer` The merchant has indicated the refund was requested by the customer. - `events.user_intervention_raised` (object, optional) Details about the user intervention raised event. - `events.user_intervention_raised.type` (enum, required) Type of user intervention raised. Possible enum values: - `3ds` 3DS Authentication - `captcha` CAPTCHA Security Test - `custom` Custom Intervention - `events.user_intervention_raised.custom` (object, optional) Details for custom interventions. - `events.user_intervention_raised.custom.type` (string, required) Custom type of user intervention raised. The string must use a snake case description for the type of intervention performed. - `events.user_intervention_resolved` (object, optional) Details about the user intervention resolved event. - `events.user_intervention_resolved.key` (string, required) Unique ID of the intervention. - `events.user_intervention_resolved.outcome` (enum, required) Result of the intervention. Possible enum values: - `abandoned` The customer abandoned the user intervention. - `failed` The customer failed the user intervention. - `passed` The customer passed the user intervention. - `payment_evaluation` (string, required) Unique identifier for the payment evaluation to attach the events to. - `metadata` (object, optional) Set of [key-value pairs](https://docs.stripe.com/docs/api/metadata.md) that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`. ```curl curl https://api.stripe.com/v1/payment_evaluations/peval_123456789/report_events \ -u "<>" \ -H "Stripe-Version: 2026-01-28.preview; payment_evaluations_beta=v1" \ -d "events[0][occurred_at]"=123456789 \ -d "events[0][type]"=user_intervention_raised \ -d "events[0][user_intervention_raised][type]"=captcha ``` ### Response ```json { "id": "peval_123456789", "object": "payment_evaluation", "created_at": 123456789, "events": [ { "occurred_at": 123456789, "type": "user_intervention_raised", "user_intervention_raised": { "key": "1234567-12345567-123445677", "type": "captcha" } } ], "livemode": true, "metadata": {}, "status": "pending_outcome" } ```