> ## 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

<Note>All example requests on this page are based on the **sandbox (test) environment**. Please be careful to distinguish it from the production environment.</Note>

<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>

## Related Topics

* [Pakistan API](/docs/en/V20260701/api/version2/Pakistan)
* [HaiPay API Reference Overview](/docs/en/api-reference/overview)
* [HaiPay Configuration and Signature Guide](/docs/en/guide/config_settings_and_signature_rules_guide)


## OpenAPI

````yaml docs/en/V20260701/api-reference/pkr/pkr.openapi.json POST /pkr/pay/apply
openapi: 3.0.1
info:
  title: 默认模块
  description: ''
  version: 1.0.0
servers:
  - url: https://uat-interface.haipay.asia
    description: 测试-interface
security: []
tags: []
paths:
  /pkr/pay/apply:
    post:
      tags: []
      summary: PKR Disbursement Application
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                appId:
                  type: integer
                  description: >-
                    Business ID (obtained from the backend, must pass the
                    corresponding business ID according to the currency in URL)
                orderId:
                  type: string
                  description: Merchant Order Number
                  maxLength: 48
                amount:
                  type: string
                  description: >-
                    Transaction Amount (accurate to two decimals; no punctuation
                    allowed, e.g., “,” is forbidden)
                  pattern: ^\d+\.\d{2}$
                accountType:
                  type: string
                  description: 'Account Type: EWALLET (E-wallet), BANK_ACCOUNT (Bank)'
                  enum:
                    - EWALLET
                    - BANK_ACCOUNT
                bankCode:
                  type: string
                  description: ''
                accountNo:
                  type: string
                  description: User’s bank account number or wallet account number
                name:
                  type: string
                  description: Recipient’s Name
                phone:
                  type: string
                  description: Real Mobile Number
                email:
                  type: string
                  description: Real Email
                  format: email
                notifyUrl:
                  type: string
                  description: Callback URL
                  format: uri
                subject:
                  type: string
                  description: >-
                    Payment Note (transaction title, product name, reason for
                    payment)
                body:
                  type: string
                  description: Note Details
                birth:
                  type: string
                  description: 'Date of Birth, format: yyyy-MM-dd'
                  pattern: ^\d{4}-\d{2}-\d{2}$
                gender:
                  type: string
                  description: 'Gender, allowed values: MALE, FEMALE, or OTHER'
                  enum:
                    - MALE
                    - FEMALE
                    - OTHER
                idCard:
                  type: string
                  description: ID card number
                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\-~!@#$%&*()_]+$
                sign:
                  type: string
                  description: Signature
              required:
                - appId
                - orderId
                - amount
                - accountType
                - bankCode
                - accountNo
                - name
                - phone
                - email
                - subject
                - birth
                - gender
                - partnerUserId
                - sign
              additionalProperties: false
            example:
              appId: 1054
              orderId: M233323000059
              amount: '15000.00'
              accountType: EWALLET
              bankCode: HBL
              accountNo: '6228480322123456789'
              name: Muhammad Ali Khan
              phone: '03012345678'
              email: muhammad.khan@gmail.com
              notifyUrl: https://merchant.com/api/notify
              subject: Payment for order
              body: Premium subscription
              birth: '20000101'
              gender: MALE
              idCard: '0000000000000'
              partnerUserId: '149597870'
              sign: >-
                af0gAHkUOyYHu9owQp8NJ4mPEeUW4vuJcjdxqLIzrVw8AvpLSjD1DXupReSG/CyuSkFRyiIvCp5u703AuGGmfgD2gKDH3Ywau41bAbG2jnHJ8mtjiSJ5iWUzanyd4Kr7d1+rETbzUl7/BkW3t0X8UUFdqpxwG8DPUjAwUKfplWDHV7koG51Ozexd80DCsmW6eWdouAZ1uNXGLYmV3ftE3BmfNRtuv1C5bfTJWrTEIOxbF6g2uYOFZTlIgrQgd7/2PsAYwQQXNz8Q8CYl4OxqCv4pXJxaLWPbR5tqZu9og5kn32C9aHW/NlU1y39vzz+4ef81yPAqUV9oHlSMSPrMmw==
        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: Error description
                  data:
                    type: object
                    description: ''
                    properties:
                      orderId:
                        type: string
                        description: Merchant Order Number (must be unique)
                      orderNo:
                        type: string
                        description: Platform Order Number
                      sign:
                        type: string
                        description: Signature
              examples:
                success:
                  summary: Success
                  value:
                    status: '1'
                    error: '00000000'
                    msg: success
                    data:
                      orderId: M233323000059
                      orderNo: '6023071013539074'
                      sign: >-
                        af0gAHkUOyYHu9owQp8NJ4mPEeUW4vuJcjdxqLIzrVw8AvpLSjD1DXupReSG/CyuSkFRyiIvCp5u703AuGGmfgD2gKDH3Ywau41bAbG2jnHJ8mtjiSJ5iWUzanyd4Kr7d1+rETbzUl7/BkW3t0X8UUFdqpxwG8DPUjAwUKfplWDHV7koG51Ozexd80DCsmW6eWdouAZ1uNXGLYmV3ftE3BmfNRtuv1C5bfTJWrTEIOxbF6g2uYOFZTlIgrQgd7/2PsAYwQQXNz8Q8CYl4OxqCv4pXJxaLWPbR5tqZu9og5kn32C9aHW/NlU1y39vzz+4ef81yPAqUV9oHlSMSPrMmw==
                param_error:
                  summary: Parameter validation failed
                  value:
                    status: '0'
                    error: '1001'
                    msg: orderId can not blank
                    data: null
                sign_error:
                  summary: Signature error
                  value:
                    status: '0'
                    error: '1002'
                    msg: Invalid request signature
                    data: null
          headers: {}
      deprecated: false
      security: []

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.