---
title: "Create new Invoice"
method: POST
path: "/v3/invoices"
tags: ["Invoice"]
---

# Create new Invoice

`POST /v3/invoices`

## Request

- Base URL: `https://confirmo.net/api`
- URL: `https://confirmo.net/api/v3/invoices`
- Auth: HTTP bearer

Creates a new Invoice for the merchant.

## Headers

- `Payment-Module-Name` string
- `Payment-Module-Version` string

## Request body

- InvoiceCreationTo
  - `customerEmail` string, email: E-mail address for the customer notifications. May be required for newly registered merchants.
  - `customerProfile` union: Optional customer profile details to attach to the invoice.
    - CompanyProfileTo
      - `city` string: City of the customer's address.
      - `country` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AN' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'XK' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW': Country of the customer's address, represented as a two-letter ISO 3166-1 alpha-2 country code.
      - `postalCode` string: Postal or ZIP code of the customer's address.
      - `profileId` string, required: Merchant's identifier of the customer profile.
      - `streetAddress` string: Street portion of the customer's address.
      - `type` 'individual' | 'company' | 'reference': Customer profile type.
      - `lei` string: Legal Entity Identifier of the company (ISO 17442): 20 upper-case alphanumeric characters ending with two check digits.
      - `registeredName` string: Registered company name.
      - `registrationNumber` string: Company registration number.
    - IndividualProfileTo
      - `city` string: City of the customer's address.
      - `country` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AN' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'XK' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW': Country of the customer's address, represented as a two-letter ISO 3166-1 alpha-2 country code.
      - `postalCode` string: Postal or ZIP code of the customer's address.
      - `profileId` string, required: Merchant's identifier of the customer profile.
      - `streetAddress` string: Street portion of the customer's address.
      - `type` 'individual' | 'company' | 'reference': Customer profile type.
      - `dateOfBirth` string: Date of birth for the customer (YYYY-MM-DD).
      - `firstName` string: First name of the individual customer.
      - `lastName` string: Last name of the individual customer.
      - `middleName` string: Middle name of the individual customer.
      - `nationalIdNumber` string: Number of the customer's official identity document, such as a passport or national identity card.
      - `placeOfBirth` string: Place of birth for the customer.
    - ReferenceProfileTo
      - `city` string: City of the customer's address.
      - `country` 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AN' | 'AO' | 'AQ' | 'AR' | 'AS' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FM' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GU' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MH' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MP' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PR' | 'PS' | 'PT' | 'PW' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VI' | 'VN' | 'VU' | 'WF' | 'WS' | 'XK' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW': Country of the customer's address, represented as a two-letter ISO 3166-1 alpha-2 country code.
      - `postalCode` string: Postal or ZIP code of the customer's address.
      - `profileId` string, required: Merchant's identifier of the customer profile.
      - `streetAddress` string: Street portion of the customer's address.
      - `type` 'individual' | 'company' | 'reference': Customer profile type.
  - `invoice` Invoice, required
    - `amount` number, required: The original Invoice amount.
    - `currencyFrom` 'BTC' | 'AED' | 'ALL' | 'AMD' | 'ARS' | 'AUD' | 'AZN' | 'BDT' | 'BGN' | 'BHD' | 'BND' | 'BOB' | 'BRL' | 'BYN' | 'CAD' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CVE' | 'CZK' | 'DKK' | 'DOP' | 'DZD' | 'EUR' | 'FKP' | 'GBP' | 'GEL' | 'GTQ' | 'HKD' | 'HRK' | 'HUF' | 'CHF' | 'IDR' | 'ILS' | 'INR' | 'ISK' | 'JMD' | 'JPY' | 'KGS' | 'KHR' | 'KWD' | 'KZT' | 'LTL' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MNT' | 'MOP' | 'MUR' | 'MXN' | 'MYR' | 'NGN' | 'NIO' | 'NOK' | 'NZD' | 'PEN' | 'PHP' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'SEK' | 'SGD' | 'THB' | 'TRY' | 'TWD' | 'UAH' | 'USD' | 'UYU' | 'VND' | 'XCD', required: The original invoice currency.
    - `currencyTo` 'BTC' | 'LTC': It's strongly preferred NOT populate this attribute when creating a new invoice because doing so will fix the invoice's payment method for the end customer who will pay it. The recommended approach is to leave this attribute not populated and let end customer choose their favorite payment method (merchant can always disable a particular payment method for invoicing in settings). If this attribute is populated indeed for invoice creation, 'layer2ProtocolName' attribute has to be set accordingly as well.
    - `layer2ProtocolName` 'LIGHTNING': It's strongly preferred NOT set this attribute (refer to 'currencyTo' attribute for details); it may only be null (for Bitcoin and Litecoin payments over their respective blockchains) or set to 'LIGHTNING', in which case the only allowed value for 'currencyTo' attribute is 'BTC' (for Bitcoin payment over the Lightning Network)
    - `paymentMethodId` string: Pre-selects the payment method the end customer will pay with. The checkout then skips the payment-method selection step and the invoice goes straight to 'active'. Leave it empty to let the customer choose their own method (a merchant can disable individual payment methods for invoicing in the settings). Valid values are the 'id' values returned by GET /api/v3/crypto-payment-methods?invoicingEnabled=true.
  - `notifyEmail` string, email: E-mail address where merchant notifications will be sent.
  - `notifyUrl` string, url: Webhook URL where invoice webhooks will be sent.
  - `product` Product
    - `description` string: The description of the product.
    - `name` string, required: The name of the product. The maximum length is 512 characters.
  - `reference` string: Any data the merchant wishes to store in the invoice. It might be, for instance, a JSON or any other string identifying the Invoice in the merchant's system.
  - `returnUrl` string: URL where the customer will be redirected after the payment.
  - `settlement` Settlement, required
    - `currency` 'BTC' | 'CZK' | 'EUR' | 'GBP' | 'USD' | 'USDC' | 'USDT': Merchant gets paid in this currency - currency of the outstanding balance where the paid invoice's amount is added. When value of settlement and invoice currencyTo is null, then settlement currency is set same as customer currency after customer chooses crypto currency in Invoice.

## Response `201`

Invoice successfully created

- InvoiceTo
  - `activeSince` integer: The time of the Invoice's transition to active state as a Unix timestamp. May be null, if the Invoice has never been in active state.
  - `address` string: The address where a customer is supposed to send crypto to.
  - `buttonInvoiceId` string: The ID of a Payment Button, if this Invoice has been created by using one.
  - `closedAt` integer: The time when the Invoice was closed as a Unix timestamp.
  - `confirmations` integer: The number of confirmations.
  - `confirmingSince` integer: The time of the Invoice's transition to confirming state as a Unix timestamp. May be null, if the Invoice has never been in the confirming state.
  - `createdAt` integer: The time when the Invoice was created as a Unix timestamp.
  - `cryptoTransactions` CryptoTransactionTo[]: The transactions associated with this Invoice.
    - `amount` number
    - `confirmations` integer
    - `createdAt` integer
    - `sourceAddresses` string[]: A list of all addresses from which the transaction amount was received. For UTXO-based blockchains (e.g., Bitcoin), there may be multiple source addresses involved in a single transaction.
    - `txid` string
    - `updatedAt` integer
  - `cryptoUri` string: Standardized URI for a crypto payment. It is also used in a payment QR code. Contains at least protocol, address and remaining amount to be paid.
  - `customerAmount` MoneyCustomerAmount: This is the Invoice amount in cryptocurrency which needs to be paid by a customer.
    - `amount` number: Amount in FIAT has 2 decimal digits and amount in Crypto has 8 decimal digits.
    - `currency` 'BNB' | 'BTC' | 'ETH' | 'EURC' | 'LTC' | 'POL' | 'SOL' | 'TRX' | 'USAT' | 'USDC' | 'USDG' | 'USDT' | 'XPL' | 'AED' | 'ALL' | 'AMD' | 'ARS' | 'AUD' | 'AZN' | 'BDT' | 'BGN' | 'BHD' | 'BND' | 'BOB' | 'BRL' | 'BYN' | 'CAD' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CVE' | 'CZK' | 'DKK' | 'DOP' | 'DZD' | 'EUR' | 'FKP' | 'GBP' | 'GEL' | 'GTQ' | 'HKD' | 'HRK' | 'HUF' | 'CHF' | 'IDR' | 'ILS' | 'INR' | 'ISK' | 'JMD' | 'JPY' | 'KGS' | 'KHR' | 'KWD' | 'KZT' | 'LTL' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MNT' | 'MOP' | 'MUR' | 'MXN' | 'MYR' | 'NGN' | 'NIO' | 'NOK' | 'NZD' | 'PEN' | 'PHP' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'SEK' | 'SGD' | 'THB' | 'TRY' | 'TWD' | 'UAH' | 'USD' | 'UYU' | 'VND' | 'XCD': Depending on context, this can be FIAT or crypto (EUR, USD, BTC...). Please see context above.
  - `customerEmail` string: The email address to which email notifications for the customer will be sent.
  - `emailInvoiceId` string: The ID of an Email Invoice, if this Invoice has been created by using one.
  - `errorSince` integer: The time of the Invoice's transition to error state as a Unix timestamp. May be null, if the Invoice has never been in error state.
  - `expiredSince` integer: The time of the Invoice's transition to expired state as a Unix timestamp. May be null, if the Invoice has never been in expired state.
  - `fee` number: The fee of the Invoice.
  - `flags` Flags
    - `notRefundableCause` 'REFUND_AMOUNT_ZERO' | 'REFUND_AMOUNT_TOO_LOW' | 'REFUND_AMOUNT_NOT_ENOUGH_TO_COVER_NETWORK_FEE' | 'WRONG_INVOICE_STATE' | 'NOT_ALLOWED' | 'LEGACY_INVOICE_WITHOUT_NETWORK_FEE'
    - `overpaymentResolvable` boolean: True if an overpayment on the Invoice is resolvable, false otherwise.
    - `refundable` boolean: True if the Invoice is refundable, false otherwise.
    - `resolvableStatus` 'YES' | 'WAITING' | 'NO'
    - `resolvableSubStatus` 'OVERPAID_NOT_ENOUGH_TO_COVER_NETWORK_FEE' | 'UNDERPAID_NOT_ENOUGH_TO_COVER_NETWORK_FEE' | 'PAYMENT_DETECTED_AFTER_EXPIRATION'
  - `id` string: The Invoice ID.
  - `layer2Attributes` LightningLayerAttributesTo
    - `protocolName` 'LIGHTNING' | 'POLYGON' | 'ARBITRUM' | 'OPTIMISM': Layer 2 protocol name.
    - `bolt` string
    - `lnurl` string
    - `paymentHash` string
  - `merchantAmount` MoneyMerchantAmount: The original Invoice amount and original Invoice currency.
    - `amount` number: Amount in FIAT has 2 decimal digits and amount in Crypto has 8 decimal digits.
    - `currency` 'BNB' | 'BTC' | 'ETH' | 'EURC' | 'LTC' | 'POL' | 'SOL' | 'TRX' | 'USAT' | 'USDC' | 'USDG' | 'USDT' | 'XPL' | 'AED' | 'ALL' | 'AMD' | 'ARS' | 'AUD' | 'AZN' | 'BDT' | 'BGN' | 'BHD' | 'BND' | 'BOB' | 'BRL' | 'BYN' | 'CAD' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CVE' | 'CZK' | 'DKK' | 'DOP' | 'DZD' | 'EUR' | 'FKP' | 'GBP' | 'GEL' | 'GTQ' | 'HKD' | 'HRK' | 'HUF' | 'CHF' | 'IDR' | 'ILS' | 'INR' | 'ISK' | 'JMD' | 'JPY' | 'KGS' | 'KHR' | 'KWD' | 'KZT' | 'LTL' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MNT' | 'MOP' | 'MUR' | 'MXN' | 'MYR' | 'NGN' | 'NIO' | 'NOK' | 'NZD' | 'PEN' | 'PHP' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'SEK' | 'SGD' | 'THB' | 'TRY' | 'TWD' | 'UAH' | 'USD' | 'UYU' | 'VND' | 'XCD': Depending on context, this can be FIAT or crypto (EUR, USD, BTC...). Please see context above.
  - `networkFee` number: The network fee.
  - `notifyEmail` string: The e-mail address where the e-mail notifications will be sent. The maximum length is 512 characters.
  - `notifyUrl` string: The URL where webhooks will be POSTed.
  - `overUnderPaidAmount` number: The difference of requested and received amount. Can be positive or negative.
  - `paid` MoneyPaidTo
    - `amount` number: The received amount in the requested crypto currency.
    - `amountUnconfirmed` number: Unconfirmed amount.
    - `currency` 'BNB' | 'BTC' | 'ETH' | 'EURC' | 'LTC' | 'POL' | 'SOL' | 'TRX' | 'USAT' | 'USDC' | 'USDG' | 'USDT' | 'XPL' | 'AED' | 'ALL' | 'AMD' | 'ARS' | 'AUD' | 'AZN' | 'BDT' | 'BGN' | 'BHD' | 'BND' | 'BOB' | 'BRL' | 'BYN' | 'CAD' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CVE' | 'CZK' | 'DKK' | 'DOP' | 'DZD' | 'EUR' | 'FKP' | 'GBP' | 'GEL' | 'GTQ' | 'HKD' | 'HRK' | 'HUF' | 'CHF' | 'IDR' | 'ILS' | 'INR' | 'ISK' | 'JMD' | 'JPY' | 'KGS' | 'KHR' | 'KWD' | 'KZT' | 'LTL' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MNT' | 'MOP' | 'MUR' | 'MXN' | 'MYR' | 'NGN' | 'NIO' | 'NOK' | 'NZD' | 'PEN' | 'PHP' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'SEK' | 'SGD' | 'THB' | 'TRY' | 'TWD' | 'UAH' | 'USD' | 'UYU' | 'VND' | 'XCD': The requested crypto currency.
    - `diff` number: The difference of requested and received amount.
  - `paidSince` integer: The time when the Invoice acquired the paid status as a Unix timestamp. May be null, if the Invoice has never been in paid state.
  - `paymentMethodId` string: Identifies the blockchain network and the asset the payment is made in. Null until the payment method is fixed — either by the end customer on the checkout page, or up-front by the merchant through the creation request's 'paymentMethodId'. Values are the 'id' values returned by GET /api/v3/crypto-payment-methods.
  - `pendingVerificationSince` integer: The time of the Invoice's transition to pending verification state as a Unix timestamp. May be null, if the Invoice has never been in pending verification state.
  - `preparedSince` integer: The time of the Invoice's transition to prepared state as a Unix timestamp.
  - `product` ProductTo
    - `description` string: The description of the product.
    - `name` string: The name of the product. The maximum length is 512 characters.
  - `rate` RateTo
    - `currencyFrom` 'BNB' | 'BTC' | 'ETH' | 'EURC' | 'LTC' | 'POL' | 'SOL' | 'TRX' | 'USAT' | 'USDC' | 'USDG' | 'USDT' | 'XPL' | 'AED' | 'ALL' | 'AMD' | 'ARS' | 'AUD' | 'AZN' | 'BDT' | 'BGN' | 'BHD' | 'BND' | 'BOB' | 'BRL' | 'BYN' | 'CAD' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CVE' | 'CZK' | 'DKK' | 'DOP' | 'DZD' | 'EUR' | 'FKP' | 'GBP' | 'GEL' | 'GTQ' | 'HKD' | 'HRK' | 'HUF' | 'CHF' | 'IDR' | 'ILS' | 'INR' | 'ISK' | 'JMD' | 'JPY' | 'KGS' | 'KHR' | 'KWD' | 'KZT' | 'LTL' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MNT' | 'MOP' | 'MUR' | 'MXN' | 'MYR' | 'NGN' | 'NIO' | 'NOK' | 'NZD' | 'PEN' | 'PHP' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'SEK' | 'SGD' | 'THB' | 'TRY' | 'TWD' | 'UAH' | 'USD' | 'UYU' | 'VND' | 'XCD': Currency from. The original FIAT currency.
    - `currencyTo` 'BNB' | 'BTC' | 'ETH' | 'EURC' | 'LTC' | 'POL' | 'SOL' | 'TRX' | 'USAT' | 'USDC' | 'USDG' | 'USDT' | 'XPL' | 'AED' | 'ALL' | 'AMD' | 'ARS' | 'AUD' | 'AZN' | 'BDT' | 'BGN' | 'BHD' | 'BND' | 'BOB' | 'BRL' | 'BYN' | 'CAD' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CVE' | 'CZK' | 'DKK' | 'DOP' | 'DZD' | 'EUR' | 'FKP' | 'GBP' | 'GEL' | 'GTQ' | 'HKD' | 'HRK' | 'HUF' | 'CHF' | 'IDR' | 'ILS' | 'INR' | 'ISK' | 'JMD' | 'JPY' | 'KGS' | 'KHR' | 'KWD' | 'KZT' | 'LTL' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MNT' | 'MOP' | 'MUR' | 'MXN' | 'MYR' | 'NGN' | 'NIO' | 'NOK' | 'NZD' | 'PEN' | 'PHP' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'SEK' | 'SGD' | 'THB' | 'TRY' | 'TWD' | 'UAH' | 'USD' | 'UYU' | 'VND' | 'XCD': Currency to. The requested crypto currency.
    - `value` number: The conversion rate from currencyFrom to currencyTo.
  - `reference` string: Any data the merchant wishes to store in the Invoice. It might be, for instance, a JSON or any other string identifying the invoice in the merchant's system. The maximum length is 512 characters.
  - `refundLink` string, uri: The URL of the refund link.
  - `refunds` RefundTo[]: Refunds for this Invoice.
    - `address` string: The crypto address, the refund was sent to.
    - `amount` number: The refunded amount.
    - `createdAt` integer
    - `id` string: The refund ID.
    - `notifyEmail` string: The notification e-mail.
    - `paymentStatus` 'overpaid' | 'underpaid' | 'paid-after-limit' | 'pending-verification'
    - `refundStatus` 'pending' | 'sending' | 'refunded' | 'error' | 'cancelled' | 'not_possible': The status of the refund.
    - `refundedAt` integer
    - `sendMode` 'MANUAL' | 'AUTOMATIC'
    - `substatus` string
    - `txid` string: The TXID of a refund transaction.
    - `updatedAt` integer
  - `requiredConfirmations` integer: The number of required confirmations for the Invoice to gain the paid status.
  - `requiredConfirmationsToRefund` integer: The number of required confirmations for refunds to be allowed.
  - `resolvedByEmail` string: Email (or other identifier) of the one responsible for manual resolve.
  - `resolvedManually` boolean, required: Flag saying whether invoice was resolved manually (refund, take)
  - `returnUrl` string: The URL where the customer will be redirected after the payment. The maximum length is 512 characters.
  - `settlement` SettlementInfoTo
    - `amount` number: The amount of the Settlement.
    - `createdAt` integer: A Unix timestamp specifying creation of the settlement.
    - `currency` 'BTC' | 'CZK' | 'ETH' | 'EUR' | 'GBP' | 'HUF' | 'LTC' | 'PLN' | 'POL' | 'SOL' | 'TRX' | 'USD' | 'USDC' | 'USDT': The currency in which the Settlement will be paid out. Merchant gets paid in this currency, when it is assigned to an invoice as settlement currency
    - `fee` number: The fee of the Settlement.
    - `id` string: The Settlement ID.
  - `settlementAmount` MoneySettlementAmount: Amount and currency that is credited to the merchant's balance (present only for status Paid). The currency can be one of the following: BTC, CZK, EUR, GBP, HUF, PLN, USD, USDC, USDT.
    - `amount` number: Amount in FIAT has 2 decimal digits and amount in Crypto has 8 decimal digits.
    - `currency` 'BNB' | 'BTC' | 'ETH' | 'EURC' | 'LTC' | 'POL' | 'SOL' | 'TRX' | 'USAT' | 'USDC' | 'USDG' | 'USDT' | 'XPL' | 'AED' | 'ALL' | 'AMD' | 'ARS' | 'AUD' | 'AZN' | 'BDT' | 'BGN' | 'BHD' | 'BND' | 'BOB' | 'BRL' | 'BYN' | 'CAD' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CVE' | 'CZK' | 'DKK' | 'DOP' | 'DZD' | 'EUR' | 'FKP' | 'GBP' | 'GEL' | 'GTQ' | 'HKD' | 'HRK' | 'HUF' | 'CHF' | 'IDR' | 'ILS' | 'INR' | 'ISK' | 'JMD' | 'JPY' | 'KGS' | 'KHR' | 'KWD' | 'KZT' | 'LTL' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MNT' | 'MOP' | 'MUR' | 'MXN' | 'MYR' | 'NGN' | 'NIO' | 'NOK' | 'NZD' | 'PEN' | 'PHP' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'SEK' | 'SGD' | 'THB' | 'TRY' | 'TWD' | 'UAH' | 'USD' | 'UYU' | 'VND' | 'XCD': Depending on context, this can be FIAT or crypto (EUR, USD, BTC...). Please see context above.
  - `status` 'prepared' | 'pending_verification' | 'active' | 'confirming' | 'paid' | 'expired' | 'error' | 'blocked': Please note that invoices that transition from status 'prepared' directly to 'expired' (i.e. those which were never activated) become subject of data purging after a retention period (e.g. a year). An invoice in status 'paid' can still move to 'blocked' when a later compliance check flags its payment.
  - `subscriptionId` string: Deprecated. Always null; subscriptions are now standalone feature
  - `takeInfo` TakeInfoTo
    - `customerCurrency` string: The currency in which the customer is supposed to pay.
    - `expiration` integer: The timestamp when take offer expires.
    - `expirationDuration` integer: The number of seconds before take offer expires.
    - `merchantCurrency` string
    - `offeredAmountInMerchantCurrency` number
    - `offeredPrice` number: The new price of crypto currency.
    - `offeredSettlementAmount` number: The new amount to be settled (after take).
    - `originalSettlementAmount` number: The original amount to be settled (before take)
    - `refundAmount` number: Used for internal purposes
    - `settlementCurrency` string: The currency of the Settlement Method.
    - `taken` boolean: True if the Invoice was taken.
    - `takenAt` integer: The take action timestamp as Unix timestamp.
  - `timeoutTime` integer: The time of the Invoice's expiration as a Unix timestamp.
  - `unhandledExceptions` boolean: It is true if the payment gateway owes some funds to the customer or the customer has not paid the whole customer amount.
  - `url` string, uri: The URL of the Invoice's public view for the customers.
  - `version` integer: Monotonic version of the invoice; the client discards any WebSocket payload whose version is not greater than the last applied one (ordering guard).

## Other responses

- `400`: Bad Request
- `403`: Forbidden
- `409`: Conflict

---

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