UNPKG

stripe

Version:
143 lines (142 loc) 5.44 kB
import { StripeResource } from '../../StripeResource.js'; import { Customer, DeletedCustomer } from './../Customers.js'; import { RequestOptions, Response } from '../../lib.js'; export declare class CreditBalanceSummaryResource extends StripeResource { /** * Retrieves the credit balance summary for a customer. */ retrieve(params: Billing.CreditBalanceSummaryRetrieveParams, options?: RequestOptions): Promise<Response<CreditBalanceSummary>>; } export interface CreditBalanceSummary { /** * String representing the object's type. Objects of the same type share the same value. */ object: 'billing.credit_balance_summary'; /** * The billing credit balances. One entry per credit grant currency. If a customer only has credit grants in a single currency, then this will have a single balance entry. */ balances: Array<Billing.CreditBalanceSummary.Balance>; /** * The customer the balance is for. */ customer: string | Customer | DeletedCustomer; /** * The account the balance is for. */ customer_account: string | null; /** * If the object exists in live mode, the value is `true`. If the object exists in test mode, the value is `false`. */ livemode: boolean; } export declare namespace Billing { namespace CreditBalanceSummary { interface Balance { available_balance: Balance.AvailableBalance; ledger_balance: Balance.LedgerBalance; } namespace Balance { interface AvailableBalance { /** * The monetary amount. */ monetary: AvailableBalance.Monetary | null; /** * The type of this amount. We currently only support `monetary` billing credits. */ type: 'monetary'; } interface LedgerBalance { /** * The monetary amount. */ monetary: LedgerBalance.Monetary | null; /** * The type of this amount. We currently only support `monetary` billing credits. */ type: 'monetary'; } namespace AvailableBalance { interface Monetary { /** * Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ currency: string; /** * A positive integer representing the amount. */ value: number; } } namespace LedgerBalance { interface Monetary { /** * Three-letter [ISO currency code](https://www.iso.org/iso-4217-currency-codes.html), in lowercase. Must be a [supported currency](https://stripe.com/docs/currencies). */ currency: string; /** * A positive integer representing the amount. */ value: number; } } } } } export declare namespace Billing { interface CreditBalanceSummaryRetrieveParams { /** * The filter criteria for the credit balance summary. */ filter: CreditBalanceSummaryRetrieveParams.Filter; /** * The customer whose credit balance summary you're retrieving. */ customer?: string; /** * The account representing the customer whose credit balance summary you're retrieving. */ customer_account?: string; /** * Specifies which fields in the response should be expanded. */ expand?: Array<string>; } namespace CreditBalanceSummaryRetrieveParams { interface Filter { /** * The billing credit applicability scope for which to fetch credit balance summary. */ applicability_scope?: Filter.ApplicabilityScope; /** * The credit grant for which to fetch credit balance summary. */ credit_grant?: string; /** * Specify the type of this filter. */ type: Filter.Type; } namespace Filter { interface ApplicabilityScope { /** * The price type that credit grants can apply to. We currently only support the `metered` price type. Cannot be used in combination with `prices`. */ price_type?: 'metered'; /** * A list of prices that the credit grant can apply to. We currently only support the `metered` prices. Cannot be used in combination with `price_type`. */ prices?: Array<ApplicabilityScope.Price>; } type Type = 'applicability_scope' | 'credit_grant'; namespace ApplicabilityScope { interface Price { /** * The price ID this credit grant should apply to. */ id: string; } } } } }