APICenter
DocsBuildLearn
Guides & Tutorials

Payment Intents API

Create, retrieve, confirm, and cancel payment intents through the public payment API.

Payment intents expose a provider-neutral way to create and track a payment. The public API currently accepts an amount and a reference when creating an intent. Payment-method tokenization and manual capture are not part of this contract.

For a Node.js backend, use api.payments.intents.create(...) or api.payments.intents.createQrPh(...) from the APICenter SDK. The REST examples below are for other runtimes.

Create a payment intent

  • Endpoint: POST /api/v1/payments/intents
  • Required scope: payments:intents:write or a broader payment write scope
  • Required header: Idempotency-Key
curl -X POST https://api.apicenter.itsandbox.site/api/v1/payments/intents \
  -H "Authorization: Bearer $PAYMENT_API_KEY" \
  -H "Idempotency-Key: intent-create-1002" \
  -H "Content-Type: application/json" \
  -d '{
    "referenceId": "INTENT-2026-001",
    "amount": {
      "amountMinor": 125000,
      "currency": "PHP"
    }
  }'

A successful response includes a paymentIntentId, normalized status, amount, and aggregateVersion.

Retrieve, confirm, or cancel

  • Retrieve: GET /api/v1/payments/intents/{paymentIntentId} with payments:intents:read.
  • Confirm: POST /api/v1/payments/intents/{paymentIntentId}/confirm with payments:intents:write.
  • Cancel: POST /api/v1/payments/intents/{paymentIntentId}/cancel with payments:intents:write.

Confirm and cancel require their own Idempotency-Key values. The current public contract does not accept a payment-method token or return a client secret for these operations.