Payment Intents let you accept card and Apple Pay payments into an account. Create an intent for the amount you want to collect, then confirm it with an intent action.Documentation Index
Fetch the complete documentation index at: https://docs.nuvion.co/llms.txt
Use this file to discover all available pages before exploring further.
The Payment Intent object
Unique payment intent identifier.
ISO 4217 currency code. e.g.
USD, GBP, EUR.Amount in the smallest currency unit.
5000 = $50.00 USD.Your unique order or transaction reference.
Optional human-readable payment description.
Intent status. One of
requires_action, processing, completed, cancelled, or failed.Reason for the current status. Present when a payment fails or is cancelled with a reason.
Entity that owns the payment intent.
Account credited when the payment completes.
Unix timestamp in milliseconds when the intent was created.
Payment intent statuses
| Status | Description |
|---|---|
requires_action | Intent created and ready to be confirmed. |
processing | A confirmation action is being processed. |
completed | Payment completed successfully. |
cancelled | Intent was cancelled before completion. |
failed | Payment failed. Check status_reason. |
The Intent Action object
Unique intent action identifier.
Currency inherited from the payment intent.
Payment amount inherited from the payment intent.
Fee charged for the payment in the smallest currency unit.
Amount charged for the payment.
Amount refunded so far in the smallest currency unit.
Client reference inherited from the payment intent.
Action performed. Currently
confirm.Payment category. Currently
collections.Payment method. One of
card-acq or applepay-acq.Payment method data returned for the action. Sensitive card details are never returned.
Action status. One of
pending, pending_user_action, completed, or failed.Reason for the current status. Present when a payment fails.
Entity that owns the intent action.
Account credited when the payment completes.
Payment Intent linked to this action.
true when the customer must complete a redirect or challenge.Next step for the customer when
requires_action is true.URL the customer is redirected to after authentication.
Unix timestamp in milliseconds when the action was created.
Intent action statuses
| Status | Description |
|---|---|
pending | Action created and being processed. |
pending_user_action | Customer must complete authentication. |
completed | Payment completed successfully. |
failed | Payment failed. Check status_reason. |
Card data encryption
Forcard-acq, send encrypted card details in intent_action.payment_type_data.data.
Encrypt this JSON object with RSA-OAEP SHA-256 using the encryption_public_key returned when you create or rotate an API key:
Card PAN. 13–19 digits. Spaces are ignored after decryption.
Expiry month,
1–12 or zero-padded 01–12.Four-digit expiry year. The expiry date must not be in the past.
Card verification value. 3 or 4 digits.
Optional name printed on the card.
Create a payment intent
POST /payment-intents
Creates a payment intent for a card payment.
Request parameters
ISO 4217 currency code. e.g.
USD.Amount in the smallest currency unit.
5000 = $50.00 USD.Account to credit when the payment completes.
Unique order or transaction reference. 1–100 characters. The same reference cannot be reused for the same account.
A human-readable payment description. Maximum 250 characters.
Optional confirmation action. Include this to create and confirm the Payment Intent in one request.
Request
Response
Returns a Payment Intent withstatus: "requires_action".
Create and confirm in one request
Includeintent_action when your server already has the encrypted card payload and wants to submit the payment immediately.
Confirm a payment intent
POST /intent-actions
Confirms a payment intent with card or Apple Pay payment data.
Request parameters
Payment Intent to confirm. The intent must have
status: "requires_action".Confirmation action details.
Always
confirm.Always
collections.Payment method. One of
card-acq or applepay-acq.Payment method data.
Encrypted Base64 card data. Required for
card-acq; omit for applepay-acq.Billing address. For
applepay-acq, only country is required.Card authentication model. One of
3ds_required or 3ds_disabled. Defaults to 3ds_required.Browser data for 3DS authentication. Required unless
auth_model is 3ds_disabled.Customer details for the payment.
URL to redirect the customer to after authentication. Required unless
auth_model is 3ds_disabled.Card request
Apple Pay request
Response
Returns an Intent Action. Ifrequires_action is true, redirect the customer to next_action.url.
Payment intent webhooks
Payment Intent webhooks notify your server when a payment reaches a final state.| Event | Trigger |
|---|---|
payment_intent.completed | Payment completed successfully |
payment_intent.failed | Payment failed |
payment_intent.cancelled | Payment Intent cancelled before confirmation |
2xx response to acknowledge receipt. See Webhooks for delivery and retry details.
Retrieve a payment intent
GET /payment-intents/{id}
Returns a single Payment Intent.
Payment Intent ID.
List payment intents
GET /payment-intents
Returns a paginated list of Payment Intents.
Filter by status.
Filter by client reference.
Filter by currency.
Filter by account.
Filter by creation date start.
Filter by creation date end.
Maximum number of records to return.
Cursor for the next page.
Cursor for the previous page.
Cancel a payment intent
PATCH /payment-intents/{id}
Cancels a Payment Intent that has not been confirmed. Only intents with status: "requires_action" can be cancelled.
Payment Intent ID.
Must be
cancel.Cancellation reason. 1–100 characters.
Retrieve an intent action
GET /intent-actions/{id}
Returns a single Intent Action.
Intent Action ID.
List intent actions
GET /intent-actions
Returns a paginated list of Intent Actions.
Filter by currency.
Filter by client reference.
Filter by payment type. e.g.
card-acq.Filter by status.
Filter by Payment Intent ID.
Filter by account.
Filter by creation date start.
Filter by creation date end.
Maximum number of records to return.
Cursor for the next page.
Cursor for the previous page.
Verify an intent action
POST /intent-verifications/{id}
Rechecks an Intent Action that has not reached a final status. If the action is already completed or failed, the current action is returned.
Intent Action ID.
