Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Developer tools
Get started
Payments
Finance automation
Get started
Payments
Finance automation
Platforms and marketplaces
Money management
Overview
Versioning
Changelog
    Overview
    Basil
    Acacia
    Previous versions
Upgrade your API version
Upgrade your SDK version
Developer tools
SDKs
API
Testing
Workbench
Event Destinations
Workflows
Stripe CLI
Stripe Shell
Developers Dashboard
Agent toolkit
Build with LLMsStripe for Visual Studio CodeStripe health alertsFile uploads
Security and privacy
Security
Privacy
Extend Stripe
Stripe Apps
Stripe Connectors
Partners
Partner ecosystem
Partner certification
HomeDeveloper toolsChangelogBasil2025-05-28.basil

Adds support for partial payments on invoices

What’s new

We added support for attaching multiple Payment Intents to an Invoice. Allowing partial payments and multiple payments on invoices provides greater flexibility for businesses and customers in managing payments and cash flow. We also introduced the invoice_payment.paid webhook to track when an attached payment transitions to the paid status. To support issuing credit notes for partially paid invoices, we added a mixed type, pre_payment_amount field, and post_payment_amount field to credit note objects.

Impact

Attach multiple payments to an invoice

You can now use the Attach Payment API to attach multiple payments to an invoice:

Command Line
cURL
curl https://api.stripe.com/v1/invoices/{INVOICE_ID}/attach_payment \ -u "
sk_test_BQokikJOvBiI2HlWgH4olfQ2
:"
\ -d payment_intent={PAYMENT_INTENT_ID} \ -d "expand[]"=payments

Issue credit notes for partially paid invoices

You can continue to use the Create Credit Note method to issue credit notes for partially paid invoices. A credit note first reduces the invoice’s amount_remaining (and amount_due), but not below zero. The pre_payment_amount field on the credit note object tracks this portion. The remaining amount after reducing the invoice’s amount_remaining to zero applies to the post_payment_amount field on the credit note object. A credit note has a mixed type if both the pre_payment_amount and the post_payment_amount are non-zero.

For more information about issuing credit notes, see the Create Credit Notes API.

Changes

Endpoint ChangeResource
attach_paymentAdded
Invoice
ParametersChangeResources or endpoints
post_payment_amountpre_payment_amountAdded
CreditNote
ValuesChangeEnums
invoice_payment.paidAdded
Event.type
invoice_payment.paidAdded
WebhookEndpoint#create.enabled_eventsWebhookEndpoint#update.enabled_events
mixedAdded
CreditNote.type
ChangeEvent type
invoice_payment.paidAdded
InvoicePayment

Upgrade

  1. View your current API version in Workbench.
  2. If you use an SDK, upgrade to the corresponding SDK version for this API version.
    • If you don’t use an SDK, update your API requests to include Stripe-Version: 2025-05-28.basil
  3. Upgrade the API version used for webhook endpoints.
  4. Test your integration against the new version.
  5. If you use Connect, test your Connect integration.
  6. In Workbench, perform the upgrade. You can roll back the version for 72 hours.

Learn more about Stripe API upgrades.

Was this page helpful?
YesNo
Need help? Contact Support.
Join our early access program.
Check out our changelog.
Questions? Contact Sales.
LLM? Read llms.txt.
Powered by Markdoc