Skip to content
Create account
or
Sign in
The Stripe Docs logo
/
Ask AI
Create account
Sign in
Get started
Payments
Revenue
Platforms and marketplaces
Money management
Developer resources
APIs & SDKsHelp
Overview
Start an integration
Use for your business
Financial Accounts
CardsInstant currency conversion
Global Payouts
Capital
Embed in your platform
Financial Accounts for platforms
    Overview
    How Financial Accounts for platforms works
    Eligibility requirements
    Get started
    Get started with API access
    Onboarding users
    Managing fraud
    Marketing and compliance guidelines
    Sample integrations
    Set up financial accounts and cards
    Use Financial Accounts for platforms to move money
    Sample application with Issuing and Financial Accounts for platforms
    Financial Accounts for platforms with Issuing
    Webhooks
    Work with cards
    Account management
    Accounts structure
    Working with connected accounts
    Working with financial accounts
    Financial account features
    Platform financial accounts
    Working with balances and transactions
    Moving money
    Payouts and top-ups from Stripe Payments
    Working with SetupIntents, PaymentMethods, and BankAccounts
    Moving money into financial accounts
      Moving money using InboundTransfer objects
      Moving money using ReceivedCredit objects
      Moving money using CreditReversal objects
    Moving money out of financial accounts
    Money movement timelines
    Bank partners
    Fifth Third Bank overview
    Get started with Fifth Third Bank
Issuing cards
Capital for platforms
United States
English (United States)
HomeMoney managementFinancial Accounts for platformsMoving money into financial accounts

Moving money using CreditReversal objects

Learn how you can return funds from received credits that add money to your financial account.

Reversing a ReceivedCredit creates a CreditReversal. You can reverse ReceivedCredits only in some scenarios (detailed in the following table). Whether you can reverse a ReceivedCredit depends on the network and source flow.

The reversal_details sub-hash on the ReceivedCredit object can have the following combination of values, which determines if you can reverse the ReceivedCredit.

RESTRICTED REASONDEADLINE (EPOCH TIMESTAMP)EXAMPLE SCENARIO
source_flow_restrictednullA Stripe network ReceivedCredit that’s the result of a flow other than an OutboundPayment. Stripe restricts users from reversing such ReceivedCredits.
network_restrictednullNetwork constraints prevent Stripe from allowing reversal on some ReceivedCredits, such as a ReceivedCredit from a wire transfer.
null{{TIMESTAMP}}A ReceivedCredit, which is reversible, but only until the timestamp in deadline. ACH ReceivedCredits have a deadline that determines how long you have to reverse them.
deadline_passed{{TIMESTAMP}}A ReceivedCredit that’s reversible before the timestamp in deadline, but is no longer reversible because the deadline has passed. ACH ReceivedCredits have a limited time of when they’re reversible after they’re created.
already_reversednullA ReceivedCredit that’s already reversed has this restricted_reason. It might have a non-null deadline value.
nullnullYou can reverse ReceivedCredits anytime if they have null for both restricted_reason and deadline.

Create a CreditReversal

Use POST /v1/treasury/credit_reversals to create a CreditReversal. Set the received_credit parameter in the body of the request to the value of the ReceivedCredit ID to reverse.

Note

You can’t update CreditReversals, so you must set any optional metadata on creation.

The following request creates a CreditReversal based on the ReceivedCredit ID value on the required received_credit parameter. The request also sets an optional metadata value.

If successful, the response returns the new CreditReversal object.

Retrieve a CreditReversal

Use GET /v1/treasury/credit_reversals/{{CREDIT_REVERSAL_ID}} to retrieve the CreditReversal with the associated ID.

The response returns the specific CreditReversal object.

List CreditReversals

Use GET /v1/treasury/credit_reversals to retrieve a list of CreditReversals for the financial account with the ID provided in the required financial_account parameter. You can filter the list by standard list parameters, status, or by ReceivedCredit ID using the received_credit parameter.

The following request returns the three most recent credit reversals with a status of posted for the specified financial account.

If successful, the response returns the relevant list of CreditReversal objects.

Test CreditReversals

To test CreditReversals, you must first create test ReceivedCredits. Then use POST /v1/treasury/credit_reversals and specify the test ReceivedCredit ID in the received_credit parameter to create a test CreditReversal.

CreditReversal webhooks

Stripe emits the following CreditReversal events to your webhook endpoint:

  • treasury.credit_reversal.created on CreditReversal creation.
  • treasury.credit_reversal.posted when the CreditReversal posts.
Was this page helpful?
YesNo
  • Need help? Contact Support.
  • Check out our changelog.
  • Questions? Contact Sales.
  • LLM? Read llms.txt.
  • Powered by Markdoc