---
title: "Simulate transaction advancement"
method: POST
path: "/v1/marketplaces/{marketplaceId}/merchants/{merchantId}/advancements/transactions"
tags: ["Merchant advancement"]
---

# Simulate transaction advancement

`POST /v1/marketplaces/{marketplaceId}/merchants/{merchantId}/advancements/transactions`

## Request

- Base URL: `https://sandbox.pismolabs.io/merchants`
- URL: `https://sandbox.pismolabs.io/merchants/v1/marketplaces/{marketplaceId}/merchants/{merchantId}/advancements/transactions`
- Auth: none declared. Required headers: `Authorization`

Create or simulate a merchant advancement request for specified transactions. You can select which transaction you want to advance by specifying a merchant transaction ID. To trigger a simulated advancement request, you must include `confirmAdvancement=false` in the query string. If you specify `true`, the advancement request becomes an actual request, not a simulation.<br>

When a merchant advancement transaction is created, the endpoint produces [Merchant transaction created](https://developers.pismo.io/events/docs/merchants-merchant-transaction-created-1) and
[Merchant advancement transaction created](https://developers.pismo.io/events/docs/merchants-advancement-transaction-create-1) events.

## Path parameters

- `marketplaceId` integer, required: Marketplace ID
- `merchantId` integer, required: Merchant ID

## Query parameters

- `confirmAdvancement` boolean: When set to `true`, it means you are sending an actual advancement request (confirmed advancement); otherwise, it is a simulated advancement. The default value is `false`.

## Headers

- `Authorization` string, required: Authorization token

## Request body

- TransactionsAdvancementsRequest
  - `request_date` string, date, required: Date for payment of the advancement (YYYY-MM-DD). Must be greater than or equal to today, where "today" is evaluated in the merchant program's resolved timezone. The organization's timezone is used as fallback.
  - `real_time_settlement` boolean, required: If `true`, the transaction is settled in realtime; that is, at the exact moment. The default is `false`.
  - `merchant_transaction_ids` integer[], required: List of Merchant Transaction IDs
  - `campaign_advancement_fee` number, float: Campaign advancement fee applied to the current advancement request. It replaces the advancement fee set for the merchant in the request.
  - `campaign_discount_rate` number, float: Campaign discount rate applied to all merchants in the current advancement request.
  - `merchants` object[]
    - `merchant_id` integer: Merchant ID of the advancement request. Must be the current merchant or a branch of the current merchant.
    - `campaign_discount_rate` number, float: Rate applied to a single merchant.
    - `merchant_transaction_ids` integer[]: List of Merchant Transaction IDs

## Response `202`

ACCEPTED

- TransactionsAdvancementsResponse
  - `simulation_id` string: ID generated for the simulated advancement. This field is only returned if it is a simulation.
  - `advancement_request_id` integer: This field is returned only if it's an actual advancement request (`EFFECTIVE`)
  - `type` string: Operation type, returns either `SIMULATION` or `EFFECTIVE`
  - `request_date` string, date: Advancement request date
  - `currency_code` string: ISO-4217 alphabetic (3 characters) currency code.

## Other responses

- `400`: BAD REQUEST
- `404`: Marketplace or merchant does not belong to the tenant

---

[API](https://skmtc.dev/pismo/apis/seller-management-merchant-advancements.md) - [All operations](https://skmtc.dev/pismo/apis/seller-management-merchant-advancements/llms.txt) - [OpenAPI document](https://skmtc.dev/pismo/apis/seller-management-merchant-advancements/revisions/3cb3ff54cef7?raw)
