The cash withdrawal process allows customers to withdraw funds from their Kulpay account at an agent location or ATM.
Participants
| Participant | Role |
|---|
| Customer | Initiates withdrawal via app, collects cash at agent/ATM |
| Kulpay API | Validates, authorizes, generates withdrawal code |
| Agent / ATM | Dispenses cash to the customer |
Process Flow
Step-by-Step
Phase 1: In-App Request
- Customer opens the withdrawal feature in the Kulpay app
- Enters the desired withdrawal amount
- System validates the amount against minimum thresholds
- System checks balance availability on the selected payment method
- Transaction details including fees are displayed for review
Phase 2: Authorization
- An authorization code is sent to the customer's phone via SMS
- Customer authorizes the transaction with the received OTP
- System generates a withdrawal code (valid for 15 minutes)
Phase 3: Cash Collection
- Customer visits an agent or ATM
- Provides their phone number associated with the Kulpay account
- Enters their KUL PIN
- Enters the withdrawal amount
- Provides the withdrawal code
- System validates the withdrawal code
- Transaction details are displayed for confirmation
- Transaction is submitted for processing
- Customer receives cash (or is informed of failure)
| Endpoint | Purpose |
|---|
POST /v1/customers/{id}/payment_methods/{id}/transactions | Initiate withdrawal (type: pay_out) |
GET /v1/customers/{id}/transactions | View transaction history |
GET /v1/customers/{id}/transactions/{id} | View transaction details |
Business Rules
- Minimum withdrawal amount applies
- Authorization SMS code is valid for 15 minutes
- Withdrawal code is sent to the mobile number associated with the account
- Fees are displayed before authorization
- Two collection methods: Agent or ATM
- PIN is required at the point of collection
- Failed withdrawals do not debit the customer's account