Initiation is the first request of every alternative payment. It creates the order and returns what the customer needs to pay: a link to the method’s payment page, a payment-button script, or payment details such as a QR code, voucher, or deep link.

Use this page to choose the request that fits the sale, prepare the fields each method needs, and decide whether to reuse the payment for later charges.

API Init payment API v1 endpoint initiates a payment using an alternative payment method, creates the order, and prepares the transaction so the customer can proceed with the payment process.

How initiation works

  1. Send an init payment request with the order, customer, and method details. Each method lists its required fields, such as a document number or a phone number, on its page in choose APM.
  2. Show the customer the next step from the response: redirect to pay_form.return_url, load the payment button from pay_form.script_url, or display the payment details returned in payment_type_data.
  3. Wait for the result. The order stays in processing until the customer completes the payment, and the final status arrives in the updated alternative order Webhook . The same event can arrive more than once, so process it idempotently.
  4. If the payment is reused for later charges, store the token from the order and charge it with the recurring API v1 endpoint.

Request types

Choose the request by where the price comes from. All three use the same endpoint, and payment_method selects the method.

Request When to use Key fields Methods
Payment You set the price in the request, for a one-off sale or for recurring charges you schedule yourself. amount, currency, future_usage where the method requires it All methods
Product-based payment A one-time product, such as an upsell. The price comes from the product. product_id, customer_account_id All methods except Bizum, Cash App Pay, and Pix Automático
Subscription payment The first payment of a Solidgate subscription. The billing plan comes from the product. product_id, customer_account_id Alipay, BLIK Recurring, GCash, Klarna, MB WAY, Mercado Pago, PayPal, Pix Automático, SmartPix, UPI, WeChat Pay

Product-based and subscription requests do not take an amount. The billing plan comes from the product, so do not send future_usage.billing_period with a product for Klarna, Pix Automático, or UPI, or future_usage.billing_amount for Klarna. For Pix Automático and UPI subscription requests, billing_period results in a validation error. future_usage.max_amount stays optional and sets a custom authorization ceiling.


Init future payment

Billing logic defines who initiates a payment and whether the customer is present: a single purchase (one-time), a later purchase the customer starts without entering details again (1-click), charges on a fixed schedule (recurring), or charges you start when needed (unscheduled).

Billing logic payment_type
One-time one-time 1-click recurring unscheduled
1-click one-time 1-click recurring unscheduled
Recurring one-time 1-click recurring unscheduled
Unscheduled one-time 1-click recurring unscheduled

Payment type is the API value in future_usage.payment_type . The value can differ from the billing-logic label. unscheduled is a superset of Unscheduled, Recurring, and 1-click when the provider does not restrict token use. When a method supports both a native type and unscheduled , send the native type.

Method payment_type
Alipay alipay one-time 1-click recurring unscheduled
Bizum bizum one-time 1-click recurring unscheduled
BLIK One-time blik one-time 1-click recurring unscheduled
BLIK Pay Later blik-bnpl one-time 1-click recurring unscheduled
BLIK Recurring blik one-time 1-click recurring unscheduled
Cash App Pay cashapp one-time 1-click recurring unscheduled
GCash gcash one-time 1-click recurring unscheduled
Klarna klarna-network one-time 1-click recurring unscheduled
MB WAY mbway one-time 1-click recurring unscheduled
MobilePay mobilepay one-time 1-click recurring unscheduled
Multibanco multibanco one-time 1-click recurring unscheduled
Pix Automático pix-automatico one-time 1-click recurring unscheduled
UPI Collect upi one-time 1-click recurring unscheduled
UPI Intent upi one-time 1-click recurring unscheduled
WeChat wechatpay one-time 1-click recurring unscheduled

PayPal does not use future_usage. It stores a reusable token through a billing agreement.

API Init payment API v1 , create page API v1 , create link API v1 or init payment form Guide with future_usage object
Use this flow to define intent for subsequent use of the customer's payment credentials, token-based future charges.
It ensures compliance with scheme rules, reduces declines on future payments, and improves success rates. future_usage object Required

Description

Defines the usage of stored payment credentials.

Should be provided either future_usage or product_id.

Example

{
  "future_usage": {
    "payment_type": "recurring"
  }
}
payment_type string Required

Description

Type of the token usage scenario.

  • one-time no token created, for one-off use. Maps only to One-time billing logic.
  • 1-click token for future customer-initiated payments without re-entering details. Maps only to 1-click billing logic.
  • recurring token for fixed scheduled merchant-initiated charges, for subscriptions. Maps only to Recurring billing logic.
  • unscheduled token for unscheduled or variable merchant-initiated charges, for auto-top-up. Maps to Unscheduled, Recurring, and 1-click when the provider does not restrict token use.

Billing period and amount ceiling

Methods that keep a mandate limit how often and how much you can charge. Set these limits in the first request, or in the Solidgate product for product-based and subscription requests. The method page holds the full rules.

Method Billing period Amount ceiling With a product
Klarna Required for recurring . Any interval in days, weeks, months, or years. billing_amount is required and sets the amount of each later charge. Do not send billing_period or billing_amount.
Pix Automático Required. 7 days, 1 week, 1, 3, 6, or 12 months, or 1 year. A trial is at least 2 days. max_amount is required and caps each charge in the billing cycle. The product uses an allowed period. max_amount is optional.
UPI Intent Required for recurring . Daily, weekly, monthly, or yearly. A trial matches the billing period. max_amount is required, up to ₹15,000 per charge. The product uses an allowed period. max_amount is optional.
UPI Collect Not used. Charges are unscheduled . max_amount is required without a product, up to ₹15,000 per charge. max_amount is optional.
BLIK Recurring Not used. Charges are unscheduled . Up to PLN 2,000 per charge. Subscription requests take the plan from the product.
Alipay, GCash, MB WAY, WeChat Pay Taken from the product. Not used. Recurring and unscheduled charges use subscription requests only.

Init future payment calculation

Send at least payment_type or product_id. If only product_id is sent, the intent is the product type. Compatible requests use payment_type when it is present.

These requests succeed.

payment_type Product Intent
Not sent one-time one-time
Not sent recurring recurring
one-time No product one-time
one-time one-time one-time
1-click No product 1-click
1-click one-time 1-click
recurring No product recurring
recurring recurring recurring
unscheduled No product unscheduled
unscheduled one-time unscheduled
unscheduled recurring unscheduled

These requests are declined.

payment_type Product Intent
Not sent No product DECLINED
one-time recurring DECLINED
1-click recurring DECLINED
recurring one-time DECLINED