Stripe ACH
On this page
Supported features
| Feature | Supported | 3DS |
|---|---|---|
| Standard Checkout | 🟢 | |
| Subscriptions | ||
| Update Subscription | ||
| Additional Payment | 🟢 | |
| Salesforce Payment | ||
| GooglePay | ||
| ApplePay | ||
| Express Checkout | ||
| Preauthorization |
Payment provider configuration options
To generate your credentials, follow these instructions from Stripe: Manage your API keys to authenticate requests with Stripe.
Create a restricted key
A restricted key limits what StoreConnect can do in your Stripe account. To create one, go to Developers > API keys in your Stripe Dashboard, select Create restricted key, then grant only the permissions below and leave every other resource set to None.
| Stripe resource | Permission | Used for |
|---|---|---|
| PaymentIntents | Write | Creating and checking ACH payments |
| Customers | Write | Creating the customer each payment is made against |
| Payment Methods | Write | Saving a bank account for future payments |
| Refunds | Write | Issuing refunds |
In Stripe, Write includes read access to the same resource, so you don’t need to grant both.
StoreConnect doesn’t use Stripe webhooks, Stripe Terminal, Stripe Connect, Stripe Radar, or Stripe Billing (products, prices, subscriptions, and invoices), and it never deletes a customer or removes a saved payment method. Leave all of those set to None.
:::note If you use the same key for the Stripe card payment provider, use the larger permission set on that page instead. Stripe ACH needs fewer permissions because it doesn’t support subscriptions or pre-authorization. :::
:::note
A restricted key starts with rk_test_ or rk_live_, not sk_. The key itself determines which Stripe environment is used, so set API Mode to match it: production for a live key, sandbox for a test key.
:::
| StoreConnect Field | Usage |
|---|---|
| Provider | Picklist Value API Name = StripeAch |
| API Mode | sandbox / production |
| API Key | Publishable Key |
| API Secret | Secret Key |
| API Options | Location IDStatement Name |
By default the customers bank statement will show the store name. To specify a different name, add the statement_name parameter in the API Option field.
Example:
```yaml
statement_name: “ACME Inc” ```
Limitations
- Only USD currency is supported
- Only microdeposits verification is supported
- It takes 1-4 business days before the money is credited to your Stripe account. The Stripe payment ID is stored on the order’s payment record to help with manual reconciliation once the money is credited.
To learn more about ACH direct debit, visit the Stripe ACH docs.
Was this article helpful?
Thanks for your feedback! It helps us improve our docs.