---
title: "Confirm a payment parked at PendingConfirmation"
method: POST
path: "/v2/payments/confirm"
tags: ["Payments"]
---

# Confirm a payment parked at PendingConfirmation

`POST /v2/payments/confirm`

## Request

- Base URL: `https://api.sandbox.payall.com`
- URL: `https://api.sandbox.payall.com/v2/payments/confirm`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `/v2/oauth/token`

Confirms a payment that was created without the auto-confirm scope and is
currently `PendingConfirmation`, releasing it for processing.

This operation is allowed only for payments currently in the
`PendingConfirmation` status.

## Request body

- object
  - `id` string, uuid, required: ID of the payment to confirm.

## Response `200`

OK

- PaymentResponse
  - `end_to_end_id` string: End To End Identification This filed follows ISO 20022 guidelines. Unique identification, as assigned by the initiating party, to unambiguously identify the transaction. This identification is passed on, unchanged, throughout the entire end-to-end chain. Usage: The end-to-end identification can be used for reconciliation or to link tasks relating to the transaction. It can be included in several messages related to the transaction. If not provided, a random UUID based identifier will be generated.
  - `client_payment_id` string, required: External reference provided when initiating the payment.
  - `transaction_id` string: External reference provided when initiating the payment. (Same as `client_payment_id`)
  - `instruction_id` string: Id of the instruction registered in Payall system.
  - `uetr` string, uuid: Universally unique identifier to provide an end-to-end reference of a payment transaction.
  - `integration_id` string: Identifier used in communication with the Clearing Institution.
  - `id` string, uuid, required: Id of the newly initiated payment.
  - `initiated_at` string, date-time, required: The date-time when the payment was initiated. Notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z
  - `updated_at` string, date-time, required: The date-time when the payment was updated last time. Notation as defined by RFC 3339, section 5.6, for example, 2017-07-21T17:32:28Z.
  - `status` string, required
  - `fees` Fees: `payer` is the total fee carried by the payer. `recipient` is the total fee carried by the recipient.
    - `payer` Amount
      - `currency` string, iso-4217, required
      - `value` integer, required: Amounts are always in the smallest currency unit. Example: 1000.23 EUR is represented as 100023 euro cents.
    - `recipient` Amount
      - `currency` string, iso-4217, required
      - `value` integer, required: Amounts are always in the smallest currency unit. Example: 1000.23 EUR is represented as 100023 euro cents.
  - `exchange_rate` ExchangeRateInstance: `source_amount` represents a value in the currency **from** which the exchange is made. `target_amount` represents a value in the currency **to** which the exchange is made. For example 10 EUR (`source_amount`) converted **to** GBP will result in 8 GBP (`target_amount`).
    - `id` string, uuid
    - `source_amount` Amount
      - `currency` string, iso-4217, required
      - `value` integer, required: Amounts are always in the smallest currency unit. Example: 1000.23 EUR is represented as 100023 euro cents.
    - `target_amount` Amount
      - `currency` string, iso-4217, required
      - `value` integer, required: Amounts are always in the smallest currency unit. Example: 1000.23 EUR is represented as 100023 euro cents.
    - `expiration_date` string, date-time: Exchange rate is valid until this date and time.
  - `recipient_id` string, uuid: Id of the recipient used for this payment. If `recipient_id` was provided for the `PaymentRequest` then its value is returned unchanged. If new recipient information was provided then this field will contain the ID under which the new recipient information has been stored.
  - `payment_instrument_id` string, uuid: Id of the payment instrument used for this payment. If `payment_instrument_id` was provided for the `PaymentRequest` then its value is returned unchanged. If new payment instrument information was provided then this field will contain the ID under which the new payment instrument has been stored.
  - `code` string: Decline or error code as received from the payment provider or Payall. Only present when the payment was declined.
  - `decline_issuer` string: Entity that issued the decline: `PAYALL` for internal failures, the service provider name for external failures.
  - `auto_confirmed` boolean: Whether the payment was confirmed automatically right after creation. `true` if the caller holds the auto-confirm scope. `false` if the payment was instead parked at `PendingConfirmation`, awaiting an explicit confirm call.
  - `error` ErrorResponse
    - `code` string
    - `message` string
    - `trace_id` string, uuid
    - `details` unknown

## Other responses

- `404`: Payment not found This response will be sent if no payment with the given ID is available to your credentials.
- `405`: Not allowed This response will be sent if the payment is not currently in the `PendingConfirmation` status.

---

[API](https://skmtc.dev/payall/apis/payall-m2m-authentication-api.md) - [All operations](https://skmtc.dev/payall/apis/payall-m2m-authentication-api/llms.txt) - [OpenAPI document](https://skmtc.dev/payall/apis/payall-m2m-authentication-api/revisions/5f561eccd6ce?raw)
