Open Banking Integration Flow
The Easy Cash Direct Debit (Open Banking) process consists of three stages: Authentication → Account Enrollment → Payment.
End-to-End Flow
Customer
Merchant Server
Hecto Financial
11. Payment request
1. Payment request
22. ARS authentication request
2. ARS authentication request
33. ARS authentication call to customer
3. ARS authentication call to customer
44. Authentication completion notification
4. Authentication completion notification
55. ARS authentication confirmation → obtain trdNo
5. ARS authentication confirmation → obtain trdNo
66. Account enrollment (for Open Banking)
6. Account enrollment (for Open Banking)
77. Payment (for Open Banking)
7. Payment (for Open Banking)
88. Payment result response
8. Payment result response
NOTE
One-time enrollment
Account enrollment (step 6) is required only once. For subsequent payments using an already-enrolled account, you can call the payment API directly, skipping the authentication and enrollment steps.
NOTE
Adding Open Banking for existing firm banking customers
Customers already enrolled via firm banking can call the 'Open Banking Account Enrollment' API separately to add Open Banking service. For first-time enrollment, the 'Account Enrollment (for Open Banking)' API registers both firm banking and Open Banking simultaneously in a single call.
Step 1: ARS Account Ownership Verification
Verify account ownership via ARS phone authentication and obtain the transaction reference number (trdNo).
| Step | API | URI | Description |
|---|---|---|---|
| 1 | ARS authentication request | POST /v1/api/auth/ars | Initiate ARS authentication call to the customer |
| 2 | ARS authentication confirmation | POST /v1/api/auth/arscheck | Retrieve ARS authentication result and obtain trdNo |
NOTE
trdNo must be retained
The transaction reference number (trdNo) returned in the ARS authentication confirmation response is a required parameter for the next step, account enrollment. Store it temporarily on the merchant server.
NOTE
ARS authentication API is a shared firm banking API
The ARS authentication request and confirmation APIs use the /v1/api/auth/ path, which is shared with the Easy Cash Direct Debit (firm banking) authentication service.
ARS Authentication API Documentation
Step 2: Account Enrollment (for Open Banking)
Use the trdNo obtained from ARS authentication to enroll the account. A single API call registers both firm banking and Open Banking simultaneously.
| API | URI | Description |
|---|---|---|
| Account enrollment (for Open Banking) | POST /v2/api/acnt/reg | Simultaneous firm banking + Open Banking enrollment using ARS trdNo |
| Open Banking account enrollment | POST /v2/api/acnt/obreg | Add Open Banking for existing firm banking customers |
| Response field | Description |
|---|---|
custAcntKey | Customer account key of the enrolled account (used for payment) |
svcDivCd | Enrolled service type (1: Firm banking, 2: Open Banking, 3: Simultaneous enrollment) |
fintechUseNo | Fintech usage number (fintechUseNo) — Open Banking user account identifier |
obPayerNo | Open Banking payer number |
Account Management API Documentation
Step 3: Payment (for Open Banking)
Execute payment using the enrolled account. Funds are transferred from the customer's account to the merchant's Open Banking master account.
| API | URI | Description |
|---|---|---|
| Payment (for Open Banking) | POST /v2/api/pay/confirm | Open Banking direct debit payment authorization |
| Void / Refund | POST /v1/api/pay/cancel | Payment void and refund processing |
| Remittance | POST /v2/api/pay/rmt | Merchant → customer account fund transfer |
Transfer Service API Documentation
Full API List
The complete list of APIs provided by Easy Cash Direct Debit (Open Banking). All APIs use the POST method.
NOTE
v2 vs v1 path distinction
Open Banking-specific APIs use the /v2/api/... path. Void/refund and inquiry APIs share the /v1/api/... path with firm banking.
Account Management (2 APIs)
| API Name | URI | Notes |
|---|---|---|
| Account enrollment (for Open Banking) | /v2/api/acnt/reg | Requires ARS trdNo, simultaneous firm banking + OB enrollment |
| Open Banking account enrollment | /v2/api/acnt/obreg | Add OB for existing firm banking customers |
Transfer Services (3 APIs)
| API Name | URI | Notes |
|---|---|---|
| Payment (for Open Banking) | /v2/api/pay/confirm | |
| Void / Refund | /v1/api/pay/cancel | Shared with firm banking |
| Remittance | /v2/api/pay/rmt |
Fund Return Claims (2 APIs)
| API Name | URI |
|---|---|
| Fund return claim request | /v2/api/fundsReturn/req |
| Fund return claim check | /v2/api/fundsReturn/check |
Inquiry Services (3 APIs)
| API Name | URI | Notes |
|---|---|---|
| Transaction result inquiry | /v1/api/pay/morw | Shared with firm banking |
| Transaction history inquiry | /v1/api/pay/translist | Shared with firm banking |
| Account list inquiry | /v1/api/acnt/list | Shared with firm banking |
Account Administration (1 API)
| API Name | URI |
|---|---|
| Open Banking service withdrawal | /v2/api/member/withdraw |
Request/Response Basic Structure
All API requests and responses use JSON format.
Request Example
{
"hdInfo": "SPAY_RP0W_1.0",
"mchtId": "Merchant ID",
"mchtTrdNo": "ORDER20240101100000",
"reqDt": "20240101",
"reqTm": "100000",
"mchtCustId": "AES-encrypted customer ID",
"trdAmt": "AES-encrypted payment amount",
"pktHash": "SHA256 hash value"
}
Success/Failure Determination
| Field | Success | Failure |
|---|---|---|
outStatCd | 0021 | 0031 |
outRsltCd | 0000 | Error code |
Parameter validation failure response example
{
"outStatCd": "0031",
"outRsltCd": "ST09",
"outRsltMsg": "Invalid request message"
}
Next Steps
Feature-specific documentation
Need technical support?
Code Samples
HectoFinancial GitHub