143 lines
5.3 KiB
TypeScript
143 lines
5.3 KiB
TypeScript
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;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|