/api/v1/payment_intents
The endpoint will return all payment intents created related to the access_token creator.
The Payment Intents object is defined as a typescript interface
interface PaymentIntent_ApiV1 {
id: number; // The number identifier of the payment intent
created_at: string; // The UTC string date when it was created
account: Account_ApiV1; // See /api/v1/accounts for the Accounts object
payee_address: string; // The address that will receive the payments
max_debit_amount: string; // The max debitable amount
debit_times: number; // The amount of times the payment intent can be used
debit_interval: number; // The interval of days the payment intent can be used
payment_intent: string; // The payment intent identifier,same as the Checkout Redirect , this represents the payment intent on-chain!
commitment: string; // The account commitment
estimated_gas: string; // The estimated gas cost to relay a single transaciton
status_text: PaymentIntentStatus_ApiV1; // The Status of the payment intent, an enum
last_payment_date: string | null; // UTC string
next_payment_date: string | null; // UTC string
pricing: Pricing_ApiV1; // "Fixed" or "Dynamic"
currency: Currency_ApiV1; // The currency is composed of
network: Network_ApiV1; // See below the interface
debit_item: DebitItem_ApiV1; // The the debit item object the payment intents are derived from
used_for: number; // how many times the payment intent was used already
transactions_left: number; // calulated like: debit_interval - used_for
failed_dynamic_payment_amount: string; //If dynamic payment was requested but it failed because account balance too low, the missing amount is returned here
}
interface Currency_ApiV1 {
name: string; // The name of the currency
native: boolean; // is it a native token , if true then contract address is an empty string
contractAddress: string; // The contract address
}
interface Network_ApiV1 {
name: string; // The name of the current network
rpc: string; // The RPC url used for accessing the network
chain_id: string; // The chain id as a hex string
currency: string; // The ticker of the currency
virtual_accounts_contract: string; // The address of the virtual accounts contract on this chain
connected_wallets_contract: string; // The address of the connected wallets contarct on this chain
available_currencies: Array<Currency_ApiV1>; // The currencies currently supported on this network
}
enum PaymentIntentStatus_ApiV1 {
CREATED = "CREATED", // The payment intent was just created, it's ready for the first transction
CANCELLED = "CANCELLED", // The payment intent was cancelled, requires a wallet signed transaciton from it's creator or the payee
RECURRING = "RECURRING", // The subsciptions are in progress and waiting for the next payment
PAID = "PAID", // The subsciption period is over, the paymetns finished
ACCOUNTBALANCETOOLOW = "ACCOUNTBALANCETOOLOW", // The payments are stuck because the account balance is too low
}
interface DebitItem_ApiV1 {
id: number; // The id of the debit item
created_at: string; // The UTC date string when the item was created
payee_address: string; // The address that will receive the payments
currency: Currency_ApiV1; // The currency used for this item
max_price: string; // The maximum price that can be debited
debit_times: number; // The amount of subsciption payments
debit_interval: number; // The interval of subscription payments per days
button_id: string; // The uuid of the button, used for accessing the checkout!
redirect_url: string; // The url where the checkout will redirect to!
pricing: Pricing_ApiV1; // The pricing "Fixed" or "Dynamic"
network: Network_ApiV1; // The network this debit item supports
name: string; // The name of the item is the name of the subsciption or payment intent
deleted: boolean; // The items can be deleted to disable the checkout. It's possible to reactive them afterwards
payment_intents_count: number; // The amount of payment intents created for this debit item, is the count of subsciptions created
}Pagination
When fetching payment intents with pagination, they can be sorted using these sort_by values
Here shown, as internally stored, as a Typescript enum:
Filtering
You can request to filter the responses using the filter query parameter which must contain a JSON string! See the below pseudo code:
All the parameters for filtering are optional, just like the pagination.
Last updated