1. Create usage alert and set up thresholds
Use a valid access token and send a POST request to/v1/commerce/billing/subscriptions/{external_id}/alerts
with all required request parameters.
Path parameter: external_id
is the subscription’s unique identifier you provided when creating the subscription.
On successful alert creation, the PayPal server returns an alert ID.
Request parameters
Parameter name | Description |
---|---|
type Required, string | Type of alert to create. Possible values: CURRENT_USAGE_AMOUNT : Alert on total usage amount for the current billing cycleMETRIC_CURRENT_USAGE_AMOUNT : Alert on monetary usage of a specific metric for the current billing cycleMETRIC_CURRENT_USAGE_UNITS : Alert on units consumed for a specific metric in the current billing cycleLIFETIME_USAGE_AMOUNT : Alert on total usage amount across the entire subscription duration |
code Required, string | Unique code to identify the alert. |
metric_code string | Identifier of the metric associated with the alert. Required only for metric-based alert types (METRIC_CURRENT_USAGE_AMOUNT and METRIC_CURRENT_USAGE_UNITS ). |
name string | Name of the alert. |
thresholds Required, array | List of thresholds that will trigger the alert. At least one threshold is required. Includes both one-time and recurring thresholds. |
thresholds.code string | User-defined identifier for the threshold. Used to distinguish between different thresholds (for example, warn , hard , recurring ). |
thresholds.value Required, string | Value that should trigger this alert. Must be a positive numeric string that can include a decimal point. |
thresholds.recurring boolean | Specifies whether the threshold is recurring. When true , alerts are triggered every time the usage exceeds the last non-recurring threshold by this threshold’s value . Only one recurring threshold is permitted per alert. |
Response parameters
Note: This section documents only the response parameters relevant for the next step. For the exhaustive list of response fields, see API reference.
Parameter name | Description and further action |
---|---|
id string | Unique identifier for the alert. Use this ID to manage or reference the alert in future API calls. |
external_subscription_id string | Unique identifier of the subscription linked to the alert. Use this ID to fetch subscription details or list all alerts for a subscription. |
2. Use webhooks to monitor threshold breaches
- Subscribe to the
USAGE-BILLING.SUBSCRIPTION-ALERT.TRIGGERED
event through one of the following means:- PayPal developer account: Log in to your account, go to App details page > Features > Webhooks, and subscribe to the webhook event.
- Webhooks management API.
- In your server-side app code, define a webhook handler that:
- Listens to the webhook event.
- Confirms receipt of the webhook event to PayPal.
- Verifies the source of the event notification.
- Parses the webhook payload received from PayPal - it includes the alert ID, subscription ID, alert type, metric code, current value, crossed thresholds, and trigger time. See the webhook payload sample for details.
- Uses the parsed data to notify users, enforce limits, or automate business logic.
Note: You can also subscribe to webhooks for wallet, invoice, credit note, and subscription lifecycle events. For the complete list of webhook events and sample payloads, see Webhooks reference.