---
title: "Invoice Payment Succeeded Webhook"
source_url: https://docs.rapyd.net/en/invoice-payment-succeeded-webhook.html
lang: en
---

# Invoice Payment Succeeded Webhook

The **INVOICE_PAYMENT_SUCCEEDED** webhook is sent when Rapyd successfully completes accepting the payment for an invoice.

> **Note:**
>
> The endpoint for webhooks is unique for each client. To set up a webhook endpoint, see [Defining a Webhook Endpoint](https://docs.rapyd.net/en/defining-a-webhook-endpoint.md "Defining a Webhook Endpoint").

### Parameters

### Webhook Header Parameters

- - Content-Type
  - Indicates that the data appears in JSON format. Set to **application/json**.
- - salt
  - Random string.
- - signature
  - Signature calculated for each webhook individually.

    See [Webhook Authentication](https://docs.rapyd.net/en/webhook-authentication.md "Webhook Authentication").
- - timestamp
  - Timestamp for the webhook, in [Unix time](https://docs.rapyd.net/en/glossary.md#UUID-945d98cf-adae-e1cf-2606-c7fae8b4a7e1_unix_time "Unix time") (seconds).

### Webhook Root Parameters

- - created_at
  - Time that the webhook was created, in [Unix time](https://docs.rapyd.net/en/glossary.md#UUID-945d98cf-adae-e1cf-2606-c7fae8b4a7e1_unix_time "Unix time").

    > **Note:**
    >
    > Inside the `data` object, some webhooks have another `created_at` field that refers to a different event.
- - data
  - Contains the actual data of the webhook.

    For details, see below.
- - extended_timestamp
  - Time in milliseconds that the webhook was created, in [Unix time](https://docs.rapyd.net/en/glossary.md#UUID-945d98cf-adae-e1cf-2606-c7fae8b4a7e1_unix_time "Unix time").
- - id
  - ID of the webhook. String starting with **wh_**.
- - status
  - Status of the webhook. One of the following:

    - **NEW**
    - **CLO** - Closed.
    - **ERR** - Error.
    - **RET** - Re-sent.

    > **Note:**
    >
    > Inside the `data` object, some webhooks have another `status` field that refers to a different event.
- - trigger_operation_id
  - ID of the operation that triggered the webhook. UUID.
- - type
  - Name of the webhook type.

    > **Note:**
    >
    > The name in the Client Portal is different.

### Webhook Data Parameters

- - attempt_count
  - Total number of attempts made to pay this invoice.
- - attempted
  - Indicates whether an attempt has been made to pay the invoice automatically.
- - automatic_attempt_count
  - Number of automatic attempts that Rapyd made to retry paying this invoice if it failed.
- - billing
  - Determines the method of billing at the end of the billing cycle. Set to **pay_automatically** - Rapyd generates a `payment` object, then attempts to pay it using the designated payment method.
- - billing_reason
  - The reason for billing. One of the following:

    - **subscription_cycle** - A new cycle for the subscription.
    - **subscription_create** - A new subscription has been created.
    - **manual** - Customer was billed manually.
    - **upcoming** - Customer has an upcoming billing invoice.
- - created_at
  - The time the invoice was created, in [Unix time](https://docs.rapyd.net/en/glossary.md#UUID-945d98cf-adae-e1cf-2606-c7fae8b4a7e1_unix_time "Unix time").
- - currency
  - Three-letter ISO 4217 currency code for the currency used in all fields that refer to a monetary amount.
- - customer
  - ID of the customer that pays this invoice. String starting with **cus_**.
- - days_until_due
  - Number of days the customer has for paying this invoice. Integer.
- - description
  - Description of the invoice.
- - discount
  - Describes the discount that applies to this invoice. The source of the discount is one of the following:

    - If the invoice is generated manually, the discount is taken from the Customer object.
    - If the invoice is generated automatically from a subscription, the discount is taken from the Subscription object if it is defined there. Otherwise, it is taken from the Customer object.
- - discount_amount
  - The amount of the discount that was applied to this invoice.
- - due_date
  - The date payment is due on this invoice. This value is calculated from the date the invoice is created, plus the number of days specified in the `days_until_due` field. Relevant when `billing` is **send_invoice**. Format is in [Unix time](https://docs.rapyd.net/en/glossary.md#UUID-945d98cf-adae-e1cf-2606-c7fae8b4a7e1_unix_time "Unix time").
- - id
  - ID of the invoice. String starting with **invoice_**.
- - lines
  - The individual line items that make up the invoice. These items are added with [Create Invoice](https://docs.rapyd.net/en/create-invoice.md "Create Invoice") or [Update Invoice](https://docs.rapyd.net/en/update-invoice.md "Update Invoice"). For details o the fields in the 'invoice_item' object, see [Create Invoice Item](https://docs.rapyd.net/en/create-invoice-item.md "Create Invoice Item").
- - metadata
  - A JSON object defined by the client. See [Metadata](https://docs.rapyd.net/en/metadata.md "Metadata").
- - next_payment_attempt
  - The time when the next payment attempt will be made, in [Unix time](https://docs.rapyd.net/en/glossary.md#UUID-945d98cf-adae-e1cf-2606-c7fae8b4a7e1_unix_time "Unix time").
- - number
  - Invoice number, starting with the `invoice_prefix` specified in the Customer object.
- - payment
  - The 'payment' object that was generated for this invoice. For details of the fields in the 'payment' object, see [Create Payment](https://docs.rapyd.net/en/create-payment.md "Create Payment").
- - payment_fields
  - Additional `payment_options`.
- - payment_method
  - ID of the payment method for paying the invoice.
- - payout
  - Reserved.
- - payout_fields
  - Reserved.
- - period_end
  - Last date in the period covered by the invoice, in [Unix time](https://docs.rapyd.net/en/glossary.md#UUID-945d98cf-adae-e1cf-2606-c7fae8b4a7e1_unix_time "Unix time").
- - period_start
  - First date in the period covered by the invoice, in [Unix time](https://docs.rapyd.net/en/glossary.md#UUID-945d98cf-adae-e1cf-2606-c7fae8b4a7e1_unix_time "Unix time").
- - statement_descriptor
  - Description of the invoice for the customer's credit card statement. Limited to 22 characters.
- - status
  - An invoice moves through a series of statuses.

    - **draft** - Starting status for all invoices. The invoice can still be edited or deleted. The subscription's 'simultaneous_invoice' field determines when the status automatically moves to **open**. At any time, payment of the invoice via the 'Pay Invoice' method can move the invoice to another status.
    - **deleted** - An invoice can be deleted only when its status is **draft**. This action is usually done after an invoice is created due to an error.
    - **open** - The invoice has been finalized, and the system is now waiting for the payment to be completed by the customer. The invoice can no longer be edited.
    - **paid** - The paid status is used for invoices that are paid. Invoices are automatically marked as paid when payments are processed by Rapyd.
    - **void** - Voiding is similar to deleting an invoice, but keeps a record of when it was created, finalized, and voided. Invoices with a void status cannot be paid.
    - **uncollectible** - This invoice cannot be paid by the customer.
- - subscription
  - ID of the subscription that generates charges to this customer. String starting with **sub_**.
- - subtotal
  - Total of all line items before discount and before tax. Decimal.
- - tax
  - The amount of tax charged. Decimal. This is calculated as**T = R x (S - D)**, where:

    - **T** is the tax.
    - **R** is the tax rate in `tax_percent`.
    - **S** is the subtotal.
    - **D** is the discount.
- - tax_percent
  - The percentage tax rate that is applied to the subtotal of the invoice, after subtracting all discounts. Decimal, up to four decimal places. Range: 0-100
- - total
  - Total after discount and tax. Decimal.
- - type
  - The type of the subscription: **payment**

- INVOICE_PAYMENT_SUCCEEDED Webhook
- ```json
  {
      "id": "wh_7a9f43e63dc5c1d4435bfcf55ec6bc07",
      "data": {
          "id": "invoice_d3274be6b5b83ff1a3cda9ce59e77c10",
          "tax": 0,
          "type": "payment",
          "lines": [{
                  "id": "il_fa63a2550087849d9a85325fff6e5946",
                  "plan": {
                      "id": "plan_8c14014760cac1d944ba903d606c168e",
                      "tiers": [],
                      "active": true,
                      "amount": 1,
                      "currency": "USD",
                      "interval": "day",
                      "metadata": {},
                      "nickname": "",
                      "created_at": 1700068391,
                      "tiers_mode": "",
                      "usage_type": "metered",
                      "billing_scheme": "per_unit",
                      "interval_count": 1,
                      "aggregate_usage": "sum",
                      "transform_usage": {
                          "round": "up",
                          "divide_by": 1
                      },
                      "trial_period_days": 0
                  },
                  "type": "subscription",
                  "amount": 0,
                  "period": {
                      "end": 1702574051,
                      "start": 1702487651
                  },
                  "currency": "USD",
                  "metadata": {},
                  "quantity": 0,
                  "proration": false,
                  "description": "IDV Checks",
                  "discountable": true,
                  "invoice_item": "",
                  "subscription": "sub_e11768e69c4f25f54aeb32fbbe4f0763",
                  "subscription_item": "subi_08af2d3fcfd7fd500c13ec7d5997d23e"
              }
          ],
          "total": 0,
          "payout": null,
          "status": "paid",
          "billing": "pay_automatically",
          "payment": null,
          "currency": "USD",
          "customer": "cus_97261d3e9d05bff1a65a05f8eb6e8b73",
          "discount": null,
          "due_date": 0,
          "metadata": {},
          "subtotal": 0,
          "created_at": 1702515599,
          "period_end": 1702660451,
          "description": "",
          "tax_percent": 0,
          "period_start": 1702574051,
          "subscription": "sub_e11768e69c4f25f54aeb32fbbe4f0763",
          "attempt_count": 0,
          "payout_fields": null,
          "billing_reason": "subscription_cycle",
          "days_until_due": 30,
          "payment_fields": null,
          "payment_method": "card_1ef2b450ce89f39f16f088855bae901c",
          "discount_amount": 0,
          "next_payment_attempt": null,
          "statement_descriptor": "",
          "automatic_attempt_count": 0
      },
      "type": "INVOICE_PAYMENT_SUCCEEDED",
      "status": "NEW",
      "created_at": 1702515919,
      "extended_timestamp": 1702515919834,
      "trigger_operation_id": "9cf879d7-a837-4906-b2f8-359c77cd9558"
  }
  ```
