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

# Disbursement Application

<div class="flex flex-col gap-4">
  <div class="api-section-heading flex flex-col gap-y-4 w-full">
    <div class="flex items-baseline border-b pb-2.5 border-gray-100 dark:border-gray-800 w-full">
      <h4 class="api-section-heading-title flex-1 mb-0">Secret Key & Private Key (Generate Signature)</h4>
    </div>

    <div />
  </div>

  <input id="secret-key" placeholder="Secret Key" class="px-3 py-2 border rounded-md" />

  <input id="private-key" placeholder="Private Key" class="px-3 py-2 border rounded-md" />
</div>


## OpenAPI

````yaml docs/en/api-reference/aed/aed.openapi.json POST /aed/pay/apply
openapi: 3.1.0
info:
  title: AED Payment API
  description: >-
    All APIs use POST requests, Content-Type: application/json

    Request header may carry Sys-Language (optional, for multi-language currency
    translation, e.g. zh, en)
  version: 1.0.0
servers:
  - url: https://uat-interface.haipay.asia
    description: 测试-interface
security: []
tags: []
paths:
  /aed/pay/apply:
    post:
      tags: []
      summary: AED Disbursement Application
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                appId:
                  type: integer
                  description: >-
                    Business ID (obtained from backend, must match the currency
                    in the URL)
                orderId:
                  type: string
                  description: Merchant Order Number (must be unique, max length 48)
                  maxLength: 48
                amount:
                  type: string
                  description: >-
                    Transaction amount (unit: AED, accurate to two decimal
                    places; punctuation marks such as "," are prohibited)
                  pattern: ^\d+\.\d{2}$
                accountType:
                  type: string
                  description: BANK_ACCOUNT
                  enum:
                    - BANK_ACCOUNT
                bankCode:
                  type: string
                  description: Bank code
                accountNo:
                  type: string
                  description: IBAN account number
                name:
                  type: string
                  description: >-
                    Recipient name (English, 1-30 characters, "firstName
                    middleName lastName" (middleName optional, special
                    characters: .-))
                  minLength: 1
                  maxLength: 30
                  pattern: ^[A-Za-z\s\'\-\.]+$
                phone:
                  type: string
                  description: Real mobile number
                email:
                  type: string
                  description: Real email address
                notifyUrl:
                  type: string
                  description: Callback URL
                  format: uri
                subject:
                  type: string
                  description: >-
                    Payment note (transaction title, product name, payment
                    reason)
                body:
                  type: string
                  description: Additional description
                partnerUserId:
                  type: string
                  description: >-
                    Unique user identifier (e.g., userId), used for risk control
                    system, must be valid, otherwise it will affect the
                    transaction. Format: digits, letters, or symbols
                    -~!@#$%&*()_.
                  pattern: ^[A-Za-z0-9\-~!@#$%&*()_]+$
                swiftCode:
                  type: string
                  description: Global Bank Financial Telecommunication Code
                  pattern: ^[A-Z0-9]+$
                city:
                  type: string
                  description: City
                street:
                  type: string
                  description: Street
                sign:
                  type: string
                  description: Signature
              required:
                - appId
                - orderId
                - amount
                - accountType
                - bankCode
                - accountNo
                - name
                - phone
                - partnerUserId
                - sign
                - email
                - swiftCode
                - city
                - street
            examples: {}
        required: true
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                    description: '1: Normal, 0: Exception'
                  error:
                    type: string
                    description: Error code
                  msg:
                    type: string
                    description: Message
                  data:
                    type: object
                    properties:
                      orderId:
                        type: string
                        description: Merchant Order Number (must be unique)
                      orderNo:
                        type: string
                        description: Platform Order Number
                      sign:
                        type: string
                        description: Signature
                    additionalProperties: false
                additionalProperties: false
          headers: {}
      deprecated: false
      security: []

````