Connect
Set statement descriptors

Statement descriptors with Connect

Learn how statement descriptors work for charges with Connect.

Statement descriptors explain charges or payments on bank statements and include certain types of information that banks and card networks require to help customers understand their statements. Familiarize yourself with the requirements for statement descriptors.

Set the static component for a connected account

The static component of the statement descriptor is set on the platform or connected account, depending on how your platform sets up charges. In most cases, the platform provides the static statement descriptor or prefix that appears on a customer’s statement.

Any additional information that’s displayed on a customer’s statement is also provided by the account that provides the static component (e.g., business address or phone number).

The static component is set on the connected account:

  • For all direct charges on the connected account.
  • If the on_behalf_of argument is set to the connected account for either destination charges or separate charges and transfers.

The card_payments capability is required to use the static component on connected accounts.

Standard accounts provide their own statement descriptor. For Express or Custom accounts, the platform sets the statement descriptor with the settings[payments][statement_descriptor] argument on the Account object.

curl https://api.stripe.com/v1/accounts \ -u sk_test_4eC39HqLyjWDarjtT1zdp7dc: \ -d type=custom \ -d country=US \ -d business_type=company \ -d "requested_capabilities[]"=card_payments \ -d "requested_capabilities[]"=transfers \ -d "settings[payments][statement_descriptor]"="RUNNER CLUB"
# Set your secret key. Remember to switch to your live secret key in production! # See your keys here: https://dashboard.stripe.com/account/apikeys Stripe.api_key = 'sk_test_4eC39HqLyjWDarjtT1zdp7dc' Stripe::Account.create({ type: 'custom', country: 'US', business_type: 'company', requested_capabilities: [ 'card_payments', 'transfers', ], settings: { payments: { statement_descriptor: 'RUNNER CLUB', }, }, })
# Set your secret key. Remember to switch to your live secret key in production! # See your keys here: https://dashboard.stripe.com/account/apikeys stripe.api_key = 'sk_test_4eC39HqLyjWDarjtT1zdp7dc' stripe.Account.create( type='custom', country='US', business_type='company', requested_capabilities=[ 'card_payments', 'transfers', ], settings={ 'payments': { 'statement_descriptor': 'RUNNER CLUB', }, }, )
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys \Stripe\Stripe::setApiKey('sk_test_4eC39HqLyjWDarjtT1zdp7dc'); \Stripe\Account::create([ 'type' => 'custom', 'country' => 'US', 'business_type' => 'company', 'requested_capabilities' => [ 'card_payments', 'transfers', ], 'settings' => [ 'payments' => [ 'statement_descriptor' => 'RUNNER CLUB', ], ], ]);
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys Stripe.apiKey = "sk_test_4eC39HqLyjWDarjtT1zdp7dc"; AccountCreateParams params = AccountCreateParams.builder() .setType(AccountCreateParams.Type.CUSTOM) .setCountry("US") .setBusinessType(AccountCreateParams.BusinessType.COMPANY) .addRequestedCapability(AccountCreateParams.RequestedCapability.CARD_PAYMENTS) .addRequestedCapability(AccountCreateParams.RequestedCapability.TRANSFERS) .setSettings( AccountCreateParams.Settings.builder() .setPayments( AccountCreateParams.Settings.Payments.builder() .setStatementDescriptor("RUNNER CLUB") .build()) .build()) .build(); Account account = Account.create(params);
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys const stripe = require('stripe')('sk_test_4eC39HqLyjWDarjtT1zdp7dc'); const account = await stripe.accounts.create({ type: 'custom', country: 'US', business_type: 'company', requested_capabilities: [ 'card_payments', 'transfers', ], settings: { payments: { statement_descriptor: 'RUNNER CLUB', }, }, });
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys stripe.Key = "sk_test_4eC39HqLyjWDarjtT1zdp7dc" params := &stripe.AccountParams{ Type: stripe.String(string(stripe.AccountTypeCustom)), Country: stripe.String("US"), BusinessType: stripe.String(string(stripe.AccountBusinessTypeCompany)), RequestedCapabilities: []*string{ stripe.String("card_payments"), stripe.String("transfers"), }, Settings: &stripe.AccountSettingsParams{ Payments: &stripe.AccountSettingsPaymentsParams{ StatementDescriptor: stripe.String("RUNNER CLUB"), }, }, } a, _ := account.New(params)
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys StripeConfiguration.ApiKey = "sk_test_4eC39HqLyjWDarjtT1zdp7dc"; var options = new AccountCreateOptions { Type = "custom", Country = "US", BusinessType = "company", RequestedCapabilities = new List<string> { "card_payments", "transfers", }, Settings = new AccountSettingsOptions { Payments = new AccountSettingsPaymentsOptions { StatementDescriptor = "RUNNER CLUB", }, }, }; var service = new AccountService(); var account = service.Create(options);

If the connected account sets a dynamic suffix on charges, you can set a prefix to ensure the complete statement descriptor appears as intended.

curl https://api.stripe.com/v1/accounts \ -u sk_test_4eC39HqLyjWDarjtT1zdp7dc: \ -d type=custom \ -d country=US \ -d business_type=company \ -d "requested_capabilities[]"=card_payments \ -d "requested_capabilities[]"=transfers \ -d "settings[card_payments][statement_descriptor_prefix]"=RUNCLUB
# Set your secret key. Remember to switch to your live secret key in production! # See your keys here: https://dashboard.stripe.com/account/apikeys Stripe.api_key = 'sk_test_4eC39HqLyjWDarjtT1zdp7dc' Stripe::Account.create({ type: 'custom', country: 'US', business_type: 'company', requested_capabilities: [ 'card_payments', 'transfers', ], settings: { card_payments: { statement_descriptor_prefix: 'RUNCLUB', }, }, })
# Set your secret key. Remember to switch to your live secret key in production! # See your keys here: https://dashboard.stripe.com/account/apikeys stripe.api_key = 'sk_test_4eC39HqLyjWDarjtT1zdp7dc' stripe.Account.create( type='custom', country='US', business_type='company', requested_capabilities=[ 'card_payments', 'transfers', ], settings={ 'card_payments': { 'statement_descriptor_prefix': 'RUNCLUB', }, }, )
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys \Stripe\Stripe::setApiKey('sk_test_4eC39HqLyjWDarjtT1zdp7dc'); \Stripe\Account::create([ 'type' => 'custom', 'country' => 'US', 'business_type' => 'company', 'requested_capabilities' => [ 'card_payments', 'transfers', ], 'settings' => [ 'card_payments' => [ 'statement_descriptor_prefix' => 'RUNCLUB', ], ], ]);
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys Stripe.apiKey = "sk_test_4eC39HqLyjWDarjtT1zdp7dc"; AccountCreateParams params = AccountCreateParams.builder() .setType(AccountCreateParams.Type.CUSTOM) .setCountry("US") .setBusinessType(AccountCreateParams.BusinessType.COMPANY) .addRequestedCapability(AccountCreateParams.RequestedCapability.CARD_PAYMENTS) .addRequestedCapability(AccountCreateParams.RequestedCapability.TRANSFERS) .setSettings( AccountCreateParams.Settings.builder() .setCardPayments( AccountCreateParams.Settings.CardPayments.builder() .setStatementDescriptorPrefix("RUNCLUB") .build()) .build()) .build(); Account account = Account.create(params);
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys const stripe = require('stripe')('sk_test_4eC39HqLyjWDarjtT1zdp7dc'); const account = await stripe.accounts.create({ type: 'custom', country: 'US', business_type: 'company', requested_capabilities: [ 'card_payments', 'transfers', ], settings: { card_payments: { statement_descriptor_prefix: 'RUNCLUB', }, }, });
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys stripe.Key = "sk_test_4eC39HqLyjWDarjtT1zdp7dc" params := &stripe.AccountParams{ Type: stripe.String(string(stripe.AccountTypeCustom)), Country: stripe.String("US"), BusinessType: stripe.String(string(stripe.AccountBusinessTypeCompany)), RequestedCapabilities: []*string{ stripe.String("card_payments"), stripe.String("transfers"), }, Settings: &stripe.AccountSettingsParams{ CardPayments: &stripe.AccountSettingsCardPaymentsParams{ StatementDescriptorPrefix: stripe.String("RUNCLUB"), }, }, } a, _ := account.New(params)
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys StripeConfiguration.ApiKey = "sk_test_4eC39HqLyjWDarjtT1zdp7dc"; var options = new AccountCreateOptions { Type = "custom", Country = "US", BusinessType = "company", RequestedCapabilities = new List<string> { "card_payments", "transfers", }, Settings = new AccountSettingsOptions { CardPayments = new AccountSettingsCardPaymentsOptions { StatementDescriptorPrefix = "RUNCLUB", }, }, }; var service = new AccountService(); var account = service.Create(options);

The prefix must contain 2 to 10 characters, inclusive. The complete statement descriptor can contain up to 22 characters, including the * symbol and the space that concatenates the prefix and suffix.

Set the statement_descriptor and statement_descriptor_prefix for flexibility in setting statement descriptors on charges.

If the statement descriptor is set on card charges and no prefix is set, Stripe truncates the account statement descriptor as needed to set the prefix value.

Set a dynamic suffix for connected account charges

Dynamic suffixes are supported only for card charges by using the statement_descriptor_suffix parameter. You can read more about dynamic suffixes or see the concatenated statement descriptors (prefix* suffix) in the Dashboard.

curl https://api.stripe.com/v1/payment_intents \ -u sk_test_4eC39HqLyjWDarjtT1zdp7dc: \ -d "payment_method_types[]"=card \ -d amount=1000 \ -d currency=usd \ -d statement_descriptor_suffix="Custom descriptor" \ -H "Stripe-Account: {{CONNECTED_STRIPE_ACCOUNT_ID}}"
# Set your secret key. Remember to switch to your live secret key in production! # See your keys here: https://dashboard.stripe.com/account/apikeys Stripe.api_key = 'sk_test_4eC39HqLyjWDarjtT1zdp7dc' payment_intent = Stripe::PaymentIntent.create({ payment_method_types: ['card'], amount: 1000, currency: 'usd', statement_descriptor_suffix: 'Custom descriptor', }, stripe_account: '{{CONNECTED_STRIPE_ACCOUNT_ID}}')
# Set your secret key. Remember to switch to your live secret key in production! # See your keys here: https://dashboard.stripe.com/account/apikeys stripe.api_key = 'sk_test_4eC39HqLyjWDarjtT1zdp7dc' payment_intent = stripe.PaymentIntent.create( payment_method_types=['card'], amount=1000, currency='usd', statement_descriptor_suffix='Custom descriptor', stripe_account='{{CONNECTED_STRIPE_ACCOUNT_ID}}', )
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys \Stripe\Stripe::setApiKey('sk_test_4eC39HqLyjWDarjtT1zdp7dc'); $payment_intent = \Stripe\PaymentIntent::create([ 'payment_method_types' => ['card'], 'amount' => 1000, 'currency' => 'usd', 'statement_descriptor_suffix' => 'Custom descriptor', ], ['stripe_account' => '{{CONNECTED_STRIPE_ACCOUNT_ID}}']);
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys Stripe.apiKey = "sk_test_4eC39HqLyjWDarjtT1zdp7dc"; ArrayList paymentMethodTypes = new ArrayList(); paymentMethodTypes.add("card"); Map<String, Object> params = new HashMap<>(); params.put("payment_method_types", paymentMethodTypes); params.put("amount", 1000); params.put("currency", "usd"); params.put("statement_descriptor_suffix", "Custom descriptor"); RequestOptions requestOptions = RequestOptions.builder().setStripeAccount({{CONNECTED_STRIPE_ACCOUNT_ID}}).build(); PaymentIntent paymentIntent = PaymentIntent.create(params, requestOptions);
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys const stripe = require('stripe')('sk_test_4eC39HqLyjWDarjtT1zdp7dc'); const paymentIntent = await stripe.paymentIntents.create({ payment_method_types: ['card'], amount: 1000, currency: 'usd', statement_descriptor_suffix: 'Custom descriptor', }, { stripeAccount: '{{CONNECTED_STRIPE_ACCOUNT_ID}}', });
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys stripe.Key = "sk_test_4eC39HqLyjWDarjtT1zdp7dc" params := &stripe.PaymentIntentParams{ PaymentMethodTypes: stripe.StringSlice([]string{ "card", }), Amount: stripe.Int64(1000), Currency: stripe.String(string(stripe.CurrencyUSD)), StatementDescriptorSuffix: stripe.String("Custom descriptor"), } params.SetStripeAccount("{{CONNECTED_STRIPE_ACCOUNT_ID}}") pi, _ := paymentintent.New(params)
// Set your secret key. Remember to switch to your live secret key in production! // See your keys here: https://dashboard.stripe.com/account/apikeys StripeConfiguration.ApiKey = "sk_test_4eC39HqLyjWDarjtT1zdp7dc"; var service = new PaymentIntentService(); var createOptions = new PaymentIntentCreateOptions { PaymentMethodTypes = new List<string> { "card", }, Amount = 2000, Currency = "usd", StatementDescriptorSuffix = "Custom descriptor", }; var requestOptions = new RequestOptions(); requestOptions.StripeAccount = "{{CONNECTED_STRIPE_ACCOUNT_ID}}"; service.Create(createOptions, requestOptions);
Was this page helpful?
Questions? Contact us.
Developer tutorials on YouTube.
You can unsubscribe at any time. Read our privacy policy.