Merchant Setup

Prepare a merchant profile before accepting payments.

Create a merchant to configure wallets and accept payments. Each merchant has its own profile, settings, orders, and mainnet or testnet records.

Create A Merchant

Open Merchants, then select Create Merchant.

Field Requirement Purpose
Merchant Name Required Internal merchant name used in Merchant Dashboard.
Public Display Name Recommended Customer-facing name shown on payment pages, receipts, and invoices.
Description Optional Internal description for identifying the merchant.
Supported Chains Required Select the chains the merchant plans to use. Available options can depend on the current plan and mode.

After creation, open the merchant to review its Merchant ID, current status, and setup tabs.

Merchant ID

The Merchant ID identifies the merchant in the selected mode. Use it when an integration, support request, or dashboard record needs a merchant reference.

Mainnet and testnet Merchant IDs are separate. Confirm the current mode before copying an ID.

Merchant Status

The merchant card shows the current operational status:

Status Meaning
Configuration Required Required setup is not complete.
Partial Active Some approved chains are ready to accept payments, while other selected chains still need setup or review.
Active All approved chains for the merchant are ready to accept payments.
Suspended New orders are disabled until the merchant is reactivated and its wallets and chains are verified again.
Terminated The merchant is permanently unavailable.

Merchant Details Setup

Open a merchant to view Merchant Details. The tabs separate profile review, payment setup, and integration settings:

Tab Use it to
Basic Info Review or update the merchant name, public display name, description, and Merchant ID.
API Key Management Create and revoke API keys for server-side API integration.
Wallet Settings Connect and verify settlement wallet addresses for the required chains.
Merchant Settings Set return URL rules, webhook delivery settings, order defaults, and status actions.
Chains & Tokens Review enabled networks, approval status, token standard, supported tokens, and minimum order amount.

Wallet settings are covered in Wallet Settings. API keys and webhooks are covered in API Keys and Authentication and Webhooks and Events.

Basic Info

Open Basic Info to update the merchant name, public display name, or description. The Merchant ID remains the stable identifier for integrations, support requests, and dashboard records.

API Key Management

Open Merchants > select merchant > API Key Management. API Key Management is available when the merchant status is Partial Active or Active.

To create a key, select Create Key, enter a key name, and complete MFA when requested.

Important: Save the full API key securely when it is created. It is shown only once, and later views show only a preview.

Revoke a key when it is no longer used or may have been exposed. Revocation is immediate, and integrations using that key stop working. The allowed number of active keys varies by plan.

Wallet Settings

Wallet Settings connects the merchant settlement wallet address for each required chain. A verified wallet address is required before that chain can accept new orders for the merchant.

For setup steps, verification rules, wallet address changes, and limitations, see Wallet Settings.

Return URL Settings

Open Merchants > select merchant > Merchant Settings > Return URL Settings to control where customers can return after paying on the Stafiel checkout page.

  • Allowed Return Origins accepts exact HTTPS origins and supported wildcard patterns for subdomains. For example, https://*.example.com allows return URLs from subdomains such as https://shop.example.com.
  • Allow all URLs allows return URLs supplied with checkout sessions without requiring a match against the allowed origins list.

If Allow all URLs is off and no allowed origin is configured, checkout does not use the metadata.returnToUrl value. See Metadata Reserved Fields and Rules.

Webhook Configuration

Open Merchants > select merchant > Merchant Settings > Webhook Configuration to add the HTTPS endpoint that receives payment lifecycle notifications.

When a webhook URL is saved for the first time, a signing secret is generated automatically. Use Test URL to check whether the HTTPS endpoint is reachable. This check does not send a webhook event.

The secret signs webhook requests for verification. Rotating it replaces the current secret immediately, so update the receiving system at the same time.

Order Defaults

Open Merchants > select merchant > Merchant Settings > Order Defaults to set the default payment window and after-sales window for new checkout sessions.

Setting What it controls
Payment window How long a checkout session stays payable before it expires. This value can be changed when creating a checkout session.
After-sales window How long the merchant can handle refunds before settlement.

Merchant Dashboard shows the allowed range for each setting. Changes apply only to future checkout sessions. Existing orders keep their saved values.

Merchant Status Actions

Open Merchants > select merchant > Merchant Settings > Danger Zone to suspend, reactivate, or terminate a merchant.

  • Suspend disables new orders. Existing orders continue using their recorded settlement data. All enabled-chain wallet bindings are revoked. Reactivation requires wallet reconnection, ownership verification, and review.
  • Terminate permanently disables the merchant. All API keys are revoked. Termination is allowed only when no live orders remain.

Note: Review the confirmation message before continuing. Termination cannot be undone.