Confirm a checkout payment
const url = 'https://apisandbox.puurk.com/checkout/confirm-payment';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"payment_intent_id":"example","payment_method_id":"example","oid":"example","off_session":false}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://apisandbox.puurk.com/checkout/confirm-payment \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "payment_intent_id": "example", "payment_method_id": "example", "oid": "example", "off_session": false }'Confirms a prepared PaymentIntent server-side with a payment method collected on the client. Call POST /checkout/verify-payment afterwards to record the Payment.
Authorizations
Section titled “Authorizations”Request Bodyrequired
Section titled “Request Bodyrequired”Payment to confirm
object
PaymentIntent returned by /checkout/prepare
Stripe PaymentMethod ID collected on the client
Organization ID the PaymentIntent belongs to
Set to true when charging a stored payment method with the customer not present, so Stripe handles authentication rather than expecting an interactive challenge.
Responses
Section titled “Responses”Successful operation
object
Stripe PaymentIntent ID
PaymentIntent status. ‘succeeded’, or ‘processing’ for asynchronous methods such as ACH that settle later.
Examplegenerated
{ "payment_intent_id": "example", "status": "example"}Invalid parameter
Unauthorized
PaymentIntent does not belong to this organization
PaymentIntent not found
Payment declined or not completed