Skip to main content

Payment — TypeScript SDK

Recharge records, statistics, and per-model usage billing.

Overview​

The Payment resource exposes recharge transaction records (with optional time/status/type filters), an account-wide recharge statistics summary, single-record lookup by platform transaction number, and a paginated model usage billing list with totals over a window.

Accessed via client.payment.

Available Operations​

MethodDescription
records()Paginated recharge records
statistics()Recharge statistics summary (account totals)
getRecord()Look up a single recharge record by transaction number
billingList()Paginated model usage billing list
billingQueryAllAmount()Model usage billing total across a window

records​

Paginated recharge records with optional time, status, and transaction-type filters.

Example Usage​

import { WltClient } from 'wlt-platform';

const client = new WltClient({ apiKey: 'your-api-key', baseUrl: 'https://console.example.com' });

// Successful recharges only
const result = await client.payment.records({
pageNum: 1,
pageSize: 10,
statusList: ['1'], // 0=processing, 1=success, 2=failed, 3=closed
});
console.log(`Total: ${result.total}`);
for (const record of result.list) {
console.log(record.transactionNo, record.amount, record.status);
}

// With time range and transaction type
const filtered = await client.payment.records({
startTime: '2026-04-01T00:00:00',
endTime: '2026-04-30T23:59:59',
transactionType: 'Recharge',
});

Parameters​

ParameterTypeRequiredDefaultDescription
pageNumnumberNo1Page number, starting from 1
pageSizenumberNo10Items per page (max 1000)
statusListstring[]No—Status filter: "0"=processing, "1"=success, "2"=failed, "3"=closed
startTimestringNo—Query start time (ISO 8601 local datetime)
endTimestringNo—Query end time (ISO 8601 local datetime)
transactionTypestringNo—Transaction type: "Recharge" or "Refund"

Response​

Returns PageResponse<RechargeTransactionResponse> — a payment-specific pagination shape:

FieldTypeDescription
pageNumnumberCurrent page number
pageSizenumberItems per page
totalnumberTotal record count
pagesnumberTotal number of pages
hasNextbooleanWhether there is a next page
hasPreviousbooleanWhether there is a previous page
listRechargeTransactionResponse[]Data list

RechargeTransactionResponse:

FieldTypeDescription
idnumberRecord primary key ID
createdAtUtcstringCreation time (UTC)
updatedAtUtcstringUpdate time (UTC)
userIdnumberUser ID
payChannelstringPayment channel (e.g. "Stripe")
payTypestringPayment type (APP / WEB)
transactionTypestringTransaction type (Recharge / Refund)
statusstringStatus: 0=processing, 1=success, 2=failed, 3=closed
callbackAtUtcstringCallback time (UTC)
transactionNostringPlatform transaction number
externalNostringExternal transaction number (Stripe ID)
amountstringTransaction amount
refundAmountstringRefunded amount
currencystringCurrency (ISO 4217)
refundStatusstringRefund status: 0=none, 1=partial, 2=full
originalTransactionNostringOriginal transaction number (for refund records)
extendstringExtension field (JSON)

Errors​

CodeErrorWhen
2000 / 2002Authentication failureAPI Key invalid
2007Permission deniedToken lacks permission
3001Token expiredRefresh failed

statistics​

Recharge statistics summary across the account.

Example Usage​

const stats = await client.payment.statistics();
console.log(`Total recharged: ${stats.totalRechargedAmount}`);

Parameters​

None.

Response​

Returns RechargeStatisticsResponse:

FieldTypeDescription
totalRechargedAmountstringTotal recharged amount
totalUsedRechargedAmountstringTotal used recharged amount
totalBalanceRechargedAmountstringUnused recharge balance
totalRefundAmountstringTotal refund amount
totalFreeAmountstringFree quota amount
currencystringCurrency code

Errors​

CodeErrorWhen
2000 / 2002Authentication failureAPI Key invalid
2007Permission deniedToken lacks permission
3001Token expiredRefresh failed

getRecord​

Look up a single recharge record by platform transaction number.

Example Usage​

const record = await client.payment.getRecord('TXN20260421001');
console.log(`Amount: ${record.amount}`);
console.log(`Status: ${record.status}`);
console.log(`Created: ${record.createdAtUtc}`);

Parameters​

ParameterTypeRequiredDefaultDescription
transactionNostringYes—Platform transaction number

Response​

Returns RechargeTransactionResponse. See records() for field definitions.

Errors​

CodeErrorWhen
1002Data not foundTransaction number does not exist
2000 / 2002Authentication failureAPI Key invalid
2007Permission deniedToken lacks permission
3001Token expiredRefresh failed

billingList​

Example Usage​

client.payment.billingList(params?: {
pageNum?: number;
pageSize?: number;
startTime?: string;
endTime?: string;
modelId?: string;
})

Paginated model usage billing list.

const result = await client.payment.billingList({
pageNum: 1,
pageSize: 10,
startTime: '2026-04-01 00:00:00',
endTime: '2026-04-30 23:59:59',
});
console.log(`Total: ${result.total}`);
for (const item of result.list) {
console.log(item.modelName, item.amount);
}

// Filter by model
const filtered = await client.payment.billingList({
startTime: '2026-04-01 00:00:00',
endTime: '2026-04-30 23:59:59',
modelId: 'qwen-turbo',
});

Parameters​

ParameterTypeRequiredDefaultDescription
pageNumnumberNo1Page number, starting from 1
pageSizenumberNo10Items per page (max 1000)
startTimestringNo—Start time, format "YYYY-MM-DD HH:MM:SS"
endTimestringNo—End time, format "YYYY-MM-DD HH:MM:SS"
modelIdstringNo—Model ID for exact filtering

Response​

Returns PageInfo<LmModelUsageBillingResponse>. LmModelUsageBillingResponse:

FieldTypeDescription
idnumberRecord primary key ID
createdAtUtcstringRecord creation time (UTC)
userIdnumberUser ID
usernamestringUsername
modelNamestringModel name
modelTypestringModel type
feeTypestringFee type (e.g. "input tokens" / "output tokens")
unitPricestringUnit price (per 1K tokens)
currencystringCurrency (ISO 4217)
usedAmoutstringUsage amount (token count). Note: backend field is misspelled
amountstringBilled amount
billingTimeStartstringBilling start time
billingTimeEndstringBilling end time
extendstringExtension field (JSON)
inputsstring[]Input type list
outputsstring[]Output type list

Errors​

CodeErrorWhen
1001Validation errorTime format must be YYYY-MM-DD HH:MM:SS
2000 / 2002Authentication failureAPI Key invalid
2007Permission deniedToken lacks permission
3001Token expiredRefresh failed

billingQueryAllAmount​

Model usage billing total across a time window.

Example Usage​

const total = await client.payment.billingQueryAllAmount({
startTime: '2026-04-01 00:00:00',
endTime: '2026-04-30 23:59:59',
});
console.log(`Total billing amount: ${total.totalBillingAmount}`);

// Filter by specific model
const modelTotal = await client.payment.billingQueryAllAmount({
startTime: '2026-04-01 00:00:00',
endTime: '2026-04-30 23:59:59',
modelId: 'qwen-turbo',
});

Parameters​

ParameterTypeRequiredDefaultDescription
startTimestringNo—Start time, format "YYYY-MM-DD HH:MM:SS"
endTimestringNo—End time, format "YYYY-MM-DD HH:MM:SS"
modelIdstringNo—Model ID for exact filtering

Response​

Returns ModelUsageBillingAmountResponse:

FieldTypeDescription
totalBillingAmountstringTotal billing amount
currencystringCurrency code

Errors​

CodeErrorWhen
1001Validation errorTime format must be YYYY-MM-DD HH:MM:SS
2000 / 2002Authentication failureAPI Key invalid
2007Permission deniedToken lacks permission
3001Token expiredRefresh failed