Payment Intents

Process payment intent after client-side confirmation

Changed on

Processes a payment intent that has been confirmed on the client side. Polls the database for payment intent status to become succeeded. Returns the current status of the payment intent; on success, the response is enriched with the Purchase row created by the webhook handler.

post/v1/sdk/payment-intents/{processorPaymentId}/process

Request

Path parameters

processorPaymentIdstring required
Example:pi_1a2b3c4d5e6f7g8h

Payment processor ID returned from createPaymentIntent

Request body

customerRefstring required
planRefstring
productRefstring

Response

Payment intent status with optional purchase enrichment on success

OR
OR
OR
OR
OR
OR

Example response

{
  "purchase": {
    "amount": 9900,
    "cancellationReason": "Customer request",
    "cancelledAt": "2025-10-28T10:00:00Z",
    "currency": "GBP",
    "customerEmail": "customer@example.com",
    "customerRef": "cus_3C4D5E6F",
    "endDate": "2025-11-27T10:00:00Z",
    "exchangeRate": 1.32,
    "isRecurring": true,
    "origin": "paid",
    "originalAmount": 7500,
    "planRef": "pln_abc123",
    "planSnapshot": {
      "currency": "USD",
      "isMetered": true,
      "name": "Pro Monthly",
      "price": 2999,
      "reference": "pln_1A2B3C4D"
    },
    "productName": "API Gateway Manager",
    "productRef": "prd_abc123",
    "reference": "pur_1A2B3C4D",
    "startDate": "2025-10-27T10:00:00Z",
    "status": "active",
    "usage": {
      "periodEnd": "2025-11-01T00:00:00Z",
      "periodStart": "2025-10-01T00:00:00Z"
    }
  },
  "status": "succeeded",
  "type": "recurring"
}

Changes

    • info

      added to the ///// response property allOf list for the response status

    • info

      removed from the ///// response property allOf list for the response status

    • breaking

      the response property ///// became optional for the status

    • breaking

      the ///// response's property type changed from object to no type for status

    • info

      removed response discriminator for the response status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added the optional property ///// to the response with the status

    • info

      added to the ///// response property allOf list for the response status

    • info

      added the required property ///// to the response with the status

    • info

      added the required property ///// to the response with the status

    • info

      added the required property ///// to the response with the status

    • info

      added the required property ///// to the response with the status

    • info

      added the required property ///// to the response with the status