> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gate.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Confirm Deposit Payment

> Notify the system that the merchant has completed the offline fiat transfer. This endpoint uses multipart/form-data. When generating the signature, use the plain text payload "timestamp\nnonce\n\n" and do not append the multipart body.

## Overview

This page documents the `POST /open/otc/api/recharge/confirm` endpoint. The full schema, parameters, and examples are rendered from the linked OpenAPI definition above.

## Notes

* Authentication uses the standard GatePay signed headers.
* This page documents the standard merchant endpoint.
* For shared signing rules, see [/api-reference/version/100/en/common/securityAndSignature](/api-reference/version/100/en/common/securityAndSignature).

## Supplemental Field Notes

* `client_order_id`: merchant order ID retained for compatibility with the legacy confirm-paid request.
* If both `orderId` and `client_order_id` are provided, prefer the current order-ID-based flow and upload the payment receipt file according to the latest OpenAPI definition.


## OpenAPI

````yaml /api-reference/version/100/en/openapi/otc-fiat-openapi.json POST /open/otc/api/recharge/confirm
openapi: 3.1.0
info:
  title: GatePay OTC Fiat API
  description: Reference for OTC fiat withdrawal and deposit APIs.
  version: 2.1.0
servers:
  - url: https://openplatform.gateapi.io
security: []
paths:
  /open/otc/api/recharge/confirm:
    post:
      summary: Confirm OTC Deposit Payment Completed
      description: >-
        Notify the system that the merchant has completed the offline fiat
        transfer. This endpoint uses multipart/form-data. When generating the
        signature, use the plain text payload "timestamp\nnonce\n\n" and do not
        append the multipart body.
      parameters:
        - $ref: '#/components/parameters/X-GatePay-Certificate-ClientId'
        - $ref: '#/components/parameters/X-GatePay-Signature'
        - $ref: '#/components/parameters/X-GatePay-Timestamp'
        - $ref: '#/components/parameters/X-GatePay-Nonce'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              $ref: '#/components/schemas/ConfirmRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GenericSuccessResponse'
components:
  parameters:
    X-GatePay-Certificate-ClientId:
      name: X-GatePay-Certificate-ClientId
      in: header
      required: true
      schema:
        type: string
      description: Merchant application client ID used to identify the calling app.
    X-GatePay-Signature:
      name: X-GatePay-Signature
      in: header
      required: true
      schema:
        type: string
      description: >-
        HMAC signature generated from the request according to GatePay signing
        rules.
    X-GatePay-Timestamp:
      name: X-GatePay-Timestamp
      in: header
      required: true
      schema:
        type: string
      description: Unix timestamp used for replay protection and signature verification.
    X-GatePay-Nonce:
      name: X-GatePay-Nonce
      in: header
      required: true
      schema:
        type: string
      description: Random nonce used together with the timestamp to prevent replay attacks.
  schemas:
    ConfirmRequest:
      type: object
      properties:
        client_order_id:
          type: string
          description: >-
            Merchant order ID, retained for compatibility with the legacy
            confirm-paid request.
        orderId:
          type: string
          description: OTC deposit order ID to confirm.
        file:
          type: string
          format: binary
          description: 'Payment receipt file. Max 4 MB. Supported formats: jpg, jpeg, png.'
      required:
        - orderId
        - file
      example:
        client_order_id: merchant-otc-deposit-20260415-001
        orderId: '71347515709194240'
        file: (binary)
    GenericSuccessResponse:
      type: object
      properties:
        code:
          type: string
          description: Business response code.
        status:
          type: string
          description: Top-level request status.
        errorMessage:
          type: string
          description: Error message when the request fails.
        data:
          oneOf:
            - type: object
              additionalProperties: true
              description: Business response payload.
            - type: string
              description: Business response payload.
          description: Business response payload.

````