# Consumer Credit Issuing webhook events

Understand webhook events sent during a Consumer Credit Issuing integration.

Use webhook events and `GET` calls to understand changes that occur to API objects in your Consumer Credit Issuing integration.

## Connected account

| Event | Description |
| --- | --- |
| Account created or KYC updated | `/v1/accounts` is synchronous. Rely on the API response directly. |
| [`account.updated`](https://docs.stripe.com/api/events/types.md#event_types-account.updated) | Stripe deactivates the `card_issuing_consumer_revolving_credit_card_celtic` capability if it detects abnormal activity on the account, such as fraud. |
| [`issuing.credit_underwriting_record.updated`](https://docs.stripe.com/api/events/types.md#event_types-issuing.credit_underwriting_record.updated) | Sent for any updates to credit underwriting records, including regulatory changes, credit limit increases, rejected applications, and completion of underwriting. |
| [`issuing_credit_policy.created`](https://docs.stripe.com/api/events/types.md#event_types-issuing_credit_policy.created) | Sent when a credit policy is created for the connected account. |
| [`issuing_credit_policy.updated`](https://docs.stripe.com/api/events/types.md#event_types-issuing_credit_policy.updated) | Sent when a credit policy’s APR, credit limit, or status changes (for example, suspended for nonpayment or closed). |

Example `account.updated` payload for a capability change:

```json
{
  "object": {
    "id": "acct_123",
    "object": "account",
    "capabilities": {
      "card_issuing_consumer_revolving_credit_card_celtic": "inactive"
    }
  }
}
```

Example `issuing_credit_policy.updated` payload for a status change:

```json
{
  "id": "icpo_123",
  "object": "issuing.credit_policy",
  "credit_limit_amount": 1000,
  "credit_limit_currency": "usd",
  "credit_period_ends_on_days": [28],
  "credit_period_interval": "month",
  "credit_period_interval_count": 1,
  "days_until_due": 25,
  "livemode": false,
  "status": "suspended",
  "status_reasons": {
    "platform_controlled": [
      {
        "from_credit_underwriting_record": "cur_123",
        "type": "suspected_fraud_pending_investigation"
      }
    ],
    "stripe_controlled": []
  },
  "type": "revolving",
  "upcoming_attributes": null
}
```

## Card

| Event | Description |
| --- | --- |
| [`issuing_cardholder.created`](https://docs.stripe.com/api/events/types.md#event_types-issuing_cardholder.created) | Sent when a cardholder is created. |
| [`issuing_card.created`](https://docs.stripe.com/api/events/types.md#event_types-issuing_card.created) | Sent when a card is issued. |
| [`issuing_card.updated`](https://docs.stripe.com/api/events/types.md#event_types-issuing_card.updated) | Sent when a card’s status changes, including updates to shipping status and tracking information. |

When a card is reported lost or stolen, the behavior depends on who initiates the replacement:

- If the consumer requests a new card through your platform, cancel the existing card and create a new card object. See [Replace a card](https://docs.stripe.com/issuing/cards/replacements.md#replacements-for-lost-or-stolen-cards).
- If the consumer contacts Stripe support directly, Stripe handles the API calls. In both cases, `issuing_card.updated` and `issuing_card.created` are triggered.

## Funding obligation

The platform account sends funding obligation webhooks because they relate to the platform’s obligations to Stripe for the issuing program.

| Event | Description |
| --- | --- |
| [`issuing_funding_obligation.created`](https://docs.stripe.com/api/events/types.md#event_types-issuing_funding_obligation.created) | Sent when a new funding obligation is created. |
| [`issuing_funding_obligation.updated`](https://docs.stripe.com/api/events/types.md#event_types-issuing_funding_obligation.updated) | Sent each day when a funding obligation is updated. When the status transitions to `unpaid`, the obligation amount is finalized and ready for repayment. |

## Payment method

| Event | Description |
| --- | --- |
| [`setup_intent.created`](https://docs.stripe.com/api/events/types.md#event_types-setup_intent.created) | Sent when a SetupIntent is created. |
| [`setup_intent.succeeded`](https://docs.stripe.com/api/events/types.md#event_types-setup_intent.succeeded) | Sent when a SetupIntent succeeds. |
| [`setup_intent.setup_failed`](https://docs.stripe.com/api/events/types.md#event_types-setup_intent.setup_failed) | Sent when a SetupIntent fails. |

## Credit repayment

| Event | Description |
| --- | --- |
| [`issuing.credit_repayment.created`](https://docs.stripe.com/api/events/types.md#event_types-issuing.credit_repayment.created) | Sent when a repayment is created. |
| [`issuing.credit_repayment.processing`](https://docs.stripe.com/api/events/types.md#event_types-issuing.credit_repayment.processing) | Sent when the ACH debit is initiated. |
| [`issuing.credit_repayment.succeeded`](https://docs.stripe.com/api/events/types.md#event_types-issuing.credit_repayment.succeeded) | Sent when the ACH debit settles successfully. |
| [`issuing.credit_repayment.failed`](https://docs.stripe.com/api/events/types.md#event_types-issuing.credit_repayment.failed) | Sent when the ACH debit fails, including bank-initiated ACH returns. Retrieve additional failure details through the [Payment Records API](https://docs.stripe.com/api/payment-record.md). |
| [`issuing.credit_repayment.canceled`](https://docs.stripe.com/api/events/types.md#event_types-issuing.credit_repayment.canceled) | Sent when a repayment is canceled. |
| [`issuing.credit_repayment_schedule.created`](https://docs.stripe.com/api/events/types.md#event_types-issuing.credit_repayment_schedule.created) | Sent when a repayment schedule is created. |
| [`issuing.credit_repayment_schedule.updated`](https://docs.stripe.com/api/events/types.md#event_types-issuing.credit_repayment_schedule.updated) | Sent when a repayment schedule is updated, including when the next repayment date is set. |

## Transaction

| Event | Description |
| --- | --- |
| [`issuing_authorization.created`](https://docs.stripe.com/api/events/types.md#event_types-issuing_authorization.created) | Sent when an authorization is created. A declined authorization also triggers this event with `approved: false`. |
| [`issuing_authorization.updated`](https://docs.stripe.com/api/events/types.md#event_types-issuing_authorization.updated) | Sent when an authorization is updated. |
| [`issuing_authorization.request`](https://docs.stripe.com/api/events/types.md#event_types-issuing_authorization.request) | Real-time webhook sent when an authorization requires approval. See [Real-time authorizations](https://docs.stripe.com/issuing/controls/real-time-authorizations.md). |
| [`issuing_transaction.created`](https://docs.stripe.com/api/events/types.md#event_types-issuing_transaction.created) | Sent when a transaction settles, driven by the clearing file or capture of the authorization. |

## Dispute

The `issuing.dispute` object represents the dispute state machine but doesn’t represent money movements. To track the money movement of disputes, use `credit_ledger_entries`.

| Event | Description |
| --- | --- |
| [`issuing_dispute.created`](https://docs.stripe.com/api/events/types.md#event_types-issuing_dispute.created) | Sent when a dispute is submitted through the Stripe API or Dashboard. |
| [`issuing_dispute.updated`](https://docs.stripe.com/api/events/types.md#event_types-issuing_dispute.updated) | Sent when a dispute is updated. |
| [`issuing_dispute.closed`](https://docs.stripe.com/api/events/types.md#event_types-issuing_dispute.closed) | Sent when a dispute is resolved or withdrawn. |

## Credit statement

| Event | Description |
| --- | --- |
| [`issuing_credit_statement.created`](https://docs.stripe.com/api/events/types.md#event_types-issuing_credit_statement.created) | Sent at the beginning of each billing cycle, representing the opening of the statement period for the consumer. |
| [`issuing_credit_statement.finalized`](https://docs.stripe.com/api/events/types.md#event_types-issuing_credit_statement.finalized) | Sent at the end of the billing cycle when the statement is finalized. The event object includes a `statement_pdf` URL. Also sent when the statement becomes past due. |

## Finance charges

| Event | Description |
| --- | --- |
| [`issuing.credit_ledger_finance_charge.created`](https://docs.stripe.com/api/events/types.md#event_types-issuing.credit_ledger_finance_charge.created) | Sent when a finance charge is applied to a consumer’s credit account. |

## Balance category

| Event | Description |
| --- | --- |
| `issuing.credit_balance_category.created` | Sent when a balance category is created for a consumer’s credit policy, typically at credit policy activation time. |
| `issuing.credit_balance_category.updated` | Sent when a balance category is updated. Listen to this event to detect prime rate changes. |
