Stripe: Create or retrieve funding instructions for a customer cash balance
Stripe customers.postCustomersCustomerFundingInstructions: arguments, response, policy and SDK examples.
← Customers operations · Get started
Operation stripe.postcustomerscustomerfundinginstructions
Provider route: POST /v1/customers/{customer}/funding_instructions. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”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["customers"]["postCustomersCustomerFundingInstructions"]>[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.customers.postCustomersCustomerFundingInstructions(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom 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.customers.post_customers_customer_funding_instructions(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
path | object | Required within parent | Additional keys: not allowed |
path.customer | string | Required within parent | Maximum length: 5000 |
headers | object | Optional | Additional keys: not allowed |
headers.Idempotency-Key | string | Optional | Minimum length: 1 Maximum length: 255 |
body | object | Required within parent | Additional keys: not allowed |
body.bank_transfer | object | Required within parent | Additional parameters for `bank_transfer` funding types |
body.bank_transfer.eu_bank_transfer | object | Optional | |
body.bank_transfer.eu_bank_transfer.country | string | Required within parent | Maximum length: 5000 |
body.bank_transfer.requested_address_types | array | Optional | |
body.bank_transfer.requested_address_types[] | string | Each item | One of: iban, sort_code, spei, zengin |
body.bank_transfer.type | string | Required within parent | One of: eu_bank_transfer, gb_bank_transfer, jp_bank_transfer, mx_bank_transfer, us_bank_transfer |
body.currency | string | Required within parent | Three-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.expand | array | Optional | Specifies which fields in the response should be expanded. |
body.expand[] | string | Each item | Maximum length: 5000 |
body.funding_type | string | Required within parent | The `funding_type` to get the instructions for. One of: bank_transfer |
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | Model | Root | Expand Create or retrieve funding instructions for a customer cash balance — response body |
Referenced models: Create or retrieve funding instructions for a customer cash balance — response body
Schemas
Section titled “Schemas”3 more schemas are linked from the tables above, on the schema pages.
Create or retrieve funding instructions for a customer cash balance — response body
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Each customer has a [`balance`](https://docs.stripe.com/api/customers/object#customer_object-balance) that is automatically applied to future invoices and payments using the `customer_balance` payment method. Customers can fund this balance by initiating a bank transfer to any account in the `financial_addresses` field. Related guide: [Customer balance funding instructions](https://docs.stripe.com/payments/customer-balance/funding-instructions) |
bank_transfer | Model | Required within parent | Expand Create or retrieve funding instructions for a customer cash balance — response body — bank transfer |
currency | string | Required within parent | Three-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). Maximum length: 5000 |
funding_type | string | Required within parent | The `funding_type` of the returned instructions Known values: bank_transfer |
livemode | boolean | Required within parent | If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`. |
object | string | Required within parent | String representing the object's type. Objects of the same type share the same value. Known values: funding_instructions |
Referenced models: Create or retrieve funding instructions for a customer cash balance — response body — bank transfer
Create or retrieve funding instructions for a customer cash balance — response body — bank transfer
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | |
country | string | Required within parent | The country of the bank account to fund Maximum length: 5000 |
financial_addresses | array | Required within parent | A list of financial addresses that can be used to fund a particular balance |
financial_addresses[] | Model | Each item | Expand Create or retrieve funding instructions for a customer cash balance — response body — bank transfer financial addresses item |
type | string | Required within parent | The bank_transfer type Known values: eu_bank_transfer, jp_bank_transfer |
Referenced models: Create or retrieve funding instructions for a customer cash balance — response body — bank transfer financial addresses item
Create or retrieve funding instructions for a customer cash balance — response body — bank transfer financial addresses item
Referenced models: Create or retrieve funding instructions for a customer cash balance — response body — bank transfer financial addresses item aba, Create or retrieve funding instructions for a customer cash balance — response body — bank transfer financial addresses item iban, Create or retrieve funding instructions for a customer cash balance — response body — bank transfer financial addresses item sort code, Create or retrieve funding instructions for a customer cash balance — response body — bank transfer financial addresses item spei, Create or retrieve funding instructions for a customer cash balance — response body — bank transfer financial addresses item swift, Create or retrieve funding instructions for a customer cash balance — response body — bank transfer financial addresses item zengin
Create or retrieve funding instructions for a customer cash balance — response body — bank transfer financial addresses item aba
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | ABA Records contain U.S. bank account details per the ABA format. |
account_holder_address | Model | Required within parent | Expand Create a Location — response body — address |
account_holder_name | string | Required within parent | The account holder name Maximum length: 5000 |
account_number | string | Required within parent | The ABA account number Maximum length: 5000 |
account_type | string | Required within parent | The account type Maximum length: 5000 |
bank_address | Model | Required within parent | Expand Create a Location — response body — address |
bank_name | string | Required within parent | The bank name Maximum length: 5000 |
routing_number | string | Required within parent | The ABA routing number Maximum length: 5000 |
Referenced models: Create a Location — response body — address
Create or retrieve funding instructions for a customer cash balance — response body — bank transfer financial addresses item iban
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Iban Records contain E.U. bank account details per the SEPA format. |
account_holder_address | Model | Required within parent | Expand Create a Location — response body — address |
account_holder_name | string | Required within parent | The name of the person or business that owns the bank account Maximum length: 5000 |
bank_address | Model | Required within parent | Expand Create a Location — response body — address |
bic | string | Required within parent | The BIC/SWIFT code of the account. Maximum length: 5000 |
country | string | Required within parent | Two-letter country code ([ISO 3166-1 alpha-2](https://en.wikipedia.org/wiki/ISO_3166-1_alpha-2)). Maximum length: 5000 |
iban | string | Required within parent | The IBAN of the account. Maximum length: 5000 |
Referenced models: Create a Location — response body — address
Create or retrieve funding instructions for a customer cash balance — response body — bank transfer financial addresses item sort code
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Sort Code Records contain U.K. bank account details per the sort code format. |
account_holder_address | Model | Required within parent | Expand Create a Location — response body — address |
account_holder_name | string | Required within parent | The name of the person or business that owns the bank account Maximum length: 5000 |
account_number | string | Required within parent | The account number Maximum length: 5000 |
bank_address | Model | Required within parent | Expand Create a Location — response body — address |
sort_code | string | Required within parent | The six-digit sort code Maximum length: 5000 |
Referenced models: Create a Location — response body — address
Create or retrieve funding instructions for a customer cash balance — response body — bank transfer financial addresses item spei
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | SPEI Records contain Mexico bank account details per the SPEI format. |
account_holder_address | Model | Required within parent | Expand Create a Location — response body — address |
account_holder_name | string | Required within parent | The account holder name Maximum length: 5000 |
bank_address | Model | Required within parent | Expand Create a Location — response body — address |
bank_code | string | Required within parent | The three-digit bank code Maximum length: 5000 |
bank_name | string | Required within parent | The short banking institution name Maximum length: 5000 |
clabe | string | Required within parent | The CLABE number Maximum length: 5000 |
Referenced models: Create a Location — response body — address
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: stripe.postcustomerscustomerfundinginstructions. Catalog operation: PostCustomersCustomerFundingInstructions. 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"}