Skip to content

Stripe: Test mode: Create a Received Debit

Stripe testHelpers.postTestHelpersTreasuryReceivedDebits: arguments, response, policy and SDK examples.

← Test helpers operations · Get started

Operation stripe.posttesthelperstreasuryreceiveddebits

Provider route: POST /v1/test_helpers/treasury/received_debits. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/stripe with npm, or alter-sdk-stripe with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { StripeIntegration } from "@alter-ai/stripe";
async function execute(input: Parameters<StripeIntegration["testHelpers"]["postTestHelpersTreasuryReceivedDebits"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new StripeIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.testHelpers.postTestHelpersTreasuryReceivedDebits(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_stripe import StripeIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = StripeIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.test_helpers.post_test_helpers_treasury_received_debits(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
headersobjectOptionalAdditional keys: not allowed
headers.Idempotency-KeystringOptionalMinimum length: 1
Maximum length: 255
bodyobjectRequired within parentAdditional keys: not allowed
body.amountintegerRequired within parentAmount (in cents) to be transferred.
body.currencystringRequired within parentThree-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
Format: currency
body.descriptionstringOptionalAn arbitrary string attached to the object. Often useful for displaying to users.
Maximum length: 5000
body.expandarrayOptionalSpecifies which fields in the response should be expanded.
body.expand[]stringEach itemMaximum length: 5000
body.financial_accountstringRequired within parentThe FinancialAccount to pull funds from.
body.initiating_payment_method_detailsobjectOptionalInitiating payment method details for the object.
body.initiating_payment_method_details.typestringRequired within parentOne of: us_bank_account
body.initiating_payment_method_details.us_bank_accountobjectOptional
body.initiating_payment_method_details.us_bank_account.account_holder_namestringOptionalMaximum length: 5000
body.initiating_payment_method_details.us_bank_account.account_numberstringOptionalMaximum length: 5000
body.initiating_payment_method_details.us_bank_account.routing_numberstringOptionalMaximum length: 5000
body.networkstringRequired within parentSpecifies the network rails to be used. If not set, will default to the PaymentMethod’s preferred network. See the [docs](https://docs.stripe.com/treasury/money-movement/timelines) to learn more about money movement timelines for each network type.
One of: ach

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$ModelRootExpand Retrieve a Received Debit — response body

Referenced models: Retrieve a Received Debit — response body

749 more schemas are linked from the tables above, on the schema pages.

Retrieve a Received Debit — response body
FieldTypePresenceDescription and constraints
$objectRootReceivedDebits represent funds pulled from a [FinancialAccount](https://docs.stripe.com/api#financial_accounts). These are not initiated from the FinancialAccount.
amountJSONRequired within parent
amount (anyOf 1)integerAlternativeAmount (in cents) transferred.
amount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
createdJSONRequired within parent
created (anyOf 1)integerAlternativeTime at which the object was created. Measured in seconds since the Unix epoch.
Format: unix-time
created (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
currencystringRequired within parentThree-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
Format: currency
descriptionstringRequired within parentAn arbitrary string attached to the object. Often useful for displaying to users.
Maximum length: 5000
failure_codeJSONOptional
failure_code (anyOf 1)stringAlternativeReason for the failure. A ReceivedDebit might fail because the FinancialAccount doesn't have sufficient funds, is closed, or is frozen.
Known values: account_closed, account_frozen, insufficient_funds, international_transaction, other
failure_code (anyOf 2)nullAlternative
financial_accountJSONOptional
financial_account (anyOf 1)stringAlternativeThe FinancialAccount that funds were pulled from.
Maximum length: 5000
financial_account (anyOf 2)nullAlternative
hosted_regulatory_receipt_urlJSONOptional
hosted_regulatory_receipt_url (anyOf 1)stringAlternativeA [hosted transaction receipt](https://docs.stripe.com/treasury/moving-money/regulatory-receipts) URL that is provided when money movement is considered regulated under Stripe's money transmission licenses.
Maximum length: 5000
hosted_regulatory_receipt_url (anyOf 2)nullAlternative
idstringRequired within parentUnique identifier for the object.
Maximum length: 5000
initiating_payment_method_detailsModelOptionalExpand Retrieve a Received Debit — response body — initiating payment method details
linked_flowsModelRequired within parentExpand Retrieve a Received Debit — response body — linked flows
livemodebooleanRequired within parentIf the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
networkstringRequired within parentThe network used for the ReceivedDebit.
Known values: ach, card, stripe
objectstringRequired within parentString representing the object's type. Objects of the same type share the same value.
Known values: treasury.received_debit
reversal_detailsJSONOptional
reversal_details (anyOf 1)JSONAlternativeDetails describing when a ReceivedDebit might be reversed.
reversal_details (anyOf 1) (anyOf 1)ModelAlternativeExpand Retrieve a Received Debit — response body — reversal details value deadline, restricted reason
reversal_details (anyOf 2)nullAlternative
statusstringRequired within parentStatus of the ReceivedDebit. ReceivedDebits are created with a status of either `succeeded` (approved) or `failed` (declined). The failure reason can be found under the `failure_code`.
Known values: failed, succeeded
transactionJSONOptional
transaction (anyOf 1)JSONAlternativeThe Transaction associated with this object.
transaction (anyOf 1) (anyOf 1)stringAlternativeMaximum length: 5000
transaction (anyOf 1) (anyOf 2)ModelAlternativeExpand Retrieve a Transaction — treasury get Treasury Transactions Id — response body
transaction (anyOf 2)nullAlternative

Referenced models: Retrieve a Transaction — treasury get Treasury Transactions Id — response body, Retrieve a Received Debit — response body — linked flows, Retrieve a Received Debit — response body — reversal details value deadline, restricted reason, Retrieve a Received Debit — response body — initiating payment method details

Retrieve a Transaction — treasury get Treasury Transactions Id — response body
FieldTypePresenceDescription and constraints
$objectRootTransactions represent changes to a [FinancialAccount's](https://docs.stripe.com/api#financial_accounts) balance.
amountJSONRequired within parent
amount (anyOf 1)integerAlternativeAmount (in cents) transferred.
amount (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
balance_impactModelRequired within parentExpand Retrieve a Transaction Entry — response body — balance impact
createdJSONRequired within parent
created (anyOf 1)integerAlternativeTime at which the object was created. Measured in seconds since the Unix epoch.
Format: unix-time
created (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
currencystringRequired within parentThree-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies).
Format: currency
descriptionstringRequired within parentAn arbitrary string attached to the object. Often useful for displaying to users.
Maximum length: 5000
entriesJSONOptional
entries (anyOf 1)objectAlternativeA list of TransactionEntries that are part of this Transaction. This cannot be expanded in any list endpoints.
entries (anyOf 1).dataarrayRequired within parentDetails about each object.
entries (anyOf 1).data[]ModelEach itemExpand Retrieve a Transaction Entry — response body
entries (anyOf 1).has_morebooleanRequired within parentTrue if this list has another page of items after this one that can be fetched.
entries (anyOf 1).objectstringRequired within parentString representing the object's type. Objects of the same type share the same value. Always has the value `list`.
Known values: list
entries (anyOf 1).urlstringRequired within parentThe URL where this list can be accessed.
Maximum length: 5000
Pattern: ^/v1/treasury/transaction_entries
entries (anyOf 2)nullAlternative
financial_accountstringRequired within parentThe FinancialAccount associated with this object.
Maximum length: 5000
flowJSONOptional
flow (anyOf 1)stringAlternativeID of the flow that created the Transaction.
Maximum length: 5000
flow (anyOf 2)nullAlternative
flow_detailsJSONOptional
flow_details (anyOf 1)JSONAlternativeDetails of the flow that created the Transaction.
flow_details (anyOf 1) (anyOf 1)ModelAlternativeExpand Retrieve a Transaction Entry — response body — flow details value credit reversal, debit reversal, inbound transfer, issuing authorization, outbound payment, outbound transfer, received credit, received debit, type
flow_details (anyOf 2)nullAlternative
flow_typestringRequired within parentType of the flow that created the Transaction.
Known values: credit_reversal, debit_reversal, inbound_transfer, issuing_authorization, other, outbound_payment, outbound_transfer, received_credit, received_debit
idstringRequired within parentUnique identifier for the object.
Maximum length: 5000
livemodebooleanRequired within parentIf the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`.
objectstringRequired within parentString representing the object's type. Objects of the same type share the same value.
Known values: treasury.transaction
statusstringRequired within parentStatus of the Transaction.
Known values: open, posted, void
status_transitionsModelRequired within parentExpand Retrieve a Transaction — treasury get Treasury Transactions Id — response body — status transitions

Referenced models: Retrieve a Transaction Entry — response body, Retrieve a Transaction — treasury get Treasury Transactions Id — response body — status transitions, Retrieve a Transaction Entry — response body — balance impact, Retrieve a Transaction Entry — response body — flow details value credit reversal, debit reversal, inbound transfer, issuing authorization, outbound payment, outbound transfer, received credit, received debit, type

Retrieve a Received Debit — response body — reversal details value deadline, restricted reason
FieldTypePresenceDescription and constraints
$objectRoot
deadlineJSONOptional
deadline (anyOf 1)JSONAlternative
deadline (anyOf 1) (anyOf 1)integerAlternativeTime before which a ReceivedDebit can be reversed.
Format: unix-time
deadline (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:\.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
deadline (anyOf 2)nullAlternative
restricted_reasonJSONOptional
restricted_reason (anyOf 1)stringAlternativeSet if a ReceivedDebit can't be reversed.
Known values: already_reversed, deadline_passed, network_restricted, other, source_flow_restricted
restricted_reason (anyOf 2)nullAlternative

SDK function policy ID: stripe.posttesthelperstreasuryreceiveddebits. Catalog operation: PostTestHelpersTreasuryReceivedDebits. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Pinned headers: {"Stripe-Version": "2026-09-30.endive"}

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.