Creating a Subscription Offer

Available via: Dashboard and API

From the Dashboard

  1. Go to Subscriptions in your Inflow Dashboard.
  2. Click Create Offer.
  3. Fill in the offer details:
    • Name — The offer name (shown to customers)
    • Description — What the subscription includes
    • Amount — Price per billing cycle (in cents, minimum 150 = €1.50)
    • Currency — EUR or USD
    • Billing Interval — Day, week, month, or year
    • Interval Count — Number of intervals between charges (e.g., 2 months)
  4. Optionally configure advanced features:
    • Trial Period — Number of free days before the first charge (1–365)
    • Entry Fee — A different amount for the first payment (minimum 150 cents)
    • Cycle Count — Maximum number of billing cycles (minimum 2, leave empty for unlimited)
    • Waitlist — Require manual approval before activating subscriptions
    • Discord Role — Automatically assign a Discord role to active subscribers
    • Pricing Mode — TAX_EXCLUSIVE (default) or TAX_INCLUSIVE
    • Collect Extra Info — Ask for additional information during checkout
    • Session Customization — Custom background color, font color, logo, and merchant name
    • Redirect URLs — Success and cancel URLs after checkout
  5. Click Create.

A subscription link is automatically generated: checkout.inflowpay.com/subscribe/{offerId}

Via the API

curl -X POST https://api.inflowpay.xyz/subscription/offer \
  -H "X-Inflow-Api-Key: your_private_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Pro Plan",
    "description": "Full access to all features",
    "amountInCents": 2999,
    "currency": "EUR",
    "interval": "month",
    "intervalCount": 1,
    "trialPeriodDays": 14,
    "waitlistEnabled": false,
    "pricingMode": "TAX_EXCLUSIVE",
    "successUrl": "https://yoursite.com/welcome",
    "cancelUrl": "https://yoursite.com/pricing",
    "sessionCustomization": {
      "bgColor": "#ffffff",
      "fontColor": "#000000",
      "logoUrl": "https://yoursite.com/logo.png",
      "merchantName": "Your Brand"
    }
  }'

Request Body

FieldTypeRequiredDescription
namestringYesOffer name
descriptionstringYesOffer description
amountInCentsnumberYesPrice per cycle in cents (min 150, max 99999999)
currencystringYesEUR or USD
intervalstringYesday, week, month, or year
intervalCountnumberYesNumber of intervals between charges
trialPeriodDaysnumberNoFree trial days (1–365)
entryFeesInCentsnumberNoFirst payment amount in cents (min 150)
cycleCountnumberNoTotal billing cycles (min 2)
waitlistEnabledbooleanNoRequire approval before activation
pricingModestringNoTAX_EXCLUSIVE (default) or TAX_INCLUSIVE
extraInfoNeededbooleanNoCollect extra info from customers
discordGuildIdstringNoDiscord server ID for role assignment
discordRoleIdstringNoDiscord role ID to assign
successUrlstringNoRedirect URL after successful subscription
cancelUrlstringNoRedirect URL if customer cancels checkout
sessionCustomizationobjectNoCheckout appearance customization

Response

Returns the created subscription offer with its id. Use this ID to build the subscription link:

https://checkout.inflowpay.com/subscribe/{offerId}

Updating an Offer

From the Dashboard, you can update an offer's name, description, and settings. Via the API, offer updates are currently dashboard-only (PATCH /dashboard/subscription/offers/:id).

Changing the price of an offer does not affect existing subscribers — only new subscriptions will use the updated price.