---
title: "Immediate tokenized payment charge (auth + capture)"
method: POST
path: "/tokenized-payment/v1/charge"
tags: ["Pre-Auth"]
---

# Immediate tokenized payment charge (auth + capture)

`POST /tokenized-payment/v1/charge`

Charges the user's linked payment method in a single step without a pre-authorization hold. Use this for one-shot payments where you do not need to adjust the amount before capture.

## Headers

- `X-ShopBack-Idempotent-Id` string, required

## Request body

- ImmediateChargeRequestDto
  - `paymentToken` string, required — Payment token from POST /token. Resolves the user and their default card.
  - `merchantUserId` string, required — Merchant's opaque identifier for the end user. Must match the merchantUserId used when the paymentToken was issued.
  - `amount` number, required — Charge amount. Must be > 0.
  - `currency` string, required — 3-letter ISO currency code. Must match the merchant channel country currency.
  - `merchantRef` string, required — Merchant's reference ID. Used for idempotent duplicate detection.
  - `useCashback` boolean — Whether to apply available cashback to this charge.
  - `callbackUrl` string — HTTPS URL to receive order status webhook notifications. When provided, ShopBack will POST the order outcome to this URL upon payment completion or failure. Must use HTTPS with a valid public domain.

## Response `201`

- ImmediateChargeResponseDto
  - `uuid` string, required — Charge UUID.
  - `orderUuid` string, required — UUID of the settled order created by this charge.
  - `status` string, required — Order status after charge.
  - `orderType` string, required — Order type.
  - `merchantRef` string, required — Merchant's reference ID supplied at charge creation.
  - `merchantOrderId` string, required — Merchant's order ID.
  - `consumerEmail` string, required — Consumer's email address.
  - `failureReason` string, nullable, required — Failure reason if the charge failed; null on success.
  - `createdAt` string, required — ISO 8601 creation timestamp.

## Other responses

- `400` — One or more required fields are missing, the amount must be greater than zero, or the currency is invalid.
- `401` — The payment token was not found, has been unlinked, or belongs to a different merchant.

---

[API](https://skmtc.net/shopback/apis/online-payments-api.md) · [All operations](https://skmtc.net/shopback/apis/online-payments-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/shopback/online-payments-api/revisions/160fc287769e/schema)
