Skip to content

Payment Module

Christian KASSE edited this page Apr 2, 2026 · 2 revisions

Payment Module

The Payment module handles payment processing (intents, transactions, refunds, payouts), subscriptions with billing cycles and usage tracking, lending (loan products, applications, collaterals), KYC verification, payment accounts, and financial reporting.

Client Access

var payment = essabu.payment();

Available API Classes

Class Accessor Description
PaymentIntentApi payment.intents() Payment intents with confirm/cancel
TransactionApi payment.transactions() Transaction history (read-only)
RefundApi payment.refunds() Refund operations
PayoutApi payment.payouts() Payouts and settlements
SubscriptionApi payment.subscriptions() Subscriptions, billing, usage
LoanApi payment.loans() Lending operations
KycApi payment.kyc() KYC profiles and documents
PaymentAccountApi payment.accounts() Payment accounts and SDK keys
ReportApi payment.reports() Lending reports

PaymentIntentApi

Method Endpoint Description
list(PageRequest) GET /api/payment/intents List payment intents
getById(UUID) GET /api/payment/intents/{id} Get intent
create(Map) POST /api/payment/intents Create payment intent
confirm(UUID) POST /api/payment/intents/{id}/confirm Confirm intent
cancel(UUID) POST /api/payment/intents/{id}/cancel Cancel intent
Map intent = payment.intents().create(Map.of(
    "amount", 5000, "currency", "USD", "customerId", customerId
));
payment.intents().confirm(intentId);

SubscriptionApi

Method Endpoint Description
list(PageRequest) GET /api/payment/subscriptions List subscriptions
create(Map) POST /api/payment/subscriptions Create subscription
cancel(UUID) POST /api/payment/subscriptions/{id}/cancel Cancel subscription
listBillingCycles(PageRequest) GET /api/payment/billing-cycles List billing cycles
reportUsage(Map) POST /api/payment/usage Report usage
getUsageSummary(UUID) GET /api/payment/usage/summary Usage summary

LoanApi

Loan products, applications, collaterals, and accounts at /api/lending/*.

KycApi

KYC profiles and document upload at /api/lending/kyc-profiles and /api/lending/kyc-documents.

Additional APIs

TransactionApi -- Read-only at /api/payment/transactions.

RefundApi -- list, getById, create at /api/payment/refunds.

PayoutApi -- Payouts and settlements at /api/payment/payouts, /api/payment/settlements.

PaymentAccountApi -- Accounts and SDK keys at /api/payment/accounts, /api/payment/sdk-keys.

ReportApi -- Loan portfolio and delinquency reports at /api/lending/reports/*.

Error Scenarios

HTTP Status Cause
400 Invalid request (bad amount, missing currency)
401 Missing or expired authentication token
403 Insufficient permissions
404 Intent, transaction, or subscription not found
409 Conflict (intent already confirmed, subscription cancelled)
422 Business rule violation (insufficient balance, KYC not verified)

Clone this wiki locally