Devices

Create Credit Payment Request on Device

Initiate an asynchronous credit (refund) 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/credit with device_id in the request body. This endpoint uses the same underlying functionality as POST /api/v5/payments/credit.

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

Request

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

Path parameters

device_idstring required

The unique identifier of the cloud device

Request body

amountnumber required

Total amount to be charged. Format: x.xx

surchargenumber

Surcharge amount. Format: x.xx

convenience_feenumber

Convenience fee amount. Format: x.xx

misc_feenumber

Miscellaneous fee amount. Format: x.xx

misc_fee_namestring

Custom miscellaneous fee name. Default: Miscellaneous Fee

tipnumber

The final tip amount, included in the payment. Format: x.xx

currencystring

The ISO 4217 currency code. Example: USD

processor_idstring

If using multiple processors, route to the specified processor ID. Omit for default processor or when using a single processor.

dup_secondsinteger

Sets the time in seconds for duplicate checking on supported processors. Set to 0 to disable duplicate checking

transaction_session_idstring

A single use session ID used by Kount to link the payment and Data Collector information together

customer_receiptboolean

If set to true, when the customer is charged, they will be sent a receipt

pinless_debit_overrideboolean

Set to true if you have Pinless Debit Conversion enabled but want to opt out for this payment

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

Industry type for the payment

signature_imagestring

Base64 encoded signature image

network_tokenizeboolean

Enable network tokenization

partial_payments'settle_partial' | 'payment_in_full'

settle_partial: Settles any amount of tender collected at cut off. payment_in_full: Required that any split tendered payment is collected in-full before settlement gets initiated

partial_payment_idstring

A numeric identifier which is used when submitting subsequent payments for partial payments

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.

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.