Solidgate

Charge a partner-initiated transaction (Solidgate orchestrated)

Charge a stored token in a partner-initiated transaction — a subscription renewal or scheduled payment that runs without customer interaction — by calling Solidgate directly with the Solidgate token and letting Solidgate authorize the charge with Klarna.
This guide explains how to charge a stored token in a partner-initiated transaction — a subscription renewal or any scheduled charge that runs without customer interaction — where Solidgate orchestrates the charge. You call Solidgate directly, Solidgate resolves the token and authorizes the charge with Klarna on your behalf.
Because the transaction is partner-initiated and runs without customer interaction, it runs entirely server-side. You never call Klarna yourself — this is the simplest partner-initiated charge.
This is pattern A of the partner-initiated charge. The alternative — creating the Klarna payment request yourself and confirming via Solidgate with the klarna_network_session_token — is described in Charge a partner-initiated transaction (Partner orchestrated). See the tokenized payments overview to compare the two.
Partner-initiated token charges are how you bill recurring subscriptions. For how Solidgate models subscriptions, billing periods, retries, and the subscription lifecycle, see Solidgate's Subscription overview.

Prerequisites

Before you integrate, check that you meet the following prerequisites:
  1. 1.
    Ensure that you have Klarna enabled with Solidgate.
  2. 2.
    A stored Solidgate token for the customer — Solidgate's own token identifier, mapped to a Klarna Customer Token issued with the payment:customer_not_present scope (see Create a Klarna Customer Token).
  3. 3.
    Add Terms and Conditions covering recurring charges.
Solidgate owns the Klarna-side credentials and lifecycle for this flow, so a single server-side call to Solidgate is all you need.

Integration overview

  1. 1.
    Your server calls Solidgate with the stored token and the purchase details.
  2. 2.
    Solidgate authorizes the charge with Klarna behind the scenes. Because the transaction runs without customer interaction, the charge resolves immediately.
  3. 3.
    Solidgate returns the outcome.
sequenceDiagram autonumber participant P as Partner participant AP as Solidgate P->>AP: Create payment Note over P,AP: Solidgate token<br/>klarna_network_data: subscriptions AP-->>P: Order completed notification

Integration details

The charge credential

Because Solidgate initiates this charge, the charge credential is fixed — you authorize it with the Solidgate token (Solidgate's own token identifier), which Solidgate maps server-side back to the Klarna Customer Token it holds. This isn't a choice you make per charge: the Solidgate token is the sub-partner-facing credential for Solidgate-initiated charges.

Charge the customer via Solidgate

Call Solidgate with the Solidgate token and the subscription details. The request/response contract is owned by Solidgate; only the Klarna-specific fields you reference are shown here.
FieldPresenceDescription
Charge credentialrequiredThe Solidgate token — Solidgate's own token identifier, which Solidgate maps server-side to the Klarna Customer Token it holds.
klarna_network_datarecommendedSerialized JSON carrying the subscription metadata (subscriptions). Improves acceptance and the customer's post-purchase experience.
BASH
1 2 3 4 5 6 7 8 9 10
curl -X POST https://api.acquiring-partner.com/payment \ -H "Content-Type: application/json" \ -d '{ "amount": 2500, "currency": "USD", "payment_methods": { "klarna": { "<acquiring-partner token>": "", "klarna_network_data": "{\"subscriptions\": [ ... ]}" }
Refer to Solidgate's API reference for the full request shape, including how to reference the Solidgate token, subscription metadata, and response codes.

Handle the outcome

The charge resolves to one of two outcomes:
OutcomeWhat it meansNext step
APPROVEDKlarna authorized the charge.Fulfil the subscription period and record the successful charge.
DECLINEDKlarna did not authorize the charge.Apply your subscription retry / dunning logic and, if appropriate, notify the customer.
A step-up is not possible here — a partner-initiated transaction runs without customer interaction, so there is no one to complete one. The response is always APPROVED or DECLINED. Plan your subscription logic accordingly.
Related articles
Charge a partner-initiated transaction (Partner orchestrated)
Tokenized payments overview
Create a Klarna Customer Token (Partner orchestrated)
1. General