Skip to content

Stripe Connection ​

The Stripe Connection configures Stripe payment access for supported Payment Widgets, Page Flow and Cloud Flow commands, server methods, AI Agent capabilities, and Cloud Flow SDK use.

The Profile stores separate test and live keys. ioLoop selects the appropriate credential set according to the Project execution mode.

Capabilities ​

CapabilityAvailability
Connection service identifierstripe
Payment Widget supportSupported
Page Flow commandsCreate and confirm a Payment Intent
Cloud Flow commandsCreate and confirm a Payment Intent
Server API$io.stripe
Authenticated SDK objectSupported through service name stripe
AI Agent Connection supportSupported
MCP tool supportSupported where offered by the AI Agent workflow

Provider Preparation ​

Obtain both publishable and secret keys for the Stripe environments the Project will use. Confirm the account's currency, payment-method configuration, and any provider requirements for live payments.

Keep secret keys in the Profile. Publishable keys are intended for supported client payment flows, but they should still be configured through the Connection rather than copied through Page code.

Profile Settings ​

SettingPurpose
Test Mode Publishable KeyPublishable key used during test execution.
Test Mode Secret KeySecret key used during test execution.
Live Mode Publishable KeyPublishable key used by the published live payment flow.
Live Mode Secret KeySecret key used by the published live payment flow.
Currency CodeThree-letter currency code; defaults to usd when omitted.

The Connection has no additional service fields beyond its name and selected Profile.

Use separate Profiles if the Project must work with different Stripe accounts. Do not combine keys from different accounts in one Profile.

Commands ​

The Stripe Connection exposes:

CommandPurpose
Create Payment IntentStarts a supported Stripe payment flow for an amount and optional properties.
Confirm Payment IntentConfirms the supported payment flow using the Payment Intent and client information produced by the preceding steps.

These commands support both Page Flow and Cloud Flow. They are also used by supported payment interfaces. Use the Payment Widget workflow when it provides the checkout experience required by the Project.

Payment amounts and order details received from the browser must be verified by trusted backend logic. Do not let the browser be the authority for price, currency, inventory, discount, or fulfillment decisions.

Access ​

The Connection exposes an Initiate Payments Access operation. Public access is supported because payment Pages can serve unauthenticated customers.

Public access does not remove the need for validation. Bind the payment to server-controlled order information, enforce allowed amounts and currencies, and prevent replay or duplicate fulfillment.

Server APIs and SDK ​

The $io.stripe API includes supported operations such as listing and searching payments, direct API calls, and invoking supported SDK operations.

Cloud Flow can also obtain the authenticated Stripe SDK object through $io.system.sdkLibraryObjectFromConnection('stripe', connectionName). Prefer named $io.stripe methods when they cover the operation; use the SDK object for additional supported provider functionality.

Test and Live Behavior ​

Test Mode uses the Profile's test keys. Published live operation uses the live keys. Before publishing:

  1. Confirm all four keys belong to the intended Stripe account.
  2. Complete successful and declined test payments.
  3. Test duplicate submission and interrupted confirmation.
  4. Verify server-side order validation and fulfillment behavior.
  5. Confirm that live currency and payment methods are enabled.

Never use a successful client callback alone as proof that an order should be fulfilled. Use trusted server-side verification appropriate to the payment workflow.