1. Features
Merchant Connect API
HASE
  • latest
  • HASE
  • Integration Guide
    • EC Payment
      • Merchant API
        • Overview
        • Payment
        • Payment Methods
        • After Payment
          • Capture
          • Cancel
          • Refund
          • Cancel or Refund
          • Accept Notification
        • Features
          • Account Status Inquiry (ASI)
          • COF
          • Recurring
          • Instalment
          • Authentication
            • 3D Secure
            • Authorization only
          • Tokenization
            • Gateway Tokenization
            • Create a gateway token
            • Network Tokenization
            • Pay with gateway token
            • Manage token
    • In-store Payment
      • Merchant API
        • Payment
          • CPM
          • MPM
          • MPM static QR code
        • After Payment
          • Capture
          • Cancel
          • Refund
          • Cancel or Refund
          • Accept Notification
  • API Explorer
    • API Rules
    • PaymentMethod
      • PaymentMethod
      • PaymentMethod
      • PaymentMethod
      • PaymentMethod
    • Payment
      • Payment
      • Payment
      • Payment
    • Capture
      • Capture
      • Capture
    • Cancel
      • Cancel
      • Cancel
    • Refund
      • Refund
      • Refund
    • Cryptogram
      • Cryptogram
      • Cryptogram
    • Cancel or Refund
      • Cancel or Refund
      • Cancel or Refund
    • Notification
      • Notification for PaymentMethod
      • Notification for Payment
      • Notification for Capture
      • Notification for Cancel
      • Notification for Refund
      • Notification for MPM Static QR Code
      • Notification for Token Status Update
      • Notification for Cryptogram
    • Appendix
      • Result Code
      • Payment Brands
      • Payment Method Variant
      • Currency list
      • Country and region list
    • HealthCheck
      • HealthCheck
    • TransactionHistoryInquiry
      • TransactionHistoryInquiry
    • Instalment
      • Instalment Plan Inquiry
HASE
  • latest
  • HASE
  1. Features

Instalment

1. Purpose and Scope#

This guide explains how an Online merchant can:
1.
Query the instalment plans available for the On-us card.
2.
Display eligible plans, fees, and repayment amounts to the cardholder.
3.
Submit an Online payment using the plan selected by the cardholder.
4.
Combine +FUN$ points redemption with instalment payment when that service is enabled.
5.
Handle inquiry failures, payment timeouts, reversals, cancellation, and the current refund limitation.
The solution applies only to eligible On-us cards issued by Acquirer and to merchants enabled for the instalment service.

2. Solution Overview#

The Online checkout consists of two separate business steps:
1.
Instalment Plan Inquiry — the merchant submits the card or token and transaction amount. The service returns the eligible plans configured for that merchant and transaction.
2.
Instalment Payment — after the cardholder selects a plan, the merchant submits a payment request that references both the original inquiry and the selected instalmentPlanID.
A typical flow is:
The instalment plan is determined by Acquirer configuration, which may include card BIN, transaction floor limit, scenario, tenor, and handling-fee rate. Supported configurable tenors are 3, 6, 9, 12, 24, etc months. A particular transaction may receive only a subset of those tenors, or no eligible plans.

3. Instalment Plan Inquiry#

3.1 Inquiry request fields#

JSON pathRequiredFormat / valuesMerchant instruction
merchantTransInfo.merchantTransIDYesString, max 32Unique merchant ID for this inquiry. Preserve it for the payment request.
merchantTransInfo.merchantTransTimeYesISO 8601Merchant transaction time.
paymentMethod.typeYescard or tokenSelect the matching card-data path.
paymentMethod.encryptedCardInfoConditionalEncrypted payloadUse for a merchant without PCI DSS certification.
paymentMethod.cardInfo.cardNumberConditionalPANOnly for a PCI DSS-certified merchant. Do not use a real PAN in logs or test documents.
paymentMethod.token.typeConditionalgatewayToken or merchantTokenApplies when type is token; defaults to gatewayToken if omitted. Explicitly sending it is recommended.
paymentMethod.token.valueConditionalStringRequired when paymentMethod.type is token.
transAmount.currencyYesISO 4217, e.g. HKDTransaction currency.
transAmount.valueYesMajor-unit amount string, max 12Send the net amount after +FUN$ deduction when points are redeemed.
transInitiator.paymentScenarioYesEC for E-commerceAlways send EC explicitly. The source notes an EC default if omitted, but explicit submission avoids ambiguity.
metadataNoString, max 512Echoed in the response; do not place sensitive card data in it.

3.2 Response#

A successful response contains an overall result and an InstalmentPlanInquiry object. The exact outer envelope may follow the current EVO payment API contract. Refer to specification.

4. Instalment Payment#

4.1. Relationship to the inquiry#

The payment extends the existing Payment API. It must identify the transaction as an instalment trade and reference:
the original inquiry’s merchantTransID; and
the exact instalmentPlanID selected by the cardholder.
The card/payment token and amount should remain consistent with the inquiry. If the purchase amount, points redemption, card, currency, or other eligibility input changes, perform a new inquiry and ask the cardholder to select from the newly returned plans.

4.2 Required instalment extension fields#

JSON pathRequired for instalmentValue / instruction
origMerchantTransInfo.merchantTransIDYesmerchantTransInfo.merchantTransID from the original Instalment Plan Inquiry.
tradeInfo.tradeTypeYesInstalment
tradeInfo.tradeTypeInfo.instalmentPlanIDYesPlan ID selected from the inquiry response.
Other payment fields follow the merchant’s approved Payment API integration. The source payment sample also contains merchantTransInfo, card details, transAmount, transInitiator.platform, metadata, webhook, allowAuthentication, authenticationOnly, captureAfterHours, and returnURL. Their exact requirements and behavior are not redefined by the instalment source; use the current Payment API specification agreed during onboarding.

4.3 Payment response#

The Payment API response adds payment.instalment:
{
  "payment": {
    "status": "{paymentStatus}",
    "instalment": {
      "instalmentPlanID": "{selectedPlanId}",
      "tenor": 12,
      "handlingFeeRate": "{rateFromResponse}",
      "totalAmount": "{totalAmountFromResponse}",
      "totalFee": "{totalFeeFromResponse}",
      "monthlyAmount": "{monthlyAmountFromResponse}"
    }
  }
}
Previous
Recurring
Next
3D Secure
Built with