NMI · Schema
Credit Card - Complete Partial Payment in Full
PaymentsPayment GatewayPayment ProcessingTokenizationRecurring BillingCustomer VaultFintechEmbedded PaymentsPayment Facilitation
Properties
| Name | Type | Description |
|---|---|---|
| security_key | object | |
| type | string | Will complete a `payment_in_full` transaction that has not been collected in full. This allows industries that require `payment_in_full` but subsequently decide to still settle the transaction even th |
| partial_payments | string | `payment_in_full`: Required that any split tendered transaction is collected in-full before settlement gets initiated. |
| partial_payment_id | string | Unique identifier returned when making the original transaction. This should only be used for secondary transactions. |
| ccnumber | string | Credit card number. Allowed Card Numbers:| Card Type | Test Card Number | |:------------------|:---------------------| | Visa | 4111111111111111 | | MasterCard | 54311111 |
| ccexp | string | Credit card expiration date. Format: `MMYY` |
| cvv | string | The card security code. While this is not required, it is strongly recommended. |
| amount | string | Total amount to be charged. Format: `x.xx` |
| payment_token | string | The tokenized version of the customer's card or check information, generated by the [Payment Component](../docs/payment-component) (npm packages / [Gateway.js](https://secure.networkmerchants.com/merc |
| transaction_session_id | string | A single use session ID used by Kount to link the transaction and Data Collector information together. * Should be generated every time a payment form is loaded by the cardholder. * Should be random/u |
| applepay_payment_data | string | The encrypted token created when integration directly to the Apple Pay SDK. |
| googlepay_payment_data | string | The encrypted token created when [integration directly to the Google Pay SDK](https://secure.networkmerchants.com/merchants/resources/integration/integration_portal.php#googlepay_variables). |
| surcharge | string | Surcharge amount. Format: `x.xx` |
| convenience_fee | string | Convenience fee amount. Format: `x.xx` |
| misc_fee | string | Miscellaneous fee amount. Format: `x.xx` |
| misc_fee_name | string | Custom miscellaneous fee name. Default: `Miscellaneous Fee` |
| tip | number | The final tip amount, included in the transaction, associated with the purchase. Format: `x.xx` |
| currency | string | The transaction currency. Format: `ISO 4217` |
| processor_id | string | If using Multiple MIDs, route to this processor (*processor_id* is obtained under Settings → Transaction Routing in the Control Panel). |
| dup_seconds | integer | Sets the time in seconds for duplicate transaction checking on supported processors. Set to *0* to disable duplicate checking. |
| descriptor | string | Set payment descriptor on supported processors. |
| descriptor_phone | string | Set payment descriptor phone on supported processors. |
| descriptor_address | string | Set payment descriptor address on supported processors. |
| descriptor_city | string | Set payment descriptor city on supported processors. |
| descriptor_state | string | Set payment descriptor state on supported processors. |
| descriptor_postal | string | Set payment descriptor postal code on supported processors. |
| descriptor_country | string | Set payment descriptor country on supported processors. |
| descriptor_mcc | string | Set payment descriptor mcc on supported processors. |
| descriptor_merchant_id | string | Set payment descriptor merchant id on supported processors. |
| descriptor_url | string | Set payment descriptor url on supported processors. |
| billing_method | string | Recurring or installment classification for the processor. - `initial_recurring`: First transaction in a recurring sequence only. - `recurring`: Later charges in that sequence. - `installment`: Instal |
| billing_number | integer | Specify installment billing number, on supported processors. For use when `billing_method` is set to "installment". |
| billing_total | string | Specify installment billing total on supported processors. For use when `billing_method` is set to "installment". |
| order_template | string | Order template ID. |
| order_description | string | Order description. |
| orderid | string | **Level III - Order Field:** Identifier assigned by the merchant. This defaults to gateway transaction id. |
| ipaddress | string | IP address of cardholder, this field is recommended. Format: `xxx.xxx.xxx.xxx` |
| first_name | string | Cardholder's first name. |
| last_name | string | Cardholder's last name |
| company | string | Cardholder's company |
| address1 | string | Card billing address |
| address2 | string | Card billing address, line 2 |
| city | string | Card billing city |
| state | string | Card billing state. Format: `CC` |
| zip | string | Card billing zip code |
| country | string | Card billing country. *Country codes are as shown in ISO 3166-1 alpha-2*. Format: `CC` |
| phone | string | Billing phone number |
| fax | string | Billing fax number |
| string | Billing email address | |
| drivers_license_number | string | Driver's license number. |
| drivers_license_dob | string | Driver's license date of birth. |
| drivers_license_state | string | The state that issued the customer's driver's license. |
| shipping_firstname | string | Shipping first name |
| shipping_lastname | string | Shipping last name |
| shipping_company | string | Shipping company |
| shipping_address1 | string | Shipping address |
| shipping_address2 | string | Shipping address, line 2 |
| shipping_city | string | Shipping city |
| shipping_state | string | Shipping state. Format: `CC` |
| shipping_zip | string | Shipping zip code |
| shipping_country | string | **Level III - Order Field:** Shipping country (e.g. US). Format: `CC` - ISO 3166-1 alpha-2 |
| shipping_email | string | Shipping email address |
| merchant_defined_field_1 | string | Merchant defined field. You can pass custom information in up to 20 fields. Format: `merchant_defined_field_1=Value1`, `merchant_defined_field_2=Value2`, etc... |
| customer_receipt | string | If set to true, when the customer is charged, they will be sent a transaction receipt. |
| cardholder_auth | string | Set 3D Secure condition. Value used to determine E-commerce indicator (ECI). **Required for 3D Secure transactions** |
| cavv | string | Cardholder authentication verification value. Format: `base64 encoded` **Required for 3D Secure transactions** |
| xid | string | Cardholder authentication transaction id. Format: `base64 encoded` **Required for 3D Secure transactions** |
| three_ds_version | string | 3DSecure version. **Required for 3D Secure transactions** |
| directory_server_id | string | Directory Server Transaction ID. May be provided as part of 3DSecure 2.0 authentication. Format: `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx` |
| source_transaction_id | string | Specifies a payment gateway transaction id in order to associate payment information with a Subscription or Customer Vault record. Must be set with a 'recurring' or 'customer_vault' action. |
| pinless_debit_override | string | Set to 'Y' if you have Pinless Debit Conversion enabled but want to opt out for this transaction. Feature applies to selected processors only. |
| recurring | string | **Recurring Field:** Recurring action to be processed. |
| plan_id | string | **Recurring Field:** Create a subscription tied to a Plan ID if the sale/auth transaction is successful. Required when **recurring** variable is set to `add_subscription` |
| plan_payments | integer | **Recurring Field:** The number of payments before the recurring plan is complete. Note: Use '0' for until canceled Required when **recurring** variable is set to `add_subscription` |
| plan_amount | number | **Recurring Field:** The plan amount to be charged each billing cycle. Format: `x.xx` Required when **recurring** variable is set to `add_subscription` |
| month_frequency | integer | **Recurring Field:** How often, in months, to charge the customer. Cannot be set with 'day_frequency'. Must be set with 'day_of_month'. Required when **recurring** variable is set to `add_subscription |
| day_of_month | integer | **Recurring Field:** The day that the customer will be charged. Cannot be set with 'day_frequency'. Must be set with 'month_frequency'. For months without 29, 30, or 31 days, the charge will be on the |
| day_frequency | integer | **Recurring Field:** How often, in days, to charge the customer. Cannot be set with 'month_frequency' or 'day_of_month'. Required when **recurring** variable is set to `add_subscription` |
| start_date | string | **Recurring Field:** The first day that the customer will be charged. Format: `YYYYMMDD` Required when **recurring** variable is set to `add_subscription` |
| customer_vault | string | Associate payment information with a Customer Vault record if the transaction is successful. |
| customer_vault_id | string | Specifies a Customer Vault id. If not set, the payment gateway will randomly generate a Customer Vault id. |
| initiated_by | string | **Stored Credentials (CIT/MIT):** Who initiated the transaction. |
| initial_transaction_id | string | **Stored Credentials (CIT/MIT):** Original payment gateway transaction id. |
| stored_credential_indicator | string | **Stored Credentials (CIT/MIT):** The indicator of the stored credential. Use **'stored'** when processing the initial transaction in which you are storing a customer's payment details (customer crede |
| shipping | number | **Level II/III - Order Field:** Freight or shipping amount included in the transaction amount. Default - `0.00`. Format: `x.xx` |
| tax | number | **Level II/III - Order Field:** The sales tax, included in the transaction amount, associated with the purchase. Setting tax equal to '-1' indicates an order that is exempt from sales tax. Default - ` |
| ponumber | string | **Level II/III - Order Field:** Purchase order number |
| shipping_postal | string | **Level III - Order Field:** Postal/ZIP code of the address where purchased goods will be delivered. This field can be identical to the 'ship_from_postal' if the customer is present and takes immediat |
| ship_from_postal | string | **Level III - Order Field:** Postal/ZIP code of the address from where purchased goods are being shipped, defaults to merchant profile postal code. |
| summary_commodity_code | string | **Level III - Order Field:** 4 character international description code of the overall goods or services being supplied. The acquirer or processor will provide a list of current codes. |
| duty_amount | number | **Level III - Order Field:** Amount included in the transaction amount associated with the import of purchased goods. Default - `0.00`. Format: `x.xx` |
| discount_amount | number | **Level III - Order Field:** Amount included in the transaction amount of any discount applied to complete order by the merchant. Default - `0.00`. Format: `x.xx` |
| national_tax_amount | number | **Level III - Order Field:** The national tax amount included in the transaction amount. Default - `0.00`. Format: `x.xx` |
| alternate_tax_amount | number | **Level III - Order Field:** Second tax amount included in the transaction amount in countries where more than one type of tax can be applied to the purchases. Default - `0.00`. Format: `x.xx` |
| alternate_tax_id | string | **Level III - Order Field:** Tax identification number of the merchant that reported the alternate tax amount. |
| vat_tax_amount | number | **Level III - Order Field:** Contains the amount of any value added taxes which can be associated with the purchased item. Default - `0.00`. Format: `x.xx` |
| vat_tax_rate | number | **Level III - Order Field:** Contains the tax rate used to calculate the sales tax amount appearing. Can contain up to 2 decimal places, e.g. 1% = 1.00. Default - `0.00`. Format: `x.xx` |
| vat_invoice_reference_number | string | **Level III - Order Field:** Invoice number that is associated with the VAT invoice. |
| customer_vat_registration | string | **Level III - Order Field:** Value added tax registration number supplied by the cardholder. |
| merchant_vat_registration | string | **Level III - Order Field:** Government assigned tax identification number of the merchant for whom the goods or services were purchased from. |
| order_date | string | **Level III - Order Field:** Purchase order date, defaults to the date of the transaction. Format: `YYMMDD` |
| item_product_code_1 | string | **Level III - Line Item:** Merchant defined description code of the item being purchased. *Up to 99 sets of item_* fields are allowed.* |
| item_description_1 | string | **Level III - Line Item:** Description of the item(s) being supplied. |
| item_commodity_code_1 | string | **Level III - Line Item:** International description code of the individual good or service being supplied. The acquirer or processor will provide a list of current codes. |
| item_unit_of_measure_1 | string | **Level III - Line Item:** Code for units of measurement as used in international trade. Default - `EACH`. |
| item_unit_cost_1 | number | **Level III - Line Item:** Unit cost of item purchased, may contain up to 4 decimal places. |
| item_quantity_1 | integer | **Level III - Line Item:** Quantity of the item(s) being purchased. Default - `1`. |
| item_total_amount_1 | number | **Level III - Line Item:** Purchase amount associated with the item. Defaults to: 'item_unit_cost_#' x 'item_quantity_#' rounded to the nearest penny. |
| item_tax_amount_1 | number | **Level III - Line Item:** Amount of sales tax on specific item. Amount should not be included in 'total_amount_#'. Default - `0.00`. Format: `x.xx` |
| item_tax_rate_1 | number | **Level III - Line Item:** Percentage representing the value-added tax applied. Default - `0.00`. Format: `x.xx` |
| item_discount_amount_1 | number | **Level III - Line Item:** Discount amount which can have been applied by the merchant on the sale of the specific item. Amount should not be included in 'total_amount_#'. |
| item_discount_rate_1 | number | **Level III - Line Item:** Discount rate for the line item. Default - `0.00`. Format: `x.xx` |
| item_tax_type_1 | string | **Level III - Line Item:** Type of value-added taxes that are being used. |
| item_alternate_tax_id_1 | string | **Level III - Line Item:** Tax identification number of the merchant that reported the alternate tax amount. |
| payment_facilitator_id | string | **Payment Facilitator:** Payment Facilitator/Aggregator/ISO's ID Number |
| submerchant_id | string | **Payment Facilitator:** Sub-merchant Account ID |
| submerchant_name | string | **Payment Facilitator:** Sub-merchant's Name |
| submerchant_address | string | **Payment Facilitator:** Sub-merchant's Address |
| submerchant_city | string | **Payment Facilitator:** Sub-merchant's City |
| submerchant_state | string | **Payment Facilitator:** Sub-merchant's State |
| submerchant_postal | string | **Payment Facilitator:** Sub-merchant's Zip/Postal Code |
| submerchant_country | string | **Payment Facilitator:** Sub-merchant's Country |
| submerchant_phone | string | **Payment Facilitator:** Sub-merchant's Phone Number |
| submerchant_email | string | **Payment Facilitator:** Sub-merchant's Email Address |
| industry | string | The industry parameter is supported across multiple transaction types. Its purpose is to identify the merchant industry type for processing |
| signature_image | string | Cardholder signature image. Format: `base64 encoded raw PNG image. (16kiB maximum)` |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/nmi/main/json-schema/nmi-credit-card-payment-in-full-partial-request-schema.json",
"title": "Credit Card - Complete Partial Payment in Full",
"x-generated": "2026-10-14",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/nmi-payments-openapi.yml#/components/schemas/CreditCardPaymentInFullPartialRequest",
"allOf": [
{
"type": "object",
"required": [
"type",
"ccnumber",
"ccexp",
"amount",
"partial_payment_id",
"partial_payments",
"security_key"
],
"properties": {
"security_key": {
"$ref": "#/$defs/SecurityKey"
},
"type": {
"type": "string",
"enum": [
"complete_partial_payment"
],
"description": "Will complete a `payment_in_full` transaction that has not been collected in full. This allows industries that require `payment_in_full` but subsequently decide to still settle the transaction even though it has not been collected in full."
},
"partial_payments": {
"type": "string",
"enum": [
"payment_in_full"
],
"description": "`payment_in_full`: Required that any split tendered transaction is collected in-full before settlement gets initiated."
}
}
},
{
"additionalProperties": {
"type": "string",
"description": "Up to 20 `merchant_defined_field_#` are allowed."
}
},
{
"$ref": "#/$defs/PartialPaymentInfo"
},
{
"$ref": "#/$defs/CreditCardWithCvv"
},
{
"$ref": "#/$defs/Amount"
},
{
"$ref": "#/$defs/BaseTransaction"
},
{
"$ref": "#/$defs/Industry"
},
{
"$ref": "#/$defs/SignatureImage"
}
],
"$defs": {
"Amount": {
"type": "object",
"properties": {
"amount": {
"type": "string",
"description": "Total amount to be charged.\n \nFormat: `x.xx`"
}
}
},
"BaseTransaction": {
"allOf": [
{
"type": "object",
"properties": {
"payment_token": {
"type": "string",
"description": "The tokenized version of the customer's card or check information, generated by the [Payment Component](../docs/payment-component) (npm packages / [Gateway.js](https://secure.networkmerchants.com/merchants/resources/integration/integration_portal.php#gjs_methodology)) and usable only once. Existing integrations may also supply a token from [Collect.js](https://secure.networkmerchants.com/merchants/resources/integration/integration_portal.php#cjs_methodology)."
},
"transaction_session_id": {
"type": "string",
"minLength": 32,
"maxLength": 32,
"description": "A single use session ID used by Kount to link the transaction and Data Collector information together.\n\n* Should be generated every time a payment form is loaded by the cardholder.\n* Should be random/unpredictable (do not use sequential IDs).\n* Should not be reused within a 30 day period.\n\nThis can be used with [Collect.js](https://secure.networkmerchants.com/merchants/resources/integration/integration_portal.php#cjs_methodology) or the Payment API when using the [Kount DDC with Gateway.js](https://secure.networkmerchants.com/merchants/resources/integration/integration_portal.php#gjs_methodology).\n\nFormat: `alphanumeric`"
},
"applepay_payment_data": {
"type": "string",
"description": "The encrypted token created when integration directly to the Apple Pay SDK."
},
"googlepay_payment_data": {
"type": "string",
"description": "The encrypted token created when [integration directly to the Google Pay SDK](https://secure.networkmerchants.com/merchants/resources/integration/integration_portal.php#googlepay_variables)."
},
"surcharge": {
"type": "string",
"description": "Surcharge amount.\n \nFormat: `x.xx`"
},
"convenience_fee": {
"type": "string",
"description": "Convenience fee amount.\n \nFormat: `x.xx`"
},
"misc_fee": {
"type": "string",
"description": "Miscellaneous fee amount.\n \nFormat: `x.xx`"
},
"misc_fee_name": {
"type": "string",
"description": "Custom miscellaneous fee name.\n \nDefault: `Miscellaneous Fee`"
},
"tip": {
"type": "number",
"description": "The final tip amount, included in the transaction, associated with the purchase.\n \nFormat: `x.xx`"
},
"currency": {
"type": "string",
"description": "The transaction currency.\n \nFormat: `ISO 4217`"
},
"processor_id": {
"type": "string",
"description": "If using Multiple MIDs, route to this processor (*processor_id* is obtained under Settings → Transaction Routing in the Control Panel)."
},
"dup_seconds": {
"type": "integer",
"maximum": 7862400,
"description": "Sets the time in seconds for duplicate transaction checking on supported processors. Set to *0* to disable duplicate checking."
}
}
},
{
"$ref": "#/$defs/Descriptor"
},
{
"type": "object",
"properties": {
"billing_method": {
"type": "string",
"enum": [
"initial_recurring",
"recurring",
"installment"
],
"description": "Recurring or installment classification for the processor.\n\n- `initial_recurring`: First transaction in a recurring sequence only.\n- `recurring`: Later charges in that sequence.\n- `installment`: Installment transactions; use `billing_number` and `billing_total` on supported processors.\n\nWhich values apply depends on the processor."
},
"billing_number": {
"type": "integer",
"minimum": 0,
"maximum": 99,
"description": "Specify installment billing number, on supported processors. For use when `billing_method` is set to \"installment\"."
},
"billing_total": {
"type": "string",
"description": "Specify installment billing total on supported processors. For use when `billing_method` is set to \"installment\"."
},
"order_template": {
"type": "string",
"description": "Order template ID."
},
"order_description": {
"type": "string",
"description": "Order description."
},
"orderid": {
"type": "string",
"description": "Order Id."
},
"ipaddress": {
"type": "string",
"description": "IP address of cardholder, this field is recommended.\n \nFormat: `xxx.xxx.xxx.xxx`"
}
}
},
{
"type": "object",
"properties": {
"first_name": {
"type": "string",
"description": "Cardholder's first name."
},
"last_name": {
"type": "string",
"description": "Cardholder's last name"
},
"company": {
"type": "string",
"description": "Cardholder's company"
},
"address1": {
"type": "string",
"description": "Card billing address"
},
"address2": {
"type": "string",
"description": "Card billing address, line 2"
},
"city": {
"type": "string",
"description": "Card billing city"
},
"state": {
"type": "string",
"description": "Card billing state.\n \nFormat: `CC`"
},
"zip": {
"type": "string",
"description": "Card billing zip code"
},
"country": {
"type": "string",
"description": "Card billing country. *Country codes are as shown in ISO 3166-1 alpha-2*.\n \nFormat: `CC`"
},
"phone": {
"type": "string",
"description": "Billing phone number"
},
"fax": {
"type": "string",
"description": "Billing fax number"
},
"email": {
"type": "string",
"format": "email",
"description": "Billing email address"
}
}
},
{
"$ref": "#/$defs/DriversLicense"
},
{
"$ref": "#/$defs/Shipping"
},
{
"$ref": "#/$defs/MerchantDefinedField"
},
{
"type": "object",
"properties": {
"customer_receipt": {
"type": "string",
"enum": [
"true",
"false"
],
"description": "If set to true, when the customer is charged, they will be sent a transaction receipt."
},
"cardholder_auth": {
"type": "string",
"enum": [
"verified",
"attempted"
],
"description": "Set 3D Secure condition. Value used to determine E-commerce indicator (ECI).\n \n**Required for 3D Secure transactions**"
},
"cavv": {
"type": "string",
"description": "Cardholder authentication verification value.\n \nFormat: `base64 encoded` **Required for 3D Secure transactions**"
},
"xid": {
"type": "string",
"description": "Cardholder authentication transaction id.\n \nFormat: `base64 encoded` **Required for 3D Secure transactions**"
},
"three_ds_version": {
"type": "string",
"enum": [
"2.0.0",
"2.2.0"
],
"description": "3DSecure version. **Required for 3D Secure transactions**"
},
"directory_server_id": {
"type": "string",
"description": "Directory Server Transaction ID. May be provided as part of 3DSecure 2.0 authentication.\n \nFormat: `xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx`"
},
"source_transaction_id": {
"type": "string",
"description": "Specifies a payment gateway transaction id in order to associate payment information with a Subscription or Customer Vault record. Must be set with a 'recurring' or 'customer_vault' action."
},
"pinless_debit_override": {
"type": "string",
"description": "Set to 'Y' if you have Pinless Debit Conversion enabled but want to opt out for this transaction. Feature applies to selected processors only."
}
}
},
{
"type": "object",
"properties": {
"recurring": {
"type": "string",
"enum": [
"add_subscription"
],
"description": "**Recurring Field:** Recurring action to be processed.",
"x-group-key": "Recurring"
},
"plan_id": {
"type": "string",
"description": "**Recurring Field:** Create a subscription tied to a Plan ID if the sale/auth transaction is successful.\n\nRequired when **recurring** variable is set to `add_subscription`",
"x-group-key": "Recurring"
},
"plan_payments": {
"type": "integer",
"description": "**Recurring Field:** The number of payments before the recurring plan is complete.\n\nNote: Use '0' for until canceled\n\nRequired when **recurring** variable is set to `add_subscription`",
"x-group-key": "Recurring"
},
"plan_amount": {
"type": "number",
"description": "**Recurring Field:** The plan amount to be charged each billing cycle.\n\nFormat: `x.xx`\n\nRequired when **recurring** variable is set to `add_subscription`",
"x-group-key": "Recurring"
},
"month_frequency": {
"type": "integer",
"minimum": 1,
"maximum": 24,
"description": "**Recurring Field:** How often, in months, to charge the customer. Cannot be set with 'day_frequency'. Must be set with 'day_of_month'. \n\nRequired when **recurring** variable is set to `add_subscription`",
"x-group-key": "Recurring"
},
"day_of_month": {
"type": "integer",
"minimum": 1,
"maximum": 31,
"description": "**Recurring Field:** The day that the customer will be charged. Cannot be set with 'day_frequency'. Must be set with 'month_frequency'. For months without 29, 30, or 31 days, the charge will be on the last day\n\nRequired when **recurring** variable is set to `add_subscription`",
"x-group-key": "Recurring"
},
"day_frequency": {
"type": "integer",
"description": "**Recurring Field:** How often, in days, to charge the customer. Cannot be set with 'month_frequency' or 'day_of_month'.\n\nRequired when **recurring** variable is set to `add_subscription`",
"x-group-key": "Recurring"
},
"start_date": {
"type": "string",
"format": "date",
"description": "**Recurring Field:** The first day that the customer will be charged.\n\nFormat: `YYYYMMDD`\n\nRequired when **recurring** variable is set to `add_subscription`",
"x-group-key": "Recurring"
}
}
},
{
"$ref": "#/$defs/CustomerVaultFields"
},
{
"$ref": "#/$defs/StoredCredentialsFields"
},
{
"$ref": "#/$defs/LevelThreeOrderFields"
},
{
"$ref": "#/$defs/LevelThreeLineItemDetailFields"
},
{
"$ref": "#/$defs/PaymentFacilitatorFields"
}
]
},
"CreditCard": {
"type": "object",
"properties": {
"ccnumber": {
"type": "string",
"enum": [
"4111111111111111",
"5431111111111111",
"6011000991300009",
"341111111111111",
"30205252489926",
"3541963594572595",
"6799990100000000019"
],
"description": "Credit card number.\n\n<details>\n<summary>Allowed Card Numbers:</summary>\n\n| Card Type | Test Card Number |\n|:------------------|:---------------------|\n| Visa | 4111111111111111 |\n| MasterCard | 5431111111111111 |\n| Discover | 6011000991300009 |\n| American Express | 341111111111111 |\n| Diner's Club | 30205252489926 |\n| JCB | 3541963594572595 |\n| Maestro | 6799990100000000019 |\n</details>"
},
"ccexp": {
"type": "string",
"description": "Credit card expiration date.\n \nFormat: `MMYY`"
}
}
},
"CreditCardWithCvv": {
"allOf": [
{
"$ref": "#/$defs/CreditCard"
},
{
"type": "object",
"properties": {
"cvv": {
"type": "string",
"description": "The card security code. While this is not required, it is strongly recommended."
}
}
}
]
},
"CustomerVaultFields": {
"type": "object",
"properties": {
"customer_vault": {
"type": "string",
"enum": [
"add_customer",
"update_customer"
],
"description": "Associate payment information with a Customer Vault record if the transaction is successful.",
"x-group-key": "Customer Vault"
},
"customer_vault_id": {
"type": "string",
"description": "Specifies a Customer Vault id. If not set, the payment gateway will randomly generate a Customer Vault id.",
"x-group-key": "Customer Vault"
}
}
},
"Descriptor": {
"type": "object",
"properties": {
"descriptor": {
"type": "string",
"description": "Set payment descriptor on supported processors."
},
"descriptor_phone": {
"type": "string",
"description": "Set payment descriptor phone on supported processors."
},
"descriptor_address": {
"type": "string",
"description": "Set payment descriptor address on supported processors."
},
"descriptor_city": {
"type": "string",
"description": "Set payment descriptor city on supported processors."
},
"descriptor_state": {
"type": "string",
"description": "Set payment descriptor state on supported processors."
},
"descriptor_postal": {
"type": "string",
"description": "Set payment descriptor postal code on supported processors."
},
"descriptor_country": {
"type": "string",
"description": "Set payment descriptor country on supported processors."
},
"descriptor_mcc": {
"type": "string",
"description": "Set payment descriptor mcc on supported processors."
},
"descriptor_merchant_id": {
"type": "string",
"description": "Set payment descriptor merchant id on supported processors."
},
"descriptor_url": {
"type": "string",
"description": "Set payment descriptor url on supported processors."
}
}
},
"DriversLicense": {
"type": "object",
"properties": {
"drivers_license_number": {
"type": "string",
"description": "Driver's license number."
},
"drivers_license_dob": {
"type": "string",
"description": "Driver's license date of birth."
},
"drivers_license_state": {
"type": "string",
"description": "The state that issued the customer's driver's license."
}
}
},
"Industry": {
"type": "object",
"properties": {
"industry": {
"type": "string",
"enum": [
"ecommerce",
"moto",
"retail",
"restaurant",
"lodging"
],
"description": "The industry parameter is supported across multiple transaction types. Its purpose is to identify the merchant industry type for processing"
}
}
},
"LevelThreeLineItemDetailFields": {
"type": "object",
"properties": {
"item_product_code_1": {
"type": "string",
"description": "**Level III - Line Item:** Merchant defined description code of the item being purchased.\n\n*Up to 99 sets of item_* fields are allowed.*",
"x-group-key": "Level III - Line Item(s)"
},
"item_description_1": {
"type": "string",
"description": "**Level III - Line Item:** Description of the item(s) being supplied.",
"x-group-key": "Level III - Line Item(s)"
},
"item_commodity_code_1": {
"type": "string",
"description": "**Level III - Line Item:** International description code of the individual good or service being supplied. The acquirer or processor will provide a list of current codes.",
"x-group-key": "Level III - Line Item(s)"
},
"item_unit_of_measure_1": {
"type": "string",
"description": "**Level III - Line Item:** Code for units of measurement as used in international trade. Default - `EACH`.",
"x-group-key": "Level III - Line Item(s)"
},
"item_unit_cost_1": {
"type": "number",
"description": "**Level III - Line Item:** Unit cost of item purchased, may contain up to 4 decimal places.",
"x-group-key": "Level III - Line Item(s)"
},
"item_quantity_1": {
"type": "integer",
"description": "**Level III - Line Item:** Quantity of the item(s) being purchased. Default - `1`.",
"x-group-key": "Level III - Line Item(s)"
},
"item_total_amount_1": {
"type": "number",
"description": "**Level III - Line Item:** Purchase amount associated with the item. Defaults to: 'item_unit_cost_#' x 'item_quantity_#' rounded to the nearest penny.",
"x-group-key": "Level III - Line Item(s)"
},
"item_tax_amount_1": {
"type": "number",
"description": "**Level III - Line Item:** Amount of sales tax on specific item. Amount should not be included in 'total_amount_#'. Default - `0.00`.\n\nFormat: `x.xx`",
"x-group-key": "Level III - Line Item(s)"
},
"item_tax_rate_1": {
"type": "number",
"description": "**Level III - Line Item:** Percentage representing the value-added tax applied. Default - `0.00`.\n\nFormat: `x.xx`",
"x-group-key": "Level III - Line Item(s)"
},
"item_discount_amount_1": {
"type": "number",
"description": "**Level III - Line Item:** Discount amount which can have been applied by the merchant on the sale of the specific item. Amount should not be included in 'total_amount_#'.",
"x-group-key": "Level III - Line Item(s)"
},
"item_discount_rate_1": {
"type": "number",
"description": "**Level III - Line Item:** Discount rate for the line item. Default - `0.00`.\n\nFormat: `x.xx`",
"x-group-key": "Level III - Line Item(s)"
},
"item_tax_type_1": {
"type": "string",
"description": "**Level III - Line Item:** Type of value-added taxes that are being used.",
"x-group-key": "Level III - Line Item(s)"
},
"item_alternate_tax_id_1": {
"type": "string",
"description": "**Level III - Line Item:** Tax identification number of the merchant that reported the alternate tax amount.",
"x-group-key": "Level III - Line Item(s)"
}
}
},
"LevelThreeOrderFields": {
"type": "object",
"properties": {
"shipping": {
"type": "number",
"description": "**Level II/III - Order Field:** Freight or shipping amount included in the transaction amount. Default - `0.00`.\n\nFormat: `x.xx`",
"x-group-key": "Level III - Order"
},
"tax": {
"type": "number",
"description": "**Level II/III - Order Field:** The sales tax, included in the transaction amount, associated with the purchase. Setting tax equal to '-1' indicates an order that is exempt from sales tax. Default - `0.00`.\n\nFormat: `x.xx`",
"x-group-key": "Level III - Order"
},
"ponumber": {
"type": "string",
"description": "**Level II/III - Order Field:** Purchase order number",
"x-group-key": "Level III - Order"
},
"orderid": {
"type": "string",
"description": "**Level III - Order Field:** Identifier assigned by the merchant. This defaults to gateway transaction id.",
"x-group-key": "Level III - Order"
},
"shipping_country": {
"type": "string",
"description": "**Level III - Order Field:** Shipping country (e.g. US).\n \nFormat: `CC` - ISO 3166-1 alpha-2",
"x-group-key": "Level III - Order"
},
"shipping_postal": {
"type": "string",
"description": "**Level III - Order Field:** Postal/ZIP code of the address where purchased goods will be delivered. This field can be identical to the 'ship_from_postal' if the customer is present and takes immediate possession of the goods.",
"x-group-key": "Level III - Order"
},
"ship_from_postal": {
"type": "string",
"description": "**Level III - Order Field:** Postal/ZIP code of the address from where purchased goods are being shipped, defaults to merchant profile postal code.",
"x-group-key": "Level III - Order"
},
"summary_commodity_code": {
"type": "string",
"description": "**Level III - Order Field:** 4 character international description code of the overall goods or services being supplied. The acquirer or processor will provide a list of current codes.",
"x-group-key": "Level III - Order"
},
"duty_amount": {
"type": "number",
"description": "**Level III - Order Field:** Amount included in the transaction amount associated with the import of purchased goods. Default - `0.00`.\n\nFormat: `x.xx`",
"x-group-key": "Level III - Order"
},
"discount_amount": {
"type": "number",
"description": "**Level III - Order Field:** Amount included in the transaction amount of any discount applied to complete order by the merchant. Default - `0.00`.\n\nFormat: `x.xx`",
"x-group-key": "Level III - Order"
},
"national_tax_amount": {
"type": "number",
"description": "**Level III - Order Field:** The national tax amount included in the transaction amount. Default - `0.00`.\n\nFormat: `x.xx`",
"x-group-key": "Level III - Order"
},
"alternate_tax_amount": {
"type": "number",
"description": "**Level III - Order Field:** Second tax amount included in the transaction amount in countries where more than one type of tax can be applied to the purchases. Default - `0.00`.\n\nFormat: `x.xx`",
"x-group-key": "Level III - Order"
},
"alternate_tax_id": {
"type": "string",
"description": "**Level III - Order Field:** Tax identification number of the merchant that reported the alternate tax amount.",
"x-group-key": "Level III - Order"
},
"vat_tax_amount": {
"type": "number",
"description": "**Level III - Order Field:** Contains the amount of any value added taxes which can be associated with the purchased item. Default - `0.00`.\n\nFormat: `x.xx`",
"x-group-key": "Level III - Order"
},
"vat_tax_rate": {
"type": "number",
"description": "**Level III - Order Field:** Contains the tax rate used to calculate the sales tax amount appearing. Can contain up to 2 decimal places, e.g. 1% = 1.00. Default - `0.00`.\n\nFormat: `x.xx`",
"x-group-key": "Level III - Order"
},
"vat_invoice_reference_number": {
"type": "string",
"description": "**Level III - Order Field:** Invoice number that is associated with the VAT invoice.",
"x-group-key": "Level III - Order"
},
"customer_vat_registration": {
"type": "string",
"description": "**Level III - Order Field:** Value added tax registration number supplied by the cardholder.",
"x-group-key": "Level III - Order"
},
"merchant_vat_registration": {
"type": "string",
"description": "**Level III - Order Field:** Government assigned tax identification number of the merchant for whom the goods or services were purchased from.",
"x-group-key": "Level III - Order"
},
"order_date": {
"type": "string",
"format": "date",
"description": "**Level III - Order Field:** Purchase order date, defaults to the date of the transaction.\n\nFormat: `YYMMDD`",
"x-group-key": "Level III - Order"
}
}
},
"MerchantDefinedField": {
"type": "object",
"properties": {
"merchant_defined_field_1": {
"type": "string",
"description": "Merchant defined field. You can pass custom information in up to 20 fields.\n\nFormat: `merchant_defined_field_1=Value1`, `merchant_defined_field_2=Value2`, etc..."
}
}
},
"PartialPaymentInfo": {
"type": "object",
"properties": {
"partial_payment_id": {
"type": "string",
"description": "Unique identifier returned when making the original transaction. This should only be used for secondary transactions."
}
}
},
"PaymentFacilitatorFields": {
"type": "object",
"properties": {
"payment_facilitator_id": {
"type": "string",
"description": "**Payment Facilitator:** Payment Facilitator/Aggregator/ISO's ID Number",
"x-group-key": "Payment Facilitator"
},
"submerchant_id": {
"type": "string",
"description": "**Payment Facilitator:** Sub-merchant Account ID",
"x-group-key": "Payment Facilitator"
},
"submerchant_name": {
"type": "string",
"description": "**Payment Facilitator:** Sub-merchant's Name",
"x-group-key": "Payment Facilitator"
},
"submerchant_address": {
"type": "string",
"description": "**Payment Facilitator:** Sub-merchant's Address",
"x-group-key": "Payment Facilitator"
},
"submerchant_city": {
"type": "string",
"description": "**Payment Facilitator:** Sub-merchant's City",
"x-group-key": "Payment Facilitator"
},
"submerchant_state": {
"type": "string",
"description": "**Payment Facilitator:** Sub-merchant's State",
"x-group-key": "Payment Facilitator"
},
"submerchant_postal": {
"type": "string",
"description": "**Payment Facilitator:** Sub-merchant's Zip/Postal Code",
"x-group-key": "Payment Facilitator"
},
"submerchant_country": {
"type": "string",
"description": "**Payment Facilitator:** Sub-merchant's Country",
"x-group-key": "Payment Facilitator"
},
"submerchant_phone": {
"type": "string",
"description": "**Payment Facilitator:** Sub-merchant's Phone Number",
"x-group-key": "Payment Facilitator"
},
"submerchant_email": {
"type": "string",
"format": "email",
"description": "**Payment Facilitator:** Sub-merchant's Email Address",
"x-group-key": "Payment Facilitator"
}
}
},
"SecurityKey": {
"type": "string",
"description": "API Security Key assigned to a merchant account. New keys can be generated from the merchant control panel in Settings > Security Keys"
},
"Shipping": {
"type": "object",
"properties": {
"shipping_firstname": {
"type": "string",
"description": "Shipping first name"
},
"shipping_lastname": {
"type": "string",
"description": "Shipping last name"
},
"shipping_company": {
"type": "string",
"description": "Shipping company"
},
"shipping_address1": {
"type": "string",
"description": "Shipping address"
},
"shipping_address2": {
"type": "string",
"description": "Shipping address, line 2"
},
"shipping_city": {
"type": "string",
"description": "Shipping city"
},
"shipping_state": {
"type": "string",
"description": "Shipping state.\n \nFormat: `CC`"
},
"shipping_zip": {
"type": "string",
"description": "Shipping zip code"
},
"shipping_country": {
"type": "string",
"description": "Shipping country. *Country codes are as shown in ISO 3166-1 alpha-2*.\n \nFormat: `CC`"
# --- truncated at 32 KB (33 KB total) ---
# Full source: https://artifacts.apis.io/nmi/json-schema/nmi-credit-card-payment-in-full-partial-request-schema.json
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/nmi-credit-card-payment-in-full-partial-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.