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

# Mark onramp as paid

Marks an existing onramp order as paid by the customer.

This notifies Onboard that the customer has confirmed making cash payment to the counterparty.


## OpenAPI

````yaml post /transactions/onramp/customer-deposit
openapi: 3.0.3
info:
  version: 2.1.0
  title: Onboard External API Gateway
  description: >-
    **Introduction**

    API Gateway for Onboard


    This specification describes API endpoints that are available to the public
    internet via the API gateway. The different endpoints require different
    authentication schemes, see documentation for what applies to the operation
    you want to access.


    **Errors**

    Uses conventional HTTP response codes to indicate success or failure. In

    general:
     
    - `2xx` status codes indicate success. Codes in the

    - `4xx` range

    indicate a client error (e.g. required parameters, failed request etc.).

    - `5xx` status codes indicate a server error occurred.
  contact:
    name: Nestcoin TechOps
    email: techops@nestcoin.com
  license:
    name: UNLICENSED
servers:
  - url: https://external.dev.onboardpay.co
    description: Gateway for external API on staging environment.
security: []
tags:
  - name: users-onboardapi
    description: Endpoints available to for merchants liquidity automation
  - name: users-users
    description: User related endpoints
  - name: users-partners
    description: Partner related endpoints
  - name: users-admin
    description: Back office related endpoints
  - name: users-user2fa
    description: User 2fa related endpoints
  - name: users-usernotifications
    description: User notifications related endpoints
  - name: users-merchantnetwork
    description: Merchant network endpoints
  - name: users-userauth
    description: Authentication endpoints
  - name: users-userservice
    description: Service endpoints
  - name: users-webhook
    description: webhook endpoints
paths:
  /transactions/onramp/customer-deposit:
    post:
      tags:
        - transactions-onramp
        - transactions-onboardapi
      summary: Customer acknowledges transfer of fiat
      operationId: onrampCustomerDeposit
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CustomerActionRequest'
        required: false
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionDTO'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '401':
          description: Unauthorized request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
        '500':
          description: Server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorMessageDto'
      security:
        - authToken: []
components:
  schemas:
    CustomerActionRequest:
      allOf:
        - $ref: '#/components/schemas/CustomerActionFields'
        - type: object
          properties:
            txHash:
              type: string
              description: Deposit transaction hash for deposit related transaction
            permitSignature:
              type: string
              description: Permit data signature for permit related approval
            flag:
              type: string
            paymentReceiptUploadId:
              type: string
              description: Upload ID for receipt uploaded on storage bucket
    TransactionDTO:
      required:
        - customerId
        - fee
        - id
        - reference
        - status
      type: object
      properties:
        id:
          type: string
          format: uuid
        reference:
          type: string
          example: '0165359005113074501885'
        customerId:
          type: string
          format: uuid
        customerName:
          type: string
          example: John Doe
        offer:
          $ref: '#/components/schemas/TransactionsSvcOfferDTO'
        escrowAddress:
          type: string
          description: Escrow address
          example: 1.2869144918162796e+48
        paymentChannelId:
          type: string
          example: BANK_TRANSFER_NIGERIA
        paymentMethod:
          type: object
          properties: {}
        buyerPaymentMethod:
          type: object
          properties: {}
        customerWallet:
          $ref: '#/components/schemas/TransactionsSvcWalletDTO'
        tokenAddress:
          type: string
          example: 0
        status:
          $ref: '#/components/schemas/TransactionOrderStatus'
        createdAt:
          type: string
          format: date-time
          x-faker: date.recent
        initiatedAt:
          type: string
          format: date-time
          x-faker: date.recent
        depositedAt:
          type: string
          format: date-time
          x-faker: date.recent
        confirmedAt:
          type: string
          format: date-time
          x-faker: date.recent
        completedAt:
          type: string
          format: date-time
          x-faker: date.recent
        cancelledAt:
          type: string
          format: date-time
          x-faker: date.recent
        cancellationReason:
          type: string
        disputeId:
          type: string
          default: 'null'
        timeout:
          $ref: '#/components/schemas/TimeoutDTO'
        lockHash:
          type: string
          default: 'null'
        confirmationHash:
          type: string
          default: 'null'
        cancellationHash:
          type: string
          default: 'null'
        isPartnerAcknowledged:
          type: boolean
          default: false
        defaultingParty:
          $ref: '#/components/schemas/UserType'
        rating:
          type: number
          example: 3
        isCexOrder:
          type: boolean
          example: false
        fee:
          $ref: '#/components/schemas/TransactionsSvcFee'
        instantPayProcessingStatus:
          $ref: '#/components/schemas/InstantPayProcessingStatus'
        tradeValue:
          type: number
          description: Actual token amount that is to be traded
          deprecated: true
        merchantTokenValue:
          type: number
          description: Actual token value that is to be traded by merchant less any fees
        customerTokenValue:
          type: number
          description: Actual token value that is to be traded by customer less any fees
        payableAmount:
          type: number
          description: Actual fiat amount that is to be paid.
        thirdpartyOrderInfo:
          $ref: '#/components/schemas/ThirdpartyOrderInfoDTO'
        isNoKyc:
          type: boolean
          description: Flag showing if order is a no kyc order
        paymentReceiptUploadId:
          type: string
          description: Upload ID for receipt uploaded on storage bucket
          default: 'null'
        suppressCustomerNotifications:
          type: boolean
          description: >-
            Flag to indicate if notifications should be sent to the customer or
            not during the lifetime of this transaction
          default: false
        chatUnavailable:
          type: boolean
          description: Flag to indicate if chat is unavailable for this transaction
          default: false
        tradeContext:
          $ref: '#/components/schemas/TradeContext'
    ErrorMessageDto:
      description: >-
        Default error object for services. This gives consistent error object
        that all services may use.
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Error code
          example: UNKNOWN_ERROR
        message:
          type: string
          description: Descriptive error message
          example: Request could not be completed due to an error
        data:
          type: object
          description: Additional data for this error message.
          additionalProperties: true
          properties: {}
      x-common-model: ErrorMessageDto
    CustomerActionFields:
      required:
        - customerId
        - transactionId
      type: object
      properties:
        customerId:
          type: string
          format: uuid
        transactionId:
          type: string
          format: uuid
    TransactionsSvcOfferDTO:
      required:
        - instantPayEnabled
        - networkId
        - partnerId
        - rate
        - token
        - tokenAmount
        - transactionType
      type: object
      properties:
        offerId:
          type: string
          format: uuid
        partnerId:
          type: string
          format: uuid
        transactionType:
          $ref: '#/components/schemas/TransactionType'
        rate:
          type: number
          example: 0.32
        networkId:
          type: string
          example: TRC20
        fiatSymbol:
          type: string
          example: NGN
        fiatAmount:
          type: number
          example: 120.5
        token:
          type: string
          example: USDT
        tokenAmount:
          type: number
          example: 120.5
        usdAmount:
          type: number
          example: 120.5
        partnerDisplayName:
          type: string
          example: John Doe
        adNote:
          type: string
          example: Guaranteed fast payment
        instantPayEnabled:
          type: boolean
        instantPayPaymentAccountId:
          type: string
        tradeMode:
          $ref: '#/components/schemas/TransactionsSvcTradeMode'
    TransactionsSvcWalletDTO:
      type: object
      properties:
        walletAddress:
          type: string
          example: 0
        networkId:
          type: string
          example: bsc_testnet
        walletName:
          type: string
          example: My Trust Wallet
    TransactionOrderStatus:
      type: string
      description: Order transaction status
      enum:
        - INITIATED
        - DEPOSITED
        - CONFIRMED
        - COMPLETED
        - PENDING
        - CANCELLED
        - IN_DISPUTE
        - AWAITING_ACCEPTANCE
    TimeoutDTO:
      type: object
      properties:
        name:
          type: string
          enum:
            - APPROVE_TRANSACTION
            - MAKE_DEPOSIT
            - CONFIRM_DEPOSIT
            - FLAG_DISPUTE
            - ACKNOWLEDGE_TRANSACTION
        startTime:
          type: string
          format: date-time
          x-faker: date.recent
        duration:
          type: number
        timeLeft:
          type: integer
          format: int64
    UserType:
      type: string
      description: Type of user/role of user in transaction
      enum:
        - CUSTOMER
        - PARTNER
    TransactionsSvcFee:
      required:
        - asFiat
        - asToken
      type: object
      properties:
        asToken:
          type: string
          pattern: ([0-9]*[.])?[0-9]+
          example: '1000.0'
        asFiat:
          type: number
    InstantPayProcessingStatus:
      type: string
      enum:
        - PENDING_IP_REPORT
        - IN_PROGRESS
        - FAILURE
        - SUCCESS
    ThirdpartyOrderInfoDTO:
      required:
        - businessId
      properties:
        businessId:
          type: string
          description: The thirdparty business the customer is trading via
        tradeId:
          type: string
          description: Tracking trade Id
        product:
          type: string
          description: Product name, typically custodial or web
        blockchainOrderId:
          type: integer
        externalOrderReference:
          type: string
    TradeContext:
      type: string
      enum:
        - STANDARD_TRADE
        - INTERNAL_RAIL
    TransactionType:
      type: string
      description: Transaction order type, can be ONRAMP or OFFRAMP
      enum:
        - ONRAMP
        - OFFRAMP
    TransactionsSvcTradeMode:
      type: string
      enum:
        - P2P
        - IP
        - OTC
  securitySchemes:
    authToken:
      type: apiKey
      name: x-auth-token
      in: header

````