Initiate APM

Initiate APM
Create the first alternative payment order, choose the request for a one-time, product, or subscription payment, and set how the payment is reused for later charges

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.

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 Guide
    Compare and filter alternative and local payment methods by region, category, flow, billing logics, and capabilities.
    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.

RequestWhen to useKey fieldsMethods
PaymentYou 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 itAll methods
Product-based paymentA one-time product, such as an upsell. The price comes from the product.product_id, customer_account_idAll methods except Bizum, Cash App Pay, and Pix Automático
Subscription paymentThe first payment of a Solidgate subscription. The billing plan comes from the product.product_id, customer_account_idAlipay, 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

Guide
Understand APM categories, subtypes, payment flows, and billing logics before you compare methods in Choose APM.
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
Guide
Accept Alipay payments from Chinese consumers with QR code and redirect-based checkout flows for cross-border e-commerce transactions.
Alipay
alipay
one-time 1-click recurring unscheduled
Guide
Integrate Bizum for the Spanish market to enable instant peer-to-peer bank payments directly from customer mobile banking applications.
Bizum
bizum
one-time 1-click recurring unscheduled
Guide
Accept BLIK payments in Poland with one-time authorization codes that let customers pay directly from their bank accounts in real time.
BLIK One-time
blik
one-time 1-click recurring unscheduled
Guide
Offer BLIK Pay Later in Poland so customers can defer payment for 30 days while merchants receive funds upfront through existing BLIK infrastructure.
BLIK Pay Later
blik-bnpl
one-time 1-click recurring unscheduled
Guide
Accept BLIK Recurring in Poland with a one-time mandate setup that lets merchants charge a customer's bank account automatically without re-authentication for each transaction.
BLIK Recurring
blik
one-time 1-click recurring unscheduled
Guide
Accept Cash App Pay to let US customers check out using their Cash App balance or linked debit card with a seamless mobile experience.
Cash App Pay
cashapp
one-time 1-click recurring unscheduled
Guide
Accept GCash e-wallet payments to reach millions of Filipino consumers with mobile-first checkout and instant transaction confirmation.
GCash
gcash
one-time 1-click recurring unscheduled
Guide
Accept Klarna payments globally with pay now, pay later, and financing options through a single redirect-based Solidgate integration.
Klarna
klarna-network
one-time 1-click recurring unscheduled
Guide
Accept MB WAY mobile payments from Portuguese customers with instant bank-linked transactions and real-time authorization confirmation.
MB WAY
mbway
one-time 1-click recurring unscheduled
Guide
Accept MobilePay to reach customers in Denmark and Finland with mobile wallet checkout via redirect and app-based authorization.
MobilePay
mobilepay
one-time 1-click recurring unscheduled
Guide
Accept Multibanco bank reference payments in Portugal with voucher-based checkout redeemable at ATMs, banks, and home banking.
Multibanco
multibanco
one-time 1-click recurring unscheduled
Guide
Accept Pix instant payments in Brazil with QR-code-based checkout, real-time fund transfers, and Central Bank-regulated settlement.
Pix Automático
pix-automatico
one-time 1-click recurring unscheduled
Guide
Accept UPI Collect payments in India where customers enter a Virtual Payment Address and approve a push notification in their UPI app.
UPI Collect
upi
one-time 1-click recurring unscheduled
Guide
Accept UPI Intent payments in India where customers select their UPI app directly or scan a QR code on desktop for one-time and mandate-based checkout.
UPI Intent
upi
one-time 1-click recurring unscheduled
Guide
Accept WeChat Pay to reach over one billion Chinese consumers with in-app and QR-code-based mobile payment flows for cross-border sales.
WeChat
wechatpay
one-time 1-click recurring unscheduled

PayPal does not use future_usage. It stores a reusable token through a Guide
A billing agreement lets you charge the customer's PayPal account later without a new login for each follow-up payment.
billing agreement.

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.

Description

Defines the usage of stored payment credentials.

Should be provided either future_usage or product_id.

Example

1
2
3
4
5
{
  "future_usage": {
    "payment_type": "recurring"
  }
}

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.

MethodBilling periodAmount ceilingWith a product
KlarnaRequired 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áticoRequired. 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 IntentRequired 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 CollectNot used. Charges are unscheduled .max_amount is required without a product, up to ₹15,000 per charge.max_amount is optional.
BLIK RecurringNot used. Charges are unscheduled .Up to PLN 2,000 per charge.Subscription requests take the plan from the product.
Alipay, GCash, MB WAY, WeChat PayTaken 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 ProductIntent
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 ProductIntent
Not sentNo product DECLINED
one-time recurring DECLINED
1-click recurring DECLINED
recurring one-time DECLINED


Looking for help? Contact us
Stay informed with Changelog