Skip to main content
Move your integration to production. This is the first page of Launch. First finish Payments, Enrollment, and Discovery in the sandbox. Do not make production your first test. See Test a payment. Production is a configuration change. If you followed Get started, your server reads its environment and its key from .env at startup. Ship the build that you tested.

What changes

Only these three values change.
INFLOW_ENVIRONMENT and INFLOW_API_KEY must always change together. A key works only against the dashboard that issued it. If you change one alone, every seller call fails.

Move to production

1

Register a production Seller account

Register at app.inflowpay.ai. This account is separate from your sandbox account.A Developer account cannot take payments. Seller calls from a Developer key fail with 403 SELLER_ACCOUNT_REQUIRED.
2

Create a production API key

Create the key in the production dashboard. Store it in your deployment secret manager. Never commit it.
3

Set a production MPP secret

This step applies to MPP only. Generate a new secret.
The secret must be at least 32 bytes. It must stay stable across deploys, because it signs and binds your 402 challenges. A change invalidates every challenge already in flight.
4

Set the production environment

.env
5

Deploy the build you tested

Do not edit server.ts. The same build reads the new values at startup.
Never set a baseUrl. The SDK resolves the correct host from environment alone. A baseUrl sends live traffic to an unexpected host.

Check the live endpoint

1

Confirm the challenge

Call your live endpoint with no payment. Expect a 402 and the header of each protocol.
2

Confirm what you advertise

Confirm that the output reports MPP and x402.
3

Take one small live payment

Price one endpoint at your smallest amount. Pay it yourself with the CLI. This payment settles real money.
4

Confirm the settlement

For a stablecoin payment, open app.inflowpay.ai and confirm that the payment reached your InFlow balance. For a card payment, confirm the payment in your connected Stripe account. Confirm that the amount matches.

After you are live

  • Publish your service to the directory. The directory has no sandbox, so this step needs your live origin. See Publish to the directory.
  • Rotate your production key if you ever paste it outside your secret manager.
  • Keep the sandbox deploy. Test every change there before you ship it.

Troubleshooting

For other errors, see Errors.

Next step

Check your integration

Test Payments, Enrollment, and Discovery against the live service.
Last modified on October 15, 2026