---
title: "Void"
method: POST
path: "/v5/payments/{payment_id}/void"
tags: ["Payments"]
---

# Void

`POST /v5/payments/{payment_id}/void`

## Request

- Base URL: `https://sandbox.nmi.com/api`
- URL: `https://sandbox.nmi.com/api/v5/payments/{payment_id}/void`
- Auth: API key in header `Authorization`

Void a payment. Only payments that have not yet been settled can be voided.

## Path parameters

- `payment_id` string, required

## Request body

- PaymentVoidRequest: Always send as JSON: send an empty JSON object `{}` when `void_reason` is not needed.
  - `void_reason` 'fraud' | 'user_cancel' | 'icc_rejected' | 'icc_card_removed' | 'icc_no_confirmation' | 'pos_timeout': Conditionally required if the transaction is EMV. Reason the EMV transaction is being voided

## Response `200`

Success

- TransactionResponse: Generic payment response
  - `object` 'transaction', required: Resource type identifier
  - `id` string, required: Payment ID
  - `type` string: Customer's payment type (e.g., 'cc', 'ck', 'cs')
  - `amount` string: Payment amount. Format: `x.xx`
  - `currency` string: Payment currency (ISO 4217)
  - `auth_code` string: Authorization code
  - `avs_response` string: Address Verification Service response code
  - `cvv_response` string: Card Verification Value response
  - `customer_vault_id` string: Customer vault ID associated with the payment
  - `status` string: Payment status
  - `response` '1' | '2' | '3': Response code: 1 = approved, 2 = declined, 3 = error
  - `response_text` string: Textual description of the operation's result
  - `response_code` string: Processor response code
  - `processor_id` string: Processor ID used for the payment
  - `created_date` string, date-time: Payment creation date in UTC ISO 8601 format
  - `updated_date` string, date-time: Payment last update date in UTC ISO 8601 format
  - `signature_image` string: Base64 encoded cardholder signature image. Omitted when no signature was captured. Returned on get and list when the payment was loaded with signature data.
  - `merchant_defined_fields` MerchantDefinedFields: Custom fields configured in the merchant control panel under Settings → Merchant Defined Fields (`field_1` through `field_20`).
    - `field_1` string: Merchant defined field 1
    - `field_2` string: Merchant defined field 2
    - `field_3` string: Merchant defined field 3
    - `field_4` string: Merchant defined field 4
    - `field_5` string: Merchant defined field 5
    - `field_6` string: Merchant defined field 6
    - `field_7` string: Merchant defined field 7
    - `field_8` string: Merchant defined field 8
    - `field_9` string: Merchant defined field 9
    - `field_10` string: Merchant defined field 10
    - `field_11` string: Merchant defined field 11
    - `field_12` string: Merchant defined field 12
    - `field_13` string: Merchant defined field 13
    - `field_14` string: Merchant defined field 14
    - `field_15` string: Merchant defined field 15
    - `field_16` string: Merchant defined field 16
    - `field_17` string: Merchant defined field 17
    - `field_18` string: Merchant defined field 18
    - `field_19` string: Merchant defined field 19
    - `field_20` string: Merchant defined field 20
  - `payment_details` object: Payment method details (card or check)
    - `card_number` string: Masked credit card number
    - `card_exp` string: Credit card expiration date. Format: `MMYY`
    - `card_hash` string: Card hash
    - `card_type` string: Card type (e.g., 'Visa', 'Mastercard')
    - `card_bin` string: Card BIN (Bank Identification Number)
    - `entry_mode` string: Entry mode
    - `cavv` string: Cardholder Authentication Verification Value
    - `cavv_result` string: CAVV result
    - `xid` string: Identifier for 3D Secure
    - `eci` string: Electronic Commerce Indicator
    - `card_start_date` string: Card start date. Format: `MMYY`
    - `card_issue_number` string: Card issue number
    - `cardholder_auth` string: Cardholder authentication
    - `check_account` string: Masked check account number
    - `check_aba` string: Bank routing number
    - `check_name` string: Name on the check
    - `account_type` 'checking' | 'savings': Account type
    - `account_holder_type` 'personal' | 'business': Account holder type
    - `sec_code` 'PPD' | 'WEB' | 'TEL' | 'CCD' | 'POP' | 'RCK': Standard Entry Class code
  - `billing_address` object: Billing address information
    - `first_name` string: First name
    - `last_name` string: Last name
    - `company` string: Company name
    - `address1` string: Address line 1
    - `address2` string: Address line 2
    - `city` string: City
    - `state` string: State or province
    - `zip` string: ZIP or postal code
    - `country` string: Country code (ISO 3166-1 alpha-2)
    - `phone` string: Phone number
    - `cell_phone` string: Cell phone number
    - `email` string, email: Email address
    - `fax` string: Fax number
  - `shipping_address` object: Shipping address information
    - `first_name` string: First name
    - `last_name` string: Last name
    - `company` string: Company name
    - `address1` string: Address line 1
    - `address2` string: Address line 2
    - `city` string: City
    - `state` string: State or province
    - `zip` string: ZIP or postal code
    - `country` string: Country code (ISO 3166-1 alpha-2)
    - `email` string, email: Email address
    - `phone` string: Phone number
    - `fax` string: Fax number
  - `order_details` object: Order details
    - `order_id` string: Order ID
    - `ip_address` string: IP address of cardholder
    - `order_description` string: Order description
    - `customer_id` string: Customer ID
    - `customer_tax_id` string: Customer tax ID
    - `tax` string: Tax amount. Format: `x.xx`
    - `shipping` string: Shipping amount. Format: `x.xx`
    - `discount_amount` string: Discount amount. Format: `x.xx`
    - `surcharge` string: Surcharge amount. Format: `x.xx`
    - `tip` string: Tip amount. Format: `x.xx`
    - `po_number` string: Purchase order number
    - `shipping_carrier` string: Shipping carrier
    - `tracking_number` string: Tracking number
    - `shipping_date` string, date-time: Shipping date in UTC ISO 8601 format
  - `actions` object[]: Array of actions for the payment
    - `id` string: Action ID
    - `type` string: Action type
    - `amount` string: Action amount. Format: `x.xx`
    - `success` boolean: Whether the action was successful
    - `response` '1' | '2' | '3': Response code: 1 = approved, 2 = declined, 3 = error
    - `response_text` string: Response text
    - `response_code` string: Response code
    - `auth_code` string: Authorization code
    - `avs_response` string: AVS response
    - `cvv_response` string: CVV response
    - `processor_id` string: Processor ID
    - `ip_address` string: IP address
    - `user_id` string: User ID who performed the action
    - `date` string, date-time: Action date in UTC ISO 8601 format
    - `source` string: Source of the action

## Other responses

- `400`: Bad Request - Validation Error
- `401`: Unauthorized

---

[API](https://skmtc.dev/nmi/apis/payments-api.md) - [All operations](https://skmtc.dev/nmi/apis/payments-api/llms.txt) - [OpenAPI document](https://skmtc.dev/nmi/apis/payments-api/revisions/c03727f27e27?raw)
