Wallet
Wallet balance, transaction history, and invoice credit operations.
Methods
Get Balance
Use: wallet.getBalance(options?).
Returns: SazitoResponse<Wallet>.
List Transactions
Use: wallet.listTransactions(filters?, options?).
| Field | Type | Required | Description |
|---|---|---|---|
filters.page_number | number | Optional | Page number (default 1). |
filters.page_size | number | Optional | Page size (default 100). |
options | RequestOptions | Optional | Per-request controls. |
Returns: SazitoResponse<{ transactions: WalletTransaction[] }>.
Apply Credit
Use: wallet.applyCredit(invoiceId, options?).
| Parameter | Type | Required | Description |
|---|---|---|---|
invoiceId | number | Required | Invoice ID (must be positive). |
options | RequestOptions | Optional | Per-request controls. |
Returns: SazitoResponse<Invoice>.
Remove Credit
Use: wallet.removeCredit(invoiceId, options?).
Same schema as applyCredit.
Wallet fields
| Field | Type | Required | Description |
|---|---|---|---|
balance | number | Required | Current credit balance. |
enabled | boolean | Required | Wallet feature availability. |
currency | string | Optional | Currency code/display text. |
transactions | WalletTransaction[] | Optional | Inlined transactions list. |
Known errors
| Type | When it happens |
|---|---|
validation | Invalid invoice ID for credit operations. |
api | Unauthorized wallet/invoice operation. |
Examples
// app/lib/sazito-client.ts
import { createSazitoClient } from '@sazito/client-sdk';
export const sazito = createSazitoClient({
domain: process.env.NEXT_PUBLIC_SAZITO_DOMAIN!,
});// app/[lang]/(home)/page.tsx
'use client';
import { useEffect, useState } from 'react';
import { sazito } from '@/app/lib/sazito-client';
export default function Example() {
const [data, setData] = useState<any>(null);
useEffect(() => {
sazito.wallet.getBalance().then((res) => setData(res.data ?? null));
}, []);
return <pre>{JSON.stringify(data, null, 2)}</pre>;
}Type Details
The following tables are generated from SDK TypeScript types and include nested object fields.
TransactionFilters
Source: src/api/wallet.ts
| Field | Type | Required |
|---|---|---|
page_number | number | Optional |
page_size | number | Optional |
WalletTransactionsResponse
Source: src/api/wallet.ts
| Field | Type | Required |
|---|---|---|
transactions | WalletTransaction[] | Required |
Wallet
Source: src/api/wallet.ts
| Field | Type | Required |
|---|---|---|
balance | number | Required |
enabled | boolean | Required |
currency | string | Optional |
transactions | WalletTransaction[] | Optional |
WalletTransaction
Source: src/api/wallet.ts
| Field | Type | Required |
|---|---|---|
id | string | number | Required |
reason | WalletTransactionReason | Required |
amount | number | Required |
createdAt | string | Required |
metaData | Record<string, unknown> | Optional |
WalletBalance
Source: src/api/wallet.ts
| Field | Type | Required |
|---|---|---|
balance | number | Required |
enabled | boolean | Required |
WalletTransactionReason
Source: src/api/wallet.ts
Type: \| 'redeem' \| 'NthPurchase' \| 'merge-user' \| 'SimpleCashbackRule' \| 'BirthdateGift' \| 'TajrobehAppreciation' \| 'edit_order' \| 'cancel_order' \| 'edit_shipping_cost' \| 'edit_cashback' \| 'gift' \| 'others' \| 'Refund' \| 'Charge' \| 'Expired' \| `${string}:activity`