coupon.denied

A code is not applied.

CODE
next.on('coupon.denied', (data, event) => {});

Data

Present: always; optional when it may be missing; campaign once the campaign is loaded; priced once the server priced the cart.

FieldTypePresent
codestringalways
reason"no_discount" | "duplicate" | "check_failed"alwaysno_discount: it takes nothing off this cart. duplicate: it is already on the cart. check_failed: it could not be checked.
messagestringoptionalFor developers and logs, never for shoppers.

Example

The second argument, with data inside. See Events for the envelope's fields.

CODE
{
  "event_id": "3f2b8c1d9e7a4b6c8d5e2f1a0b9c8d7e",
  "event_type": "coupon.denied",
  "object": "coupon",
  "data": {
    "code": "NOPE",
    "reason": "no_discount"
  },
  "created_at": "2026-11-04T08:30:00.000Z",
  "session_id": "0b8f3c2d1e4a4f6b9c7d5e3f2a1b0c9d",
  "sdk_version": "0.5.0"
}