Payment Lifecycle

This help article explains the lifecycle of payments within PayPack and how they map to specific Stripe Payment Intent statuses. Understanding these statuses helps you track where a transaction stands—whether it's awaiting customer action, processing, or successfully completed.

For additional resources on the payment lifecycle, see Payment & Refund API Flows and PayPack Logs.

Below is a guide to how our most common workflows map to these statuses.

Status Summary Table

Status What it means
requires_payment_method The intent is created, but no valid card/bank info has been provided yet.
requires_action The customer needs to complete a security step (like 3D Secure).
processing The payment is in transit (common for ACH/Bank Debits).
requires_capture Funds are authorized/held but haven't been "claimed" yet.
succeeded The payment is complete and funds are headed to the account payout balance.
canceled The payment was voided or expired.
PayPack Payment Lifecycle.png

Payment Links

When you send a direct payment link to a customer, the lifecycle follows the standard checkout flow.

  • Status: requires_payment_method – Triggered as soon as the customer opens the link. Stripe is waiting for them to enter their card or bank details.

  • Status: processing – Common for ACH or bank transfers. Since these aren't instant, the payment stays here for 3-5 business days while the banks communicate.

  • Status: succeeded – Once the funds are successfully cleared and charged.


Authorize & Capture

This workflow only applies to card payments and is used when you want to "hold" funds before officially taking them (common for service deposits or shipping delays).

  • Immediate Capture: Moves directly from requires_payment_method to succeeded once paid.

  • Authorize Only: Once the customer authorizes the payment, the status becomes requires_capture. The funds are held on the customer's card but not yet in your account.

  • Capture Later: When you trigger the capture in PayPack, the status moves to succeeded.


Recurring Billing

For ongoing subscriptions, PayPack automates the creation of Payment Intent on a schedule.

  • Status: requires_payment_method – Initial state of the Stripe payment intent and signifies an attempt to process a recurring transaction.

  • Status: processing – Common for ACH or bank transfers. Since these aren't instant, the payment stays here for 3-5 business days while the banks communicate.

  • Status: succeeded – Most recurring payments transition automatically to this state using the saved payment method.


Retry Invoice Charge

When a previous attempt fails (e.g., insufficient funds), PayPack allows you to retry the invoice with a new authorization and capture.

  • Status: requires_payment_method – If the retry fails again, the intent returns to this state, signaling that a different card or updated info is needed.

  • Status: processing – Common for ACH or bank transfers. Since these aren't instant, the payment stays here for 3-5 business days while the banks communicate.

  • Status: succeeded – When a retry attempt is successful.


Auto-Bill Payments

Auto-bill uses a customer's stored payment method to pay off open balances automatically.

  • Status: processing – Often seen when Auto-Bill triggers an ACH payment.

  • Status: succeeded – The standard state once the background job successfully charges the stored card.


Customer Installment Plans

Installment plans break a large total into smaller, scheduled payments.

  • Status: requires_payment_method – Each individual installment creates its own intent. If one installment fails, it stays in this status until the customer updates their billing info.

  • Status: succeeded – Applied to each specific installment as it is successfully collected over time.


Customer Statement Link

Unlike the workflows above, the Statement Link is used to collect and save a payment method for future use, rather than just charging a specific amount today.

  • Workflow: Setup Intent – When a customer adds a card via a statement link, Stripe creates a SetupIntent. This verifies the card is valid without charging it.

  • Status: succeeded (SetupIntent) – This means the card is successfully "bound" to the customer profile.

  • Subsequent Payment Intents – Once the card is saved, any future charges made against that statement will create a new Payment Intent that typically moves directly to succeeded unless the payment method selected is ACH or bank transfers where the status starts as processing.

Was this article helpful?
0 out of 0 found this helpful

More resources