# Collections Payment Promise

> For the complete machine-readable documentation index, see [llms.txt](https://apidocs.chargebee.com/llms.txt).


Tracks a customer's commitment to pay a promised amount. Each payment promise records the amount, currency, promise date, and status (`active`, `fulfilled`, `broken`, or `cancelled`).

Receivables must be enabled for the site. If it is not, these operations are rejected.

## Sample Collections payment promise

```json
{
  "id": "pp_8aspTSOcUcz72s",
  "customer_id": "__test__8aspTSOcUcz72s",
  "invoice_id": "__demo_inv__4",
  "currency_code": "USD",
  "amount": 1000,
  "promised_by": "ops.user@chargebee.com",
  "promised_on": 1738512000,
  "status": "active",
  "created_at": 1738508400,
  "updated_at": 1738512100,
  "resource_version": 1738512100000,
  "object": "collections_payment_promise"
}
```

## Collections Payment Promise attributes

## Input Parameters

- `id` (required, string, max chars=40)
  Unique identifier of the collections payment promise.

- `customer_id` (required, string, max chars=100)
  Identifier of the customer who made this payment promise.

- `invoice_id` (required, string, max chars=100)
  Identifier of the invoice linked to this promise, when the promise is invoice-specific.

- `status` (required, enumerated string)
  Current lifecycle state of the payment promise.
  Possible enum values:
    - `active`
      The promise is active and awaiting payment.
    - `fulfilled`
      The promised payment has been received.
    - `broken`
      The promised payment was not received by the promised date.
    - `cancelled`
      The payment promise was cancelled.

- `reason` (optional, string, max chars=500)
  Optional note describing the context or reason for capturing this promise.

- `promised_by` (optional, string, max chars=254)
  Name or identifier of the user or agent who captured this promise.

- `promised_on` (required, timestamp(UTC) in seconds)
  Timestamp in UTC seconds representing when the customer committed to pay.

- `created_at` (required, timestamp(UTC) in seconds)
  Timestamp in UTC seconds when this collections payment promise was created.

- `updated_at` (required, timestamp(UTC) in seconds)
  Timestamp in UTC seconds when this collections payment promise was last updated.

- `resource_version` (optional, long)
  Version number of this resource. The `resource_version` is updated with a new timestamp in milliseconds for every change made to the resource.

- `amount` (optional, long)
  Promised amount in the smallest currency unit (for example, cents for USD).

- `currency_code` (optional, string, max chars=3)
  Three-letter ISO currency code for the promise amount.

