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

# Upload Payment Verification Details

> Upload payment verification details for a payment and update the associated order.

## Overview

The Upload Payment Verification Details endpoint allows you to upload payment verification details for a payment. This updates the associated order with the provided information and uploads the verification details to the payment gateway. Use this endpoint when you receive a PAYMENT\_DETAILS\_MISSING webhook and need to supply missing verification fields.

## Test Data

When testing this API in the **sandbox environment**, you must use the following specific test values for the API to work correctly:

* **buyer\_name**: `John`
* **buyer\_postal\_code**: `560034`
* **product\_description**: `This is a test product for test purpose.`

<Card title="📚 Test Data Reference" href="/integration-guide/v2/web-integration/test-data#upload-payment-verification-details">
  **View all test data** – Complete test data guide for sandbox testing.
</Card>


## OpenAPI

````yaml POST /pg/payments/{uid}/upload-verification-details/
openapi: 3.0.0
info:
  title: Eximpe Payment Gateway API
  description: >-
    API for payment processing and order management through Eximpe payment
    gateway. This specification includes v1, v2, and v3 API versions.
  license:
    name: Proprietary
  version: 2.0.0
servers:
  - url: https://api-pacb-uat.eximpe.com
    description: Payment Gateway Sandbox URL
security:
  - clientAuth: []
    clientSecretAuth: []
    apiVersionHeader: []
tags:
  - name: Card Tokens
  - name: Merchants
  - name: Orders
  - name: Payment Links
  - name: Payments
  - name: Refunds
  - name: Settlements
  - name: Subscriptions
paths:
  /pg/payments/{uid}/upload-verification-details/:
    post:
      tags:
        - Payments
      summary: Upload Payment Verification Details
      description: >-
        Upload payment verification details for a payment and update the
        associated order.
      operationId: v2_post_pg_payments_uid_upload_verification_details_
      parameters:
        - name: uid
          in: path
          description: UID of the payment for which to upload verification details.
          required: true
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/v2_UploadVerificationDetailsRequest'
            example:
              buyer_name: John Doe
              type_of_goods: GOODS
              product_description: Electronics and accessories
              buyer_address: 123 Main Street, City, State
              invoice_number: INV-2025-001
              buyer_postal_code: '12345'
              hs_code: 8517.12.00
      responses:
        '200':
          description: Payment verification details uploaded successfully; order updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v2_UploadVerificationDetailsResponse'
              example:
                success: true
                message: >-
                  Payment verification details uploaded successfully; order
                  updated.
                data:
                  uploaded_documents:
                    - doc_name: importer_name
                      doc_type: VALUE
                      doc_status: VERIFIED
                      remarks: null
                      added_on: null
                      last_updated_on: null
                  missing_documents: []
                  errors: []
        '400':
          description: Validation error or payment not supported
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1_ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1_ErrorResponse'
        '404':
          description: Payment not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1_ErrorResponse'
        '502':
          description: Payment gateway API error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/v1_ErrorResponse'
      security:
        - clientAuth: []
          clientSecretAuth: []
          merchantAuth: []
          apiVersionHeader: []
components:
  schemas:
    v2_UploadVerificationDetailsRequest:
      type: object
      required:
        - buyer_name
        - type_of_goods
        - product_description
        - buyer_address
        - invoice_number
        - buyer_postal_code
      properties:
        buyer_name:
          type: string
          maxLength: 255
          description: Name of the buyer/importer.
        type_of_goods:
          type: string
          enum:
            - GOODS
            - PHYSICAL_GOODS
            - DIGITAL_GOODS
            - SERVICE
          description: Type of goods.
        product_description:
          type: string
          description: Description of the product/goods.
        buyer_address:
          type: string
          description: Buyer's address.
        invoice_number:
          type: string
          maxLength: 255
          description: Invoice number.
        buyer_postal_code:
          type: string
          maxLength: 10
          description: Buyer's postal/ZIP code.
        hs_code:
          type: string
          maxLength: 30
          description: >-
            HS code. Required when type_of_goods is GOODS, PHYSICAL_GOODS, or
            DIGITAL_GOODS; optional for SERVICE.
    v2_UploadVerificationDetailsResponse:
      type: object
      properties:
        success:
          type: boolean
        message:
          type: string
        data:
          type: object
          properties:
            uploaded_documents:
              type: array
              items:
                type: object
                properties:
                  doc_name:
                    type: string
                  doc_type:
                    type: string
                  doc_status:
                    type: string
                  remarks:
                    type: string
                    nullable: true
                  added_on:
                    type: string
                    nullable: true
                  last_updated_on:
                    type: string
                    nullable: true
            missing_documents:
              type: array
              items:
                type: object
                properties:
                  doc_name:
                    type: string
                  doc_type:
                    type: string
                  doc_status:
                    type: string
                  remarks:
                    type: string
                    nullable: true
                  added_on:
                    type: string
                    nullable: true
                  last_updated_on:
                    type: string
                    nullable: true
            errors:
              type: array
              items:
                type: object
                properties:
                  doc_name:
                    type: string
                  error_message:
                    type: string
    v1_ErrorResponse:
      type: object
      required:
        - success
        - error
      properties:
        success:
          type: boolean
          enum:
            - false
          description: >-
            Indicates if the request was successful. Always false for error
            responses.
        error:
          $ref: '#/components/schemas/v1_ErrorDetails'
    v1_ErrorDetails:
      type: object
      required:
        - code
        - message
      properties:
        code:
          type: string
          description: Error code (e.g., ERR_ORDER_002)
        message:
          type: string
          description: Error message
        details:
          type: object
          description: Detailed validation error information with field-specific errors
          additionalProperties:
            type: string
            description: Error message for the specific field
  securitySchemes:
    clientAuth:
      type: apiKey
      name: X-Client-ID
      in: header
      description: >-
        **Client Application ID** - Your unique application identifier used to
        authenticate API requests. You can find your Client ID in the Developer
        Settings section of the merchant dashboard.
      x-displayName: Client ID
      x-example: your-client-id
    clientSecretAuth:
      type: apiKey
      name: X-Client-Secret
      in: header
      description: >-
        **Client Secret Key** - Your secret key used alongside the Client ID for
        secure authentication. Keep this confidential and never expose it in
        client-side code. Available in the Developer Settings section of the
        merchant dashboard.
      x-displayName: Client Secret
      x-example: your-client-secret
    apiVersionHeader:
      type: apiKey
      name: X-API-Version
      in: header
      description: >-
        **API Version** - Specifies which version of the API to use (e.g.,
        '1.X.X', '2.X.X', or '3.X.X'). This header allows you to control which
        API version your integration uses. Default version information is
        available in the Developer Settings.
      x-displayName: API Version
      x-example: 3.0.0
    merchantAuth:
      type: apiKey
      name: X-Merchant-ID
      in: header
      description: >-
        **Merchant Identifier** - The unique ID for the merchant account. This
        is required for PSP (Payment Service Provider) merchants who manage
        multiple merchant accounts. You can find merchant IDs in the Merchant
        Management section of the dashboard.
      x-displayName: Merchant ID
      x-example: your-merchant-id

````