---
title: "Create MIT Charge from Initial Charge"
method: POST
path: "/charges/{initialChargeKey}/mit"
tags: ["Create Recurring"]
---

# Create MIT Charge from Initial Charge

`POST /charges/{initialChargeKey}/mit`

## Request

- Base URL: `https://eu-west-1.api.silverflow.com/v1`
- URL: `https://eu-west-1.api.silverflow.com/v1/charges/{initialChargeKey}/mit`
- Auth: one of:
  - HTTP basic
  - HTTP bearer
- TypeScript: <https://skmtc.dev/silverflow/apis/silverflow-api/docs/charges/:initialChargeKey/mit/post.ts> (a function with typed inputs; its response is checked against the schema)

Create a new charge that was initiated by the merchant, without the presence of the cardholder.
The request body can remain fully empty; this means the subsequent charge has the same type, amount and card data.

If transaction data changes for the subsequent charges, the relevant data can be modified by providing new values. For example, the recurring amount could change monthly.

Diners support is <a class="experimental-tag-link" href="https://docs.silverflow.com/guides/api-lifecycle#tag/EXPERIMENTAL-Tag"><span class="tag experimental-tag">EXPERIMENTAL</span></a>.

Requires `charges:Create` permission.

## Path parameters

- `initialChargeKey` string, required: Uniquely identifies a charge.

## Headers

- `Idempotency-Key` string: This key is used to deduplicate requests that are retried. For more information see the section on [Idempotency](https://docs.silverflow.com/guides/idempotency).

## Request body

- CreateMitChargeFromInitialChargeRequest
  - `amount` CommonAmount: The amount encoded as an object with a `value` in minor units and a `currency` code.
    - `value` integer, required: The amount in minor units. For example `$12.34` should be encoded as `1234`. Note that not all currencies have 2 minor units. Some have three or zero.
    - `currency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XCG' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL', required: An alphabetic ISO-4217 currency code.
  - `type` MitFromInitialChargeType: Describes the kind of charge the merchant wants to submit.
    - `intent` 'purchase' | 'reservation' | 'account-status', required: The intention of the cardholder. To perform an `account-status` for AMEX, `avs` has to be set to `true`.
    - `cardEntry` 'card-on-file', required: The method used to capture the card details.
    - `order` 'recurring' | 'ucof' | 'installment' | 'standing-order', required: The method used to place the order.
  - `clearingMode` 'auto' | 'manual': The clearing method for the charge. - `auto`: The charge is cleared automatically as soon as possible. To delay clearing, provide a `clearAfter` timestamp. - `manual`: The charge must be manually cleared later.
  - `clearAfter` string, iso-8601-date-time: If provided, clearing will not occur before this point in time. If no timezone is included, it is assumed to be UTC. The value may be at most 6 months in the future from when the charge was created.
  - `transactionReference` string: Unique ID assigned by the merchant or payment service provider for the transaction. Used to identify the transaction.
  - `localTransactionDateTime` string, iso-8601-date-time: Date and time of the transaction in the local timezone.
  - `billingAddress` BillingAddressInput: The billing address of the cardholder
    - `countryCode` union
      - ComponentsSchemasCountryCodeAlpha3
        - `alpha3` string, required
      - ComponentsSchemasCountryCodeAlpha2
        - `alpha2` string, required
      - ComponentsSchemasCountryCodeNumeric
        - `numeric` string, required
    - `stateOrProvince` string: The state (US) or province (non-US) of the address.
    - `city` string: The city of the address.
    - `line1` string: Address line 1
    - `line2` string: Address line 2
    - `postalCode` string, required: The postal code of the address, allowing a single separating space.
  - `avs` boolean: Specifies whether AVS authentication should be used for the charge. When `true`, `billingAddress` is required. Not supported for Diners.
  - `threeDsAuthenticationResult` ThreeDsAuthenticationResult: A 3DS result from either the [3DS Authentication endpoint](#operation/create3dsAuthentication) or an external party.
    - `version` '2.2.0': The 3DS protocol version which has been used to perform 3DS. **Required for American Express transactions.**
    - `authenticationValue` string, required: Base64 encoded result value from the 3DS transaction. Note that Mastercard and Visa use a different underlying format.
    - `directoryServerTransId` string, required: Transaction ID retrieved from the Directory Server (DS).
    - `eci` string: ECI value from the 3DS provider. Use this to explicitly override the ECI value in Visa authorization messages. This field has no impact for any other network. <span class="tag network-tag visa-tag">VISA</span>
  - `riskAssessmentKey` string: Key that was returned by the transaction risk assessment.
  - `dynamicDescriptor` SchemasDynamicDescriptor: Field supports the merchant customizing the DBA name and city on a per-transaction basis, to allow the cardholder to recognize the business name and city on their card or bank statement.
    - `merchantName` string: Recognizable business name that will appear on the customer's card or bank statement.
    - `merchantCity` string: City from which the transaction originated
  - `foreignRetailer` union: Used for transactions fulfilled partly or fully by end seller that is in a different country than the Marketplace or Ramp Provider. <span class="tag network-tag visa-tag">VISA</span> <a class="experimental-tag-link" href="https://docs.silverflow.com/guides/api-lifecycle#tag/EXPERIMENTAL-Tag"><span class="tag experimental-tag">EXPERIMENTAL</span></a>
    - ForeignRetailerDisabled: Transaction does not involve a foreign retailer
      - `indicator` false, required: Specifies if end seller in the transaction is a foreign retailer
    - ForeignRetailerEnabled: Transaction involves a foreign retailer
      - `indicator` true, required: Specifies if end seller in the transaction is a foreign retailer
      - `amount` integer: Specifies the exact amount corresponding to the foreign retailer. Cannot be more than the total charge amount (amount.value).
  - `allowPartialApproval` boolean: Indicates whether to allow partial approvals for this charge. If set to `true` the charge's and the authorization action's `amount` field will contain the approved amount. It is only implemented for Visa and Mastercard. It will be ignored for other card networks.
  - `enhancedData` EnhancedDataInput: An optional object for submitting Level 2 (tax and order references) and Level 3 (granular line-item details) payment data. Providing this data can qualify transactions for reduced interchange rates. <span class="tag network-tag visa-tag">VISA</span> <span class="tag network-tag mastercard-tag">MASTERCARD</span> <a class="experimental-tag-link" href="https://docs.silverflow.com/guides/api-lifecycle#tag/EXPERIMENTAL-Tag"><span class="tag experimental-tag">EXPERIMENTAL</span></a>
    - `taxAmount` integer, required: Total amount of Sales Tax or Value Added Tax (VAT) collected in minor units. Enter 0 if no tax is collected.
    - `customerCode` string: A code used to identify the customer or consumer.
    - `customerTaxId` string: Customer's tax registration or VAT number.
    - `destinationAddress` EnhancedDataDestinationAddressInput: Must be provided if shipment is involved and captured on the invoice
      - `countryCode` union
        - ComponentsSchemasCountryCodeAlpha3
          - `alpha3` string, required
        - ComponentsSchemasCountryCodeAlpha2
          - `alpha2` string, required
        - ComponentsSchemasCountryCodeNumeric
          - `numeric` string, required
      - `postalCode` string: The postal code of the address, allowing a single separating space.
    - `discountAmount` integer: Total amount of discount at invoice level in minor units. Excludes any discount amounts defined at line item level.
    - `invoiceNumber` string: Invoice number for the transaction.
    - `orderDate` string, date: Date the order was placed.
    - `purchaseOrderNumber` string: Purchase order number for the transaction.
    - `shippingAddress` EnhancedDataShippingAddress: Must be provided if shipment is involved and captured on the invoice
      - `postalCode` string: The postal code of the address, allowing a single separating space.
    - `timeOfPurchase` string: Local transaction time in HHMM format.
    - `lineItems` EnhancedDataLineItem[]: Array of line items.
      - `commodityCode` string, required: Commodity classification code (e.g. UNSPSC, NAICS). Required for Visa Fleet transactions.
      - `description` string, required: Product or service description.
      - `discountAmount` integer, required: Discount applied to this line item in minor currency units.
      - `productCode` string, required: Product code for the item.
      - `quantity` integer, required: Quantity of items purchased. Includes 4 implied decimal places (e.g. 1.23 kg = 12300)
      - `unitOfMeasure` string, required: The unit of measurement for an item.
      - `unitPrice` integer, required: Price per unit. Includes 4 implied decimal places (e.g. 1.23$ = 12300).
      - `taxAmount` integer, required: Tax amount for the line item in minor currency units.
      - `taxRate` integer, required: Tax rate percentage for the line item. Includes 2 implied decimal places (e.g. 1.23% = 123)
      - `totalAmount` integer, required: Total amount for the line item in minor currency units.

## Response `201`

The created charge

- MitChargeFromInitialChargeResponse: The created MIT charge
  - `key` string, required: Uniquely identifies a charge.
  - `initialChargeKey` string: Uniquely identifies a charge.
  - `merchantAcceptorRef` ComponentsSchemasAcceptorRef, required: Reference key and status of the acceptor
    - `key` string, required: Uniquely identifies a merchant acceptor.
    - `version` integer, required: The version of this object
  - `card` OutputCard, required: Card data
    - `maskedNumber` string, required: The card number used to create this charge, masked according to PCI standards. For card numbers with 16 or more digits, the first 8 and the last 4 digits are visible. For card numbers with 13-15 digits, the first 6 and the last 4 digits are visible. For cards numbers with less than 13 digits, the first 6 and last 2 digits are visible.
    - `processorTokenKey` string: The key to a card tokenized in the [Processor Tokenization](#tag/Processor-Tokenization).
  - `amount` CommonAmount, required: The amount encoded as an object with a `value` in minor units and a `currency` code.
    - `value` integer, required: The amount in minor units. For example `$12.34` should be encoded as `1234`. Note that not all currencies have 2 minor units. Some have three or zero.
    - `currency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XCG' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL', required: An alphabetic ISO-4217 currency code.
  - `type` MitFromInitialChargeResponseChargeType, required: Describes the kind of charge the merchant wants to submit.
    - `intent` 'purchase' | 'reservation' | 'account-status', required: The intention of the cardholder. To perform an `account-status` for AMEX, `avs` has to be set to `true`.
    - `cardEntry` 'card-on-file', required: The method used to capture the card details.
    - `order` 'recurring' | 'ucof' | 'installment' | 'standing-order', required: The method used to place the order.
    - `sequence` 'subsequent': This endpoint only allows subsequent transaction of an initial charge which can be created through the `/charges` endpoint.
  - `clearingMode` 'auto' | 'manual', required: The clearing method for the charge. - `auto`: The charge is cleared automatically as soon as possible. To delay clearing, provide a `clearAfter` timestamp. - `manual`: The charge must be manually cleared later.
  - `status` Status, required: The status property provides a high-level representation of the lifecycle of a charge. For a complete history, the actions should be used.
    - `authentication` 'none' | 'authenticated' | 'non-authenticated', required: Strong Customer Authentication (SCA) status of the charge
    - `authorization` 'none' | 'approved' | 'approved-partial' | 'declined' | 'reversed', required: Authorization status of the charge.
    - `clearing` 'none' | 'manual' | 'pending' | 'completed' | 'cancelled' | 'abandoned', required: Clearing status of the charge
  - `authentication` ChargeAuthentication, required: Object container for authentication. If present, contains Strong Customer Authentication (SCA) information, but also indicates whether CVC and AVS was used.
    - `sca` union, required
      - ThreeDsAuthentication: Object container for strong customer authentication.
        - `method` '3ds1' | '3ds2' | 'device', required: Indicates the method that was used to comply to SCA.
        - `compliance` 'mandated' | 'mit' | 'exemption', required
        - `complianceReason` 'mandated' | 'none' | 'ucof' | 'recurring' | 'installment' | 'incremental' | 'delayed-charges' | 'no-show' | 'reauthorization' | 'resubmission' | 'whitelist' | 'auto' | 'mit' | 'tra' | 'low-value' | 'delegation' | 'scp', required: Indicates the reason for the SCA compliance.
        - `result` ThreeDsAuthenticationResultResponse, required: Object containing the information of a 3DS transaction.
          - `version` '2.2.0': The 3DS protocol version which has been used to perform 3DS. This information is only available when it has been provided in the request.
          - `directoryServerTransId` string: Transaction ID retrieved from the Directory Server
      - ScaBEP: Object container for strong customer authentication.
        - `method` 'bep', required: Indicates the method that was used to comply to SCA.
        - `compliance` 'mandated', required: Indicates SCA compliance of the charges
        - `complianceReason` 'mandated', required: Indicates the reason for the SCA compliance.
        - `result` BEPAuthenticationResult, required: Object containing the information of a BEP transaction.
          - `trm` '50' | '51', required: The method of initiating the BEP authentication. Stands for Transaction Routing Means.
      - AuthenticationOutOfScope
        - `method` 'none', required
        - `compliance` 'out-of-scope', required
        - `complianceReason` 'none' | 'moto' | 'one-leg' | 'anonymous-prepaid' | 'recurring', required
      - AuthenticationExempt
        - `method` 'none', required
        - `compliance` 'exemption', required
        - `complianceReason` 'whitelist' | 'auto' | 'mit' | 'tra' | 'recurring' | 'low-value' | 'delegation' | 'scp' | 'wip', required
      - ScaMit
        - `method` 'none', required
        - `compliance` 'mit', required
        - `complianceReason` 'installment' | 'ucof', required
    - `cvc` 'none' | 'match' | 'no-match' | 'not-processed', required: The result of cvc verification
    - `avs` 'none' | 'match' | 'partial-match' | 'no-match' | 'not-processed', required: The result of the AVS verification
  - `localTransactionDateTime` string, iso-8601-date-time, required: Date and time of the transaction in the local timezone.
  - `fraudLiability` 'acquirer' | 'issuer', required: Which party is liable in case of fraud.
  - `authorizationIsoFields` union, required: Object containing the raw values from the ISO8583 response message received from the network.
    - AuthorizationIsoFieldsAmericanExpress
      - `responseCode` string, required: Contents of field 39
      - `responseCodeDescription` string, required: The description of the `responseCode`
      - `authorizationCode` string: Contents of field 38
      - `networkCode` 'not-applicable', required: Not applicable for American Express transactions.
      - `systemTraceAuditNumber` string, required: Contents of field 11
      - `retrievalReferenceNumber` string, required: Contents of field 37
      - `eci` string, required: E-commerce Indicator
      - `networkSpecificFields` AmexSpecificFields, required: American Express-specific ISO8583 raw values
        - `acquirerReferenceData` string, required: Contents of field 31.
        - `cvcResult` string: Contents of field 44, first byte.
        - `avsResult` string: Contents of field 44, second byte.
    - AuthorizationIsoFieldsBancontact: Object containing the raw values from the ISO8583 response message received from the network.
      - `responseCode` string, required: Contents of field 39
      - `responseCodeDescription` string, required: The description of the `responseCode`
      - `authorizationCode` string: Contents of field 38
      - `networkCode` 'none', required
      - `systemTraceAuditNumber` string, required: Contents of field 11
      - `retrievalReferenceNumber` string, required: Contents of field 37
      - `eci` 'none', required
      - `networkSpecificFields` BancontactSpecificFields, required: Bancontact specific ISO8583 raw values
        - `iban` string: The International Bank Account Number (IBAN) returned from the bancontact authorization response.
    - AuthorizationIsoFieldsDiners
      - `responseCode` string, required: Contents of field 39
      - `responseCodeDescription` string, required: The description of the `responseCode`
      - `authorizationCode` string: Contents of field 38
      - `networkCode` string, required
      - `systemTraceAuditNumber` string, required: Contents of field 11
      - `retrievalReferenceNumber` string, required: Contents of field 37
      - `eci` string, required: E-commerce Indicator
      - `networkSpecificFields` DinersSpecificFields, required: Diners specific ISO8583 raw values
        - `network` 'diners', required: Card network providing these fields
        - `cvvIndicator` string: Contents field 44, subfield 2
        - `networkReferenceId` string: Contents field 123
    - AuthorizationIsoFieldsDiscover
      - `responseCode` string, required: Contents of field 39
      - `responseCodeDescription` string, required: The description of the `responseCode`
      - `authorizationCode` string: Contents of field 38
      - `networkCode` string, required: Contents of field 63, subfield 1
      - `systemTraceAuditNumber` string, required: Contents of field 11
      - `retrievalReferenceNumber` string, required: Contents of field 37
      - `eci` string, required: E-commerce Indicator
      - `networkSpecificFields` DiscoverSpecificFields, required: Discover specific ISO8583 raw values
        - `network` 'discover', required: Card network providing these fields
        - `avsResponseCode` string: Contents field 44, usage 2, position 1.
        - `cidResultCode` string: Contents field 44, usage 2, position 2.
        - `networkReferenceId` string: Contents field 48, position 11-25.
    - AuthorizationIsoFieldsMastercard
      - `responseCode` string, required: Contents of field 39
      - `responseCodeDescription` string, required: The description of the `responseCode`
      - `authorizationCode` string: Contents of field 38
      - `networkCode` string, required: Contents of field 63, subfield 1
      - `systemTraceAuditNumber` string, required: Contents of field 11
      - `retrievalReferenceNumber` string, required: Contents of field 37
      - `eci` string, required: Contents of field 48, subelement 42, subfield 1, also known as "UCAF Collection Indicator".
      - `networkSpecificFields` MastercardSpecificFields, required: Mastercard specific ISO8583 raw values
        - `banknetReference` string, required: Contents of field 63, subfield 2
        - `traceId` string, required: The trace ID can be used to refer to the original authorization for subsequent transactions (e.g., reversals, MITs). The value is constructed from the contents of field 63, subfield 1, field 63, subfield 2, and field 15. The value intentionally ends with two spaces.
        - `merchantAdviceCode` string: Contents of field 48, subelement 84
        - `cvcResult` string: Contents of field 48, subelement 87
        - `nameValidationResult` string: Contents of field 108, subelement 08, subfield 02. Result of Mastercard name validation check. To request name validation set `type.intent` = `account-status` and provide `card.holderName`.
        - `avsResponse` string: Contents of field 48, subelement 83
        - `paymentAccountReference` string: Contents of field 56, subelement 1, subfield 1
        - `transactionLinkId` string: Contents of field 105, subelement 1
        - `digitalCommerceProgramType` string: Contents of field 48, subelement 48, subfield 2. Identifies the specific digital commerce program used.
        - `onBehalfServices` object[]: Contents of field 48, subelement 71.
          - `onBehalfService` string, required: Contents of field 48, subelement 71, subfield 1.
          - `onBehalfResult1` string, required: Contents of field 48, subelement 71, subfield 2.
          - `onBehalfResult2` string, required: Contents of field 48, subelement 71, subfield 3.
    - AuthorizationIsoFieldsUnionPay
      - `responseCode` string, required: Contents of field 39
      - `responseCodeDescription` string, required: The description of the `responseCode`
      - `authorizationCode` string: Contents of field 38
      - `networkCode` 'not-applicable', required
      - `systemTraceAuditNumber` string, required: Contents of field 11
      - `retrievalReferenceNumber` string, required: Contents of field 37
      - `eci` string, required: Contents of field 60, subfield 2, subfield 8 of the authorization request.
      - `networkSpecificFields` UnionPaySpecificFields, required: UnionPay specific ISO8583 raw values
        - `network` 'unionpay', required: Card network providing these fields
        - `pvnCheckResult` string: Contents of field 61, subfield 3. Result of PIN Verification Value check.
    - AuthorizationIsoFieldsVisa
      - `responseCode` string, required: Contents of field 39
      - `responseCodeDescription` string, required: The description of the `responseCode`
      - `authorizationCode` string: Contents of field 38
      - `networkCode` string, required: Contents of field 63, subfield 1
      - `systemTraceAuditNumber` string, required: Contents of field 11
      - `retrievalReferenceNumber` string, required: Contents of field 37
      - `eci` string, required: E-commerce Indicator
      - `networkSpecificFields` VisaSpecificFields, required: Visa specific ISO8583 raw values
        - `transactionIdentifier` string, required: Contents of field 62, subfield 2
        - `cvv2ResultCode` string: Contents of field 44, subfield 10
        - `avsResultCode` string: Contents of field 44, subfield 2
        - `paymentAccountReference` string: Contents of field 56, dataset 1, tag 1
        - `aniResults` object: Contents of field 34, dataset 4. Result of Visa Account Name Inquiry (ANI) check. To request ANI set `type.intent` = `account-status` and provide `card.holderName`
          - `status` string, required: Contents of field 34, dataset 4, tag C0
          - `fullNameMatch` string: Contents of field 34, dataset 4, tag C4
          - `firstNameMatch` string: Contents of field 34, dataset 4, tag CA
          - `middleNameMatch` string: Contents of field 34, dataset 4, tag C9
          - `lastNameMatch` string: Contents of field 34, dataset 4, tag C8
        - `vaaiScore` string: Contents of field 104, dataset 5b, tag 85
        - `tokenRequestorId` string: Contents of field 123, dataset 68, tag 03. Identifies the Token Requestor Id (TRID)
  - `transactionReference` string: Unique ID assigned by the merchant or payment service provider for the transaction. Used to identify the transaction.
  - `cardholderBillingAmount` CardholderBillingAmount: The amount encoded as an object with a `value` in minor units and a `currency` code.
    - `value` integer, required: The amount in minor units. For example `$12.34` should be encoded as `1234`. Note that not all currencies have 2 minor units. Some have three or zero.
    - `currency` 'AED' | 'AFN' | 'ALL' | 'AMD' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHF' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'UYU' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XCD' | 'XCG' | 'XOF' | 'XPF' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL', required: An alphabetic ISO-4217 currency code.
    - `conversionRate` object, required
      - `cardholderBillingConversionRate` number, required
      - `decimalIndicator` number, required
  - `billingAddress` BillingAddress: The billing address of the cardholder
    - `countryCode` SchemasCountryCode
      - `alpha3` string, required
      - `alpha2` string, required
      - `numeric` string, required
    - `stateOrProvince` string: The state (US) or province (non-US) of the address.
    - `city` string: The city of the address.
    - `line1` string: Address line 1
    - `line2` string: Address line 2
    - `postalCode` string, required: The postal code of the address, allowing a single separating space.
  - `clearAfter` string, iso-8601-date-time: If provided, clearing will not occur before this point in time. If no timezone is included, it is assumed to be UTC. The value may be at most 6 months in the future from when the charge was created.
  - `dynamicDescriptor` SchemasDynamicDescriptor: Field supports the merchant customizing the DBA name and city on a per-transaction basis, to allow the cardholder to recognize the business name and city on their card or bank statement.
    - `merchantName` string: Recognizable business name that will appear on the customer's card or bank statement.
    - `merchantCity` string: City from which the transaction originated
  - `foreignRetailer` union: Used for transactions fulfilled partly or fully by end seller that is in a different country than the Marketplace or Ramp Provider. <span class="tag network-tag visa-tag">VISA</span> <a class="experimental-tag-link" href="https://docs.silverflow.com/guides/api-lifecycle#tag/EXPERIMENTAL-Tag"><span class="tag experimental-tag">EXPERIMENTAL</span></a>
    - ForeignRetailerDisabled: Transaction does not involve a foreign retailer
      - `indicator` false, required: Specifies if end seller in the transaction is a foreign retailer
    - ForeignRetailerEnabled: Transaction involves a foreign retailer
      - `indicator` true, required: Specifies if end seller in the transaction is a foreign retailer
      - `amount` integer: Specifies the exact amount corresponding to the foreign retailer. Cannot be more than the total charge amount (amount.value).
  - `allowPartialApproval` boolean: Indicates whether to allow partial approvals for this charge. If set to `true` the charge's and the authorization action's `amount` field will contain the approved amount. It is only implemented for Visa and Mastercard. It will be ignored for other card networks.
  - `lastModified` string, iso-8601-date-time: The date and time this object was last modified
  - `created` string, iso-8601-date-time, required: The date and time this object was created
  - `version` integer, required: The version of this object

## Other responses

- `400`: Bad Request
- `401`: Authentication information is missing or invalid
- `403`: The authenticated client is forbidden to make the request for the resource identified.
- `404`: The requested resource was not found
- `409`: Conflict
- `429`: Too Many Requests
- `500`: Internal Server Error

---

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