Payment Intents
List, create or get payment intent details.
4 endpoints
Endpoints
/v2/payment_intentsAuthList payment intents
Returns the payment intents on your stores, newest first.
/v2/payment_intentsAuthCreate a payment intent
Creates a payment intent to collect a fiat amount on one of your stores. Share the intent id with the payer, who pays it through the Payer API in crypto.
/v2/payment_intents/{id}AuthGet a payment intent
Returns payment intent object details.
/v2/payment_intents/{id}/paymentsAuthList payments on a payment intent
Returns the payments detected on one of your payment intents, oldest first. Each entry is the payment quote the payment was sent to.
The payment_intent object
A PaymentIntent represents an object that tracks a fiat amount to be collected. Payer can pay in one or several payments via different crypto.
Attributes
idstringUnique ID, starting with pi_. Also the payer's credential for the Payer API.
store_idintegerID of the store the intent belongs to.
amountstringAmount to collect in currency, with at most 2 decimals.
currencystringFiat currency code.
statusstringunpaid: no payment detected. processing: a payment is detected but not confirmed yet. underpaid: confirmed payments cover part of amount and nothing else is in progress. paid: confirmed payments cover amount. Fulfil the order only on paid.
Allowed: unpaidprocessingunderpaidpaid
due_amountstringAmount remaining to pay in currency.
extra_datastringCustom data to associate with the intent. Never shown to the payer.
created_atintegerWhen the intent was created, as a Unix timestamp in seconds.
paymentsarray of objectsPayments detected on this intent, oldest first. Each entry is the payment quote the payment was sent to. Quotes that were never paid are not listed.
▶Show item fields
idstringUnique ID, starting with pq_.
amountstringFiat amount this quote covers, in the intent's currency. This is the intent's due_amount when the quote was created.
crypto_amountstringAmount to send, in the crypto's base units: satoshis for BTC (8 decimals), 6 decimals for EVM coins.
paid_crypto_amountstringAmount received, in base units. "0" until a payment is detected. Can be less or more than crypto_amount.
cryptostringCrypto to pay in.
Allowed: BTCUSDT
addressstringAddress to send crypto_amount to. Each BTC quote has its own address. USDT quotes use the store's USDT wallet address.
statusstringpending: waiting for payment. unconfirmed: payment detected, no confirmations yet. partially_confirmed: payment has confirmations but is not final. confirmed: payment is final and credited to the intent. failed: the USDT transaction reverted on-chain and is not credited.
Allowed: pendingunconfirmedpartially_confirmedconfirmedfailed
txidstringHash of the payment transaction.
expires_timestampintegerWhen the price lock ends, as a Unix timestamp in seconds. Once it has passed, create a quote again before paying.
paid_timestampintegerTime when payment's was detected, as a Unix timestamp in seconds.
Example object
{
"id": "pi_5GfD5m1b8khzFSLza91VR6",
"store_id": 1243,
"amount": "10.00",
"currency": "USD",
"status": "paid",
"due_amount": "0.00",
"extra_data": "order-1234",
"created_at": 1793615164,
"payments": [
{
"id": "pq_8GgAyuReWzLbJtEQrTNaT5",
"amount": "10.00",
"crypto_amount": "12966",
"paid_crypto_amount": "0",
"crypto": "BTC",
"address": "bc1qxy2kgdygjrsqtzq2n0yrf2493p83kkfjhx0wlh",
"status": "pending",
"expires_timestamp": 1793615475
}
]
}The payment_intent_callback object
The GET request sent to your store's callback URL each time a payment moves a payment intent to processing, underpaid or paid.
Attributes
idstringID of the payment intent.
statusstringThe intent's new status.
Allowed: processingunderpaidpaid
amountstringTotal amount of the intent in currency.
currencystringFiat currency code.
due_amountstringAmount remaining to pay in currency
extra_datastringYour extra_data, base64-encoded. Empty if the intent has none.
Example object
{
"id": "pi_5GfD5m1b8khzFSLza91VR6",
"status": "paid",
"amount": "10.00",
"currency": "USD",
"due_amount": "0.00",
"extra_data": "b3JkZXItMTIzNA=="
}