1. Overview
Sipay API Documentation
  • Overview
    • Getting Started
    • Status Codes
    • PreAuthorization / Authorization
    • Webhook
  • Authentication
    • Generating Token
      POST
  • Installments
    • Getting Installment Information
      POST
    • Installments
      POST
  • Commissions
    • Commission
      POST
  • Non Secure Payment
    • Non-Secure Payment Flow
    • Non-Secure Credit Card Payment
      POST
    • Non-Secure Recurring Payment
      POST
    • Non-Secure Insurance Payment
      POST
    • Non-Secure PreAuthorization Payment
      POST
  • 3D Secure Payment
    • 3D Secure Payment Flow
    • 3D Secure Credit Card Payment
      POST
    • 3D Secure Recurring Payment
      POST
    • 3D Secure PreAuthorization Payment
      POST
    • 3D Secure PreAuthorization Payment APP
      POST
    • 3D Secure Agriculture Payment
      POST
  • Payment
    • CheckStatus
      POST
    • ConfirmPayment
      POST
    • CompletePayment
      POST
    • Non-Secure and 3D Payment with Sipay
      POST
    • Refund
      POST
  • Cards
    • Card Registration
    • Pay by Card Token
    • Retrieving Saved Card
    • Edit Saved Card
    • Delete Saved Card
    • NonSecure Payment with Hidden Card
  • HASH
    • Hash Information
  • Recurring
    • Recurring Query Search
    • Recurring Plan Process
    • Recurring Plan Update
  • Cashout
    • Cashout to bank
  • Report
    • Settlement API
  1. Overview

PreAuthorization / Authorization

PRE-AUTHORIZATION#

Pre-authorization is a process in which a card's available limit is temporarily reserved for a payment transaction. The amount is not immediately captured from the card, but it is blocked from the cardholder’s available balance. The purpose is to secure the payment for a later finalization (complete-confirm).

1. Initiating Pre-Authorization#

For Non-Secure and Secure Payments, all required parameters must be provided.
To initiate a pre-authorization transaction, the transaction_type parameter must be set to PreAuth.
The customer submits a pre-authorization request along with the payment:
The amount to be blocked is specified
Card details are included
The request is sent to the acquirer and issuer bank via Sipay.
There is also a parameter, payment_completed_by.
When this value is sent by the app, the following actions are executed automatically. There is no need send any API Endpoints.
When the value is sent by the merchant, the following actions must be completed manually.

After payment_completed_by sending "Merchant"#

2. Complete Payment Endpoint#

After sending the pre-auth parameter, payment status will be Pre-Authorization Pending and then the Complete Payment endpoint must be called to initiate the pre-authorization process.
The Complete Payment endpoint must be called within 15 minutes.
If not called within this timeframe, the payment will automatically failed.
The cardholder’s bank performs the following checks:
Is the card limit sufficient?
Is the card active?
Fraud / risk controls

If successful:#

The specified amount is temporarily blocked.
An authorization code is returned.
md_status will be 1.
If any check fails, the transaction is declined.
ℹ️ At this stage, no funds are withdrawn yet; the amount is only temporarily reserved from the card’s available balance.

3. Confirm Pre-Authorization Payment#

Once the Complete Payment endpoint is successfully called, the payment status is updated to Pre-Authorization.
After that, the Confirm Payment endpoint must be called.
The Confirm Payment process should be completed or canceled within approximately 20 days. If not completed or canceled within this period, the payment will be automatically canceled.
If the Confirm Payment endpoint is called, the payment status will be updated to either:
Pre-Auth Approved – if the payment is successfully confirmed.
Pre-Auth Declined – if the payment confirmation fails.

AUTHORIZATION#

You can send request using the same endpoint. You do not need to perform any additional actions when sending the authorization.
Modified at 2026-03-23 09:04:03
Previous
Status Codes
Next
Webhook
Built with