Connecting Providers

Providers are payment processors that you connect to surstrom.

Supported Providers

Currently supported:

  • Stripe — Full support with restricted API keys

Connecting a Stripe Account

Step 1: Create a Restricted API Key

In your Stripe Dashboard:

  1. Go to Developers → API Keys
  2. Click Create restricted key → select Building your own integration
  3. Give the key a neutral name (e.g. Stripe)
  4. Set the following permissions:
Name in Stripe DashboardPermissionWhy it's needed
Payment IntentsRead + WriteCreate, cancel and poll payment status
BalanceReadRead net amount and fee per transaction processed through the platform only
View documentationReadFetches your Stripe account profile via GET /v1/account — account name, country, and default currency. Used to display the provider card in the dashboard, determine native currency for payment routing, and pre-fill the statement descriptor
  1. Click Create key and copy it (starts with rk_)
Learn more about restricted keys

Step 2: Publishable Key

You also need a publishable key for the frontend SDK:

  1. In Stripe Dashboard → Developers → API Keys
  2. Copy your Publishable key (starts with pk_live_)

Step 3: Connect in surstrom

  1. Go to Dashboard → Connect
  2. Select Stripe as the provider
  3. Paste your Publishable Key and Restricted API key
  4. The system validates the key by fetching your account details
  5. Click Verify credentials

The system verifies your API key by making a test call to GET /v1/account on Stripe. If the key lacks required permissions, the connection will fail.

Provider Settings

After connecting, configure your provider:

Embed URL (Relay Page)

The URL of the page where you'll install the SDK. This page must:

  • Be publicly accessible
  • Have the SDK script tag installed
  • Allow iframe embedding

Payment Description

Optional text that appears in payment descriptions.

Statement Descriptor Suffix

Up to 10 uppercase characters appended to the statement descriptor. Only A-Z, digits, spaces, dots, hyphens, and underscores allowed. Supports dynamic generation with placeholders like {externalId} or {suffixClient}.

Metadata

Optional key-value pairs attached to payment intents. Supports dynamic generation.

Use your provider's built-in fraud protection tools to secure payments: enable Radar rules, require 3D Secure for all transactions, and set fraud score thresholds. These settings are configured in your Stripe Dashboard, not in surstrom.

Provider Status Indicators

In the sidebar, each provider shows a status icon:

IconMeaning
Green checkIn pool — actively receiving payments
Yellow alertReady but not in pool
Red alertNot ready — missing configuration or failed verification

Updating API Keys

To rotate or update your API key:

  1. Navigate to the provider's settings page
  2. Click Update API Key
  3. Paste your new restricted key
  4. The system validates and updates the key

When updating your API key, the statement descriptor is automatically synced from your provider account. If you changed your business name in Stripe, it will be reflected after the key update.

Deleting a Provider

  1. Navigate to the provider's settings page
  2. Ensure it's not in the pool (remove from pool first)
  3. Click Delete and confirm

Deleting a provider is permanent. All associated configuration is removed. Active payments in progress will still complete.