Devices

Create Validation Payment Request on Device

Initiate an asynchronous validation payment request on a specific cloud device. The device_id is specified in the URL path. Payment details (card number, expiration, CVV) are collected by the device itself, so they should not be included in the request body. This endpoint always operates in asynchronous mode. For synchronous payment processing with a device, use POST /api/v5/payments/validate with device_id in the request body. This endpoint uses the same underlying functionality as POST /api/v5/payments/validate.

post/v5/devices/{device_id}/payment-requests/validate

Request

  • Base URL
    https://sandbox.nmi.com/api
  • URL
    https://sandbox.nmi.com/api/v5/devices/{device_id}/payment-requests/validate
  • Auth
    API key in header Authorization

Path parameters

device_idstring required

The unique identifier of the cloud device

Request body

poi_prompt_tip'true' | 'false'

When set to "true", allows the cardholder to enter or confirm a tip amount on the POI device.

poi_prompt_quicktip_amountsstring

Comma-delimited quick tip amount options to show on the POI device. Valid only when poi_prompt_tip is "true".

poi_prompt_quicktip_percentagesstring

Comma-delimited quick tip percentage options to show on the POI device. Valid only when poi_prompt_tip is "true".

poi_enable_keyed'true' | 'false'

When set to "true", provides the option for the cardholder to key in card details on the POI device.

poi_require_keyed'true' | 'false'

When set to "true", requires keyed entry on the POI device. Cannot be "true" at the same time as poi_enable_keyed.

poi_keyed_type'cnp' | 'card_present' | 'ecommerce' | 'mail_order' | 'telephone_order'

Keyed transaction type to use when keyed entry is enabled or required on the POI device.

poi_prompt_cvv'true' | 'false'

Controls whether the POI device prompts for CVV during keyed entry.

poi_prompt_zip'true' | 'false'

When set to "true", requires ZIP or postal code entry on the POI device.

poi_prompt_signature'true' | 'false'

Controls whether the POI device prompts for signature capture where supported.

poi_prompt_amount_confirmation'true' | 'false'

When set to "true", requires the cardholder to confirm the amount on the POI device.

poi_automatic_fall_forward'true' | 'false'

Controls fall-forward behavior on supported POI devices.

poi_enable_void'true' | 'false'

When set to "true", allows the device flow to void the transaction if the cardholder removes the card before finalization.

industry'retail' | 'restaurant' | 'ecommerce' | 'moto' | 'lodging'

Industry type for the transaction

signature_imagestring

Base64 encoded signature image

Response

Payment request created successfully

object'payment-request' required

Resource type identifier

idstring required

Payment request ID

status'pending' | 'inFlight' | 'interactionComplete' | 'cancelled' | 'cancelledAtTerminal' | 'cancelledByApi' | 'cancelledByTimeout' | 'poiDeviceInUse' | 'poiDeviceDisconnected' | 'terminatedBadCardRead' required

Status of the payment request. When a payment request is first created, the status is always pending. When polling for status, values are more granular to show the progress of the transaction based on the device's status or customer's interaction.

Changes

No recorded changes to this operation across all 1 revision of this API.