| Resource | Definition |
|---|---|
| Customer | Represents a customer who purchases a subscription. Use the Customer object associated with a subscription to make and track recurring charges and to manage the products that they subscribe to. |
| Subscription | Represents a customer’s scheduled recurring purchase of a product. Use a subscription to collect payments and provide repeated delivery of or continuous access to a product. |
| Invoice | A statement of amounts a customer owes that tracks payment statuses from draft through paid or otherwise finalized. Subscriptions automatically generate invoices. |
| PaymentIntent | A way to build dynamic payment flows. A PaymentIntent tracks the lifecycle of a customer checkout flow and triggers additional authentication steps when required by regulatory mandates, custom Radar fraud rules, or redirect-based payment methods. Invoices automatically create PaymentIntents. |
collect_method parameter is not specified, it indicates that the subscription is merchant-initiated. The merchant is responsible for initiating the payment at each billing cycle via system API or backend operations.| Payment outcome | PaymentIntent status | Invoice status | Subsription status |
|---|---|---|---|
| Success | succeeded | paid | active |
| Fails because of a card error | requires_payment_method | open | incomplete |
| Fails because of authentication | requires_action | open | incomplete |
{
"id": "sub_1ELI8bClCIKljWvsvK36TXlC",
"object": "subscription",
"status": "incomplete",
...
"latest_invoice": {
"id": "in_EmGqfJMYy3Nt9M",
"status": "open",
...
"payment_intent": {
"status": "requires_payment_method",
...
}
}
}{
"id": "sub_1ELI8bClCIKljWvsvK36TXlC",
"object": "subscription",
"status": "incomplete",
...
"latest_invoice": {
"id": "in_EmGqfJMYy3Nt9M",
"status": "open",
...
"payment_intent": {
"status": "requires_action",
"client_secret": "pi_91_secret_W9",
"next_action": {
"type": "redirect",
...
},
...
}
}
}auto_charge mode), the recommended lifecycle is as follows:incomplete.open.paid, and the subscription status becomes active.paid, and the subscription remains active.payment_failed, and the subscription status becomes paused.paused state, the merchant does not need to create a new subscription or a new invoice.paid, and the subscription returns to active.payment_failed, and the subscription stays paused.invoice.paid, invoice.payment_failed, subscription.active, and subscription.paused.