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

# South Korea — Collection Application

> South Korea — Collection Application (POST /krw/collect/apply): Use the appId corresponding to KRW. After successful user payment, the KRW balance will be increased. Key request parameters include orderId, name, phone, email.

> [!NOTE]
>
> All example requests on this page are based on the **sandbox (test) environment**. Please be careful to distinguish it from the production environment.

#### Secret Key & Private Key (Generate Signature)

## Related Topics

* [South Korea Payment API](https://doc.haipay.net/en/history/V20260701/payments/local/south-korea.md)
* [HaiPay API Reference Overview](https://doc.haipay.net/en/history/V20260701/api-reference/overview.md)
* [HaiPay Configuration and Signature Guide](https://doc.haipay.net/en/history/V20260701/guide/config_settings_and_signature_rules_guide.md)
* [South Korea — Collection Query (POST /krw/collect/query)](https://doc.haipay.net/en/history/V20260701/api-reference/krw/api/collectQuery.md)
* [Handle Asynchronous Notifications and Verify Signatures](https://doc.haipay.net/en/operations/callback.md)
* [Look Up API Response Structure and Error Codes](https://doc.haipay.net/en/history/V20260701/guide/error_response_appendix.md)
* [Look Up Collection Payment Types and Codes (payType)](https://doc.haipay.net/en/history/V20260701/resources/cashin-code-list.md)


## OpenAPI

````yaml docs/en/V20260701/api-reference/krw/krw.openapi.json POST /krw/collect/apply
openapi: 3.0.1
info:
  title: 默认模块
  description: ''
  version: 1.0.0
servers:
  - url: https://uat-interface.haipay.asia
    description: 测试-interface
security: []
tags: []
paths:
  /krw/collect/apply:
    post:
      tags: []
      summary: KRW Collection Application
      description: >-
        Use the appId corresponding to KRW. After successful user payment, the
        KRW balance will be increased.
      parameters: []
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                appId:
                  type: integer
                  description: >-
                    Business ID (obtained from backend, must pass corresponding
                    business ID based on currency in URL)
                orderId:
                  type: string
                  description: Merchant order number
                  maxLength: 48
                name:
                  type: string
                  description: >-
                    User name, recommended to use real name, format: firstName
                    and lastName separated by space, example: John Doe
                phone:
                  type: string
                  description: Phone number
                email:
                  type: string
                  description: Email address
                  format: email
                amount:
                  type: string
                  description: >-
                    Transaction amount (unit: ₩, accurate to two decimal places;
                    do not add punctuation, e.g., ",")
                  pattern: ^\d+\.\d{2}$
                payType:
                  type: string
                  description: ''
                inBankCode:
                  type: string
                  description: ''
                callBackUrl:
                  type: string
                  description: URL to redirect after successful payment
                  format: uri
                callBackFailUrl:
                  type: string
                  description: URL to redirect after failed payment
                  format: uri
                cancelUrl:
                  type: string
                  description: >-
                    Cancel payment redirect URL. If provided, users can click
                    back on the payment page and be redirected to this URL
                  format: uri
                notifyUrl:
                  type: string
                  description: Callback URL
                  format: uri
                subject:
                  type: string
                  description: Payment remark
                country:
                  type: string
                  description: 'Cashier mode requires this parameter, please pass: 410'
                body:
                  type: string
                  description: Remark details
                partnerUserId:
                  type: string
                  description: >-
                    Unique user identifier (e.g., userId), used for risk
                    control, must be real and valid, otherwise it will affect
                    transactions. Format requirements: digits, uppercase and
                    lowercase letters or common symbols -~!@#$%&*()_.
                  pattern: ^[A-Za-z0-9\-~!@#$%&*()_]+$
                sign:
                  type: string
                  description: Signature
              required:
                - appId
                - orderId
                - name
                - phone
                - email
                - amount
                - payType
                - inBankCode
                - callBackUrl
                - callBackFailUrl
                - partnerUserId
                - sign
            example:
              appId: 1054
              orderId: M233323000059
              name: Kim Min-su
              phone: '0101234567'
              email: kim.minsu@gmail.com
              amount: '50000.00'
              payType: ONLINE_BANKING
              inBankCode: CARD
              callBackUrl: https://merchant.com/payment/success
              callBackFailUrl: https://merchant.com/payment/fail
              cancelUrl: https://merchant.com/payment/cancel
              notifyUrl: https://merchant.com/api/notify
              subject: Payment for order
              country: KR
              body: Premium subscription
              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
                      payUrl:
                        type: string
                        description: Payment link
                      sign:
                        type: string
                        description: Signature
                    additionalProperties: false
                additionalProperties: false
              examples:
                success:
                  summary: Success
                  value:
                    status: '1'
                    error: '00000000'
                    msg: success
                    data:
                      orderId: M233323000059
                      orderNo: '6023071013539074'
                      payUrl: https://pay.haipay.asia/cashier/1L9zQS2
                      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
      deprecated: false
      security: []

````

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