The flow covers Payment Method Selection, Wallet Payments, Bank Transfers, and Card Payments.
Phase 1: Payment Initiation & Method Selection
1.1 Get Supported Payment Methods
Before processing any payment, retrieve available payment methods for the transaction.Supported Payment Methods
Get available payment methods and charges
Payment Method Charges
Calculate payment method charges
Payment Method Selection Steps
Request Payment Methods
Customer provides transaction details (PCN, amount, currency, payable type).
Retrieve Available Methods
System returns available payment methods based on:
- Country: Customer’s country and currency
- Amount: Transaction amount and applicable limits
- Gateway: Available payment gateway integrations
- Payable Type: Type of transaction (TRANSACTION, WALLET, BILL, etc.)
Calculate Charges
System calculates for each method:
- Principal Amount: Base transaction amount
- Fee: Transaction fee
- Tax: Applicable taxes
- Exchange Rate: For currency conversions
- Total Checkout Amount: Complete amount customer will pay
Phase 2: Wallet Payments
2.1 Pay from Wallet Account
Process payments directly from customer’s wallet balance.Wallet Payment Steps
Initiate Wallet Payment
Customer provides:
- Payable ID: Transaction identifier
- Payable Type: Type of payment
- Account Number: Wallet account (optional)
- Password: Customer password
- OTP/PIN: One-time password or PIN (if enabled)
Validate Payment
System validates:
- Payable item exists and is pending
- Customer authentication
- Strong customer authentication (if enabled)
- Transaction PIN (if required)
Process Payment
System executes:
- Debits wallet account
- Updates payable status to PAID
- Records transaction in ledger
- Triggers payment completion workflow
Phase 3: Bank Transfer Payments
3.1 Bank Transfer (“I Will Pay Later”)
Handle offline bank transfer payments with manual confirmation.I Will Pay Later
Notify intent to pay via bank transfer
Notify Payment
Confirm bank transfer completed
Bank Transfer Details
Learn about bank transfer workflow
Bank Transfer Steps
Create Awaiting Payment
System creates awaiting payment record with:
- Status: AWAITING_BANK_TRANSFER_PAYMENT
- Payment Reference: Unique reference for bank transfer
- Bank Details: Organization’s bank account details
- Amount: Total amount to transfer
Customer Makes Transfer
Customer completes bank transfer offline using provided:
- Bank account number
- Payment reference
- Exact amount
Notify Payment Completion
Customer notifies system via one of three options:
- bank_paid_now: Payment already made
- bank_pay_later: Will pay and notify later
- mistake: Accidentally selected this method
Admin Verification
Admin reviews bank statement and verifies:
- Payment received
- Correct amount
- Correct reference
- Updates status to PAID
3.2 View Awaiting Payments
Admins can view and manage payments awaiting confirmation.Phase 4: Card Payments
4.1 Process Card Payment
Process payments using credit or debit cards through payment gateways.Process Card Payment
Process credit/debit card payment
Card Payment Details
Learn about card payment processing
Card Payment Steps
Enter Card Details
Customer provides:
- Card Number (PAN): Primary account number
- Expiry Date: Card expiration (MM/yyyy)
- Security Code: CVV/CVC
- Amount: Payment amount
- Currency: Transaction currency
Process Payment
System submits to payment gateway (e.g., SecureTrading):
- Validates card details
- Checks available balance
- Performs fraud checks
- Processes authorization
Gateway Response
Payment gateway returns:
- Transaction Reference: Gateway transaction ID
- Status: Success, failed, or requires 3DS
- Auth Code: Authorization code
- Error Details: If payment failed
Update Payment Status
System updates payable item status based on gateway response:
- Success: Status → PAID
- Failed: Status → FAILED
- 3DS Required: Redirect for authentication
4.2 Process with Payment Token
For returning customers, process payments using saved payment tokens.Token Payment
Process payment with saved token
Complete Payment Flow
Key Concepts
Payment Methods
The system supports multiple payment methods:- E_WALLET: Instant payment from wallet balance
- BANK_TRANSFER: Offline bank transfer with confirmation
- ONLINE_CARD_PAYMENT: Credit/debit card via gateway
- ONLINE_BANK_TRANSFER: Direct online banking
- MOBILE_MONEY: Mobile money payments
- CRYPTO_CURRENCY: Cryptocurrency payments
Payable Types
Different transaction types that can be paid:- TRANSACTION: Money transfer/remittance
- WALLET: Wallet funding
- WALLET_CUSTOMER: Personal wallet payment
- BILL: Bill payment
- MERCHANT: Product purchase
- VOUCHER: Voucher purchase
Payment Status Flow
Charges & Fees
Every payment includes:- Principal Amount: Base transaction amount
- Fee: Service/transaction fee
- Tax: Applicable taxes (VAT, etc.)
- Payment Method Fee: Gateway/method specific fee
- Exchange Rate Fee: For currency conversions
- Total Checkout Amount: Complete amount charged
Security Features
- Strong Customer Authentication (SCA): OTP verification for sensitive transactions
- Transaction PIN: Additional PIN verification
- Payment Token: Secure tokenization for saved cards
- 3D Secure: Card authentication for online payments
- Idempotency: Prevent duplicate payment processing
Learn More
Explore all payment API endpoints and integration options.
