Payment Sessions

Payment Profiles

Reusable checkout templates with branding and default settings

Payment Profiles store reusable checkout configuration - branding, URLs, and default settings. Create profiles in the dashboard, then reference them when creating sessions via API.

Profiles are managed through the Snippe Dashboard. You cannot create or modify profiles via API.


Why Use Profiles?

  • Consistency: Same branding across all checkouts
  • Efficiency: No need to repeat configuration for each session
  • Multiple Brands: Different profiles for different products/stores
  • Easy Updates: Change profile once, affects future sessions

Creating Profiles

Profiles are created and managed in the Snippe Dashboard:

  1. Go to Settings > Payment Profiles
  2. Click Create Profile
  3. Configure your branding and default settings
  4. Save and copy the profile ID

Payment Profiles List

Profile Form


Profile Settings

FieldDescription
nameInternal name (e.g., "Main Store", "Event Sales")
merchant_nameDisplay name on checkout
merchant_logoLogo URL (recommended: 200x200px)
merchant_websiteYour website URL
brand_colorHex color (e.g., #4F46E5)
localeLanguage: en or sw
allowed_methodsDefault payment methods
redirect_urlDefault success redirect URL
webhook_urlDefault webhook URL
collect_emailShow email field (default: true)
is_defaultUse when no profile_id specified

Using Profiles with Sessions

Reference a profile when creating sessions:

{
  "profile_id": "prof_550e8400-e29b-41d4-a716-446655440000",
  "amount": 50000,
  "description": "Order #12345"
}

The session inherits all profile settings. You can override configuration fields like redirect_url, webhook_url, and allowed_methods per-request:

{
  "profile_id": "prof_550e8400-e29b-41d4-a716-446655440000",
  "amount": 50000,
  "description": "Order #12345",
  "redirect_url": "https://acme.com/orders/12345"
}

Field Merge Logic

Branding fields come exclusively from the profile. Configuration fields can be overridden per-request.

FieldSourceDefault
merchant_nameProfile only-
merchant_logoProfile only-
brand_colorProfile only-
localeProfile onlyen
collect_emailProfile onlytrue
allowed_methodsRequest > Profile["mobile_money", "qr"]
redirect_urlRequest > Profile-
webhook_urlRequest > Profile-

Default Profile

You can set one profile as the default in the dashboard. The default profile is automatically applied when creating sessions without specifying a profile_id.

Updates to a profile only affect future sessions. Existing sessions retain their original configuration.

On this page