Skip to main content

Get Intent

Retrieve the current status and details of a payment intent.
GET https://testnetv1.ababilpay.xyz/api/v1/x402/intents/{intent_id}
Authorization: Bearer sk_test_...

Intent Status Values

StatusDescription
pendingCreated and awaiting payment. Expires after 30 minutes.
paidFully settled on-chain.
expiredNot paid within the 30-minute window.
cancelledCancelled by the merchant before settlement.
{
  "success": true,
  "data": {
    "intent_id":     "d03e0751-5a79-4b33-aa0e-d33dee344f27",
    "status":        "paid",
    "amount_usdc":   29.99,
    "order_id":      "order_8821",
    "tx_hash":       "0xf4753b209212ece119cb099f8f499efb6a4df031...",
    "buyer_address": "0xBuyerAddress",
    "chain":         "eip155:84532",
    "paid_at":       "2026-05-25T12:05:00Z",
    "expires_at":    "2026-05-25T13:00:00Z"
  }
}
Poll interval: Every 3–5 seconds. Settlement is typically 1–10 seconds depending on chain.

List Intents

Retrieve a paginated list of payment intents for the authenticated merchant.
GET https://testnetv1.ababilpay.xyz/api/v1/x402/intents
Authorization: Bearer sk_test_...

Query Parameters

ParameterTypeDescription
statusstringFilter by intent status: pending, paid, expired, cancelled.
order_idstringFilter by your internal order reference.
limitintegerNumber of results to return. Max 100, default 20.
offsetintegerPagination offset. Default 0.
GET /api/v1/x402/intents?status=paid&limit=50&offset=0

Response 200

{
  "success": true,
  "data": {
    "intents": [ /* array of intent objects */ ],
    "total":  142,
    "limit":  50,
    "offset": 0
  }
}

Cancel Intent

Cancel a pending payment intent. Only intents with status: "pending" can be cancelled.
DELETE https://testnetv1.ababilpay.xyz/api/v1/x402/intents/{intent_id}
Authorization: Bearer sk_test_...
Returns 404 if the intent is already paid or expired.

Response 200

{
  "success": true,
  "data": {
    "intent_id": "d03e0751-5a79-4b33-aa0e-d33dee344f27",
    "status":    "cancelled"
  }
}
Cancelling an intent does not issue a refund — it simply prevents further payment attempts. If a buyer has already signed an authorization but settlement hasn’t been submitted yet, cancellation will block that submission.