POST /invoices/create_for_charge_items_and_charges

Creates an invoice for charge-items and one-time charges. The item prices must belong to items of type charge.

Servers

Request headers

Name Type Required Description
chargebee-request-origin-device String No

The device from which the customer has made the request

Content-Type String Yes The media type of the request body.

Default value: "application/x-www-form-urlencoded"

chargebee-event-webhook String No

skip only webhooks

Possible values:

  • "all-disabled"
chargebee-business-entity-id String No

If the site has multiple business entities, you can use this custom HTTP header to specify the business entity for which Chargebee should perform the operation.

chargebee-event-actions String No

skip all actions to be done on the events

Possible values:

  • "all-disabled"
chargebee-request-origin-user String No

The email address of your customer/user. Use this when the email address has only ASCII characters.

chargebee-request-origin-ip String No

The IP address of the customer where the request originated

chargebee-request-origin-user-encoded String No

The Base64-encoded email address of your customer/user. Use this if the email address has UTF-8 characters. When this header is provided, the header chargebee-request-origin-user is ignored.

chargebee-event-email String No

skip only emails

Possible values:

  • "all-disabled"

Request body fields

Name Type Required Description
discounts Object No

Parameters for discounts

discounts.apply_on[] Array Yes
discounts.percentage[] Array No

The percentage of the original amount that should be deducted from it.

discounts.amount[] Array No

The value of the discount. The format of this value depends on the kind of currency.

discounts.item_price_id[] Array No

The id of the item price in the subscription to which the discount is to be applied. Relevant only when apply_on = specific_item_price.

currency_code String No

The currency code (ISO 4217 format) of the invoice amount.

retain_payment_source Boolean No

Indicates whether the payment source should be retained for the customer.

Default value: true

payment_method Object No

Parameters for payment_method

payment_method.gateway_account_id String No

The gateway account in which this payment source is stored.

payment_method.type String No

The type of payment method. For more details refer Update payment method for a customer API under Customer resource. * google_pay - Payments made via Google Pay. * sofort - Payments made via Sofort. * netbanking_emandates - Netbanking (eMandates) Payments. * apple_pay - Payments made via Apple Pay. * unionpay - Payments made via UnionPay. * giropay - Payments made via giropay. * direct_debit - Represents bank account for which the direct debit or ACH agreement/mandate is created. * bancontact - Payments made via Bancontact Card. * upi - UPI Payments. * alipay - Payments made via Alipay.
This payment source is deprecated. * pay_to - Payments made via PayTo * wechat_pay - Payments made via WeChat Pay.
This payment source is deprecated. * sepa_instant_transfer - Payments made via Sepa Instant Transfer * dotpay - Payments made via Dotpay. * paypal_express_checkout - Payments made via PayPal Express Checkout. * ideal - Payments made via iDEAL. * generic - Payments made via Generic Payment Method. * klarna_pay_now - Payments made via Klarna Pay Now * faster_payments - Payments made via Faster Payments * venmo - Payments made via Venmo * automated_bank_transfer - Represents virtual bank account using which the payment will be done. * amazon_payments - Payments made via Amazon Payments. * card - Card based payment including credit cards and debit cards. Details about the card can be obtained from the card resource.

Possible values:

  • "upi"
  • "online_banking_poland"
  • "unionpay"
  • "direct_debit"
  • "netbanking_emandates"
  • "giropay"
  • "venmo"
  • "payconiq_by_bancontact"
  • "card"
  • "klarna_pay_now"
  • "faster_payments"
  • "sepa_instant_transfer"
  • "alipay"
  • "bancontact"
  • "amazon_payments"
  • "sofort"
  • "automated_bank_transfer"
  • "paypal_express_checkout"
  • "apple_pay"
  • "pay_to"
  • "generic"
  • "dotpay"
  • "google_pay"
  • "wechat_pay"
  • "ideal"
payment_method.tmp_token String No

Single-use tokens created by payment gateways. In Stripe, a single-use token is created for Apple Pay Wallet, card details or direct debit. In Braintree, a nonce is created for Apple Pay Wallet, PayPal, or card details. In Authorize.Net, a nonce is created for card details. In Adyen, an encrypted data is created from the card details.

payment_method.issuing_country String No

ISO 3166 alpha-2 country code.

Note : If you enter an invalid country code, the system will return an error.

If you have enabled EU VAT in 2021 or have manually enabled the Brexit configuration, then XI (the code for United Kingdom -- Northern Ireland) is available as an option.

payment_method.additional_information Object No

* `checkout_com`: While adding a new payment method using [permanent token](./payment_sources?#create_using_permanent_token) or passing raw card details to Checkout.com, `document` ID and `country_of_residence` are required to support payments through [dLocal](https://www.checkout.com/docs/previous/payments/payment-methods/cards/dlocal). * `payer`: User related information. * `country_of_residence`: This is required since the billing country associated with the user's payment method may not be the same as their country of residence. Hence the user's country of residence needs to be specified. The country code should be a [two-character ISO code](https://docs.checkout.com/resources/codes/country-codes). * `document`: Document ID is the user's [identification number](https://docs.dlocal.com/api-documentation/payins-api-reference/country-reference#documents) based on their country. * `bluesnap`: While passing raw card details to BlueSnap, if `fraud_session_id` is added, [additional validation](https://developers.bluesnap.com/docs/fraud-prevention) is performed to avoid fraudulent transactions. * `fraud`: Fraud identification related information. * `fraud_session_id`: Your [BlueSnap fraud session ID](https://developers.bluesnap.com/docs/fraud-prevention#section-implementing-device-data-collector) required to perform anti-fraud validation. * `braintree`: While passing raw card details to Braintree, your `fraud_merchant_id` and the user's `device_session_id` can be added to perform [additional validation](https://developers.braintreepayments.com/guides/premium-fraud-management-tools/device-data-collection/javascript/v3#collecting-device-data) and avoid fraudulent transactions. * `fraud`: Fraud identification related information. * `device_session_id`: Session ID associated with the user's device. * `fraud_merchant_id`: Your [merchant ID](https://developers.braintreepayments.com/guides/premium-fraud-management-tools/device-data-collection/javascript/v3#collecting-device-data) for fraud detection. * `chargebee_payments`: While passing raw card details to Chargebee Payments, if `fraud_session_id` is added, additional validation is performed to avoid fraudulent transactions. * `fraud`: Fraud identification related information. * `fraud_session_id`: Your Chargebee Payments fraud session ID required to perform anti-fraud validation. * `bank_of_america`: While passing raw card details to Bank of America, your user's `device_session_id` can be added to perform additional validation and avoid fraudulent transactions. * `fraud`: Fraud identification related information. * `device_session_id`: Session ID associated with the user's device. * `ecentric`: This parameter is used to verify and process payment method details in Ecentric. If the `merchant_id` parameter is included, Chargebee will vault it / perform a lookup and verification against this `merchant_id`, overriding the one configured in Chargebee. If tokens and processing occur in the same Merchant GUID, you can just skip this part. * `merchant_id`: Merchant GUID where the card is vaulted or need to be vaulted. * `ebanx`: While passing raw card details to EBANX, the user's `document` is required for some countries and `device_session_id` can be added to perform [additional validation](https://developer.ebanx.com/docs/payments/guides/features/device-fingerprint#device-fingerprint) and avoid fraudulent transactions. * `payer`: User related information. * `document`: Document is the user's identification number based on their country. * `fraud`: Fraud identification related information. * `device_session_id`: Session ID associated with the user's device

payment_method.reference_id String No

The reference id. In the case of Amazon and PayPal this will be the billing agreement id . For GoCardless direct debit this will be 'mandate id'. In the case of card this will be the identifier provided by the gateway/card vault for the specific payment method resource. Note: This is not the one-time temporary token provided by gateways like Stripe.
For more details refer Update payment method for a customer API under Customer resource.

coupon_ids[] Array No

List of Coupons to be added.

item_prices Object No

Parameters for item_prices

item_prices.unit_price[] Array No

The price or per-unit-price of the item price. By default, it is the value set for the item_price. This is only applicable when the pricing_model of the item_price is flat_fee or per_unit. The value depends on the type of currency.

item_prices.date_from[] Array No

The time when the service period for the item starts.

item_prices.date_to[] Array No

The time when the service period for the item ends.

item_prices.unit_price_in_decimal[] Array No

The decimal representation of the price or per-unit price of the plan. The value is in major units of the currency. Always returned when multi-decimal pricing is enabled.

item_prices.item_price_id[] Array No

A unique ID for your system to identify the item price.

item_prices.quantity[] Array No

Item price quantity

item_prices.quantity_in_decimal[] Array No

The decimal representation of the quantity of the item purchased. Can be provided for quantity-based item prices and only when multi-decimal pricing is enabled.

tax_providers_fields Object No

Parameters for tax_providers_fields

tax_providers_fields.field_value[] Array No

The value of the corresponding tax field.

tax_providers_fields.field_id[] Array No

Field id of the attribute which tax vendor has provided while getting onboarded with us.

tax_providers_fields.provider_name[] Array No

Name of the tax provider currently supported.

auto_collection String No

If specified, the customer level auto collection will be overridden. * on - Whenever an invoice is created, an automatic attempt will be made to charge. * off - Whenever an invoice is created as payment due.

Possible values:

  • "on"
  • "off"
statement_descriptor Object No

Parameters for statement_descriptor

statement_descriptor.descriptor String No

Payment descriptor text

payment_source_id String No

Payment source to be used for this payment.

subscription_id String No

Unique ID of the subscription this invoice should be created for. Either this or customer_id must be provided.
Note

The invoice is linked to the same business entity as this subscription. .

payment_initiator String No

The type of initiator to be used for the payment request triggered by this operation. * customer - Pass this value to indicate that the request is initiated by the customer * merchant - Pass this value to indicate that the request is initiated by the merchant

Possible values:

  • "merchant"
  • "customer"
shipping_address Object No

Parameters for shipping_address

shipping_address.first_name String No

The first name of the contact.

shipping_address.state String No

The state/province name. Is set by Chargebee automatically for US, Canada and India If state_code is provided.

shipping_address.city String No

The name of the city.

shipping_address.validation_status String No

The address verification status. * not_validated - Address is not yet validated. * valid - Address was validated successfully. * partially_valid - The address is valid for taxability but has not been validated for shipping. * invalid - Address is invalid.

Possible values:

  • "partially_valid"
  • "valid"
  • "not_validated"
  • "invalid"

Default value: "not_validated"

shipping_address.line2 String No

Address line 2

shipping_address.line1 String No

Address line 1

shipping_address.email String No

The email address.

shipping_address.last_name String No

The last name of the contact.

shipping_address.company String No

The company name.

shipping_address.line3 String No

Address line 3

shipping_address.state_code String No

The ISO 3166-2 state/province code without the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set state_code as AZ (not US-AZ). For Tamil Nadu (India), set as TN (not IN-TN). For British Columbia (Canada), set as BC (not CA-BC).

shipping_address.zip String No

Zip or postal code. The number of characters is validated according to the rules specified here.

shipping_address.phone String No

The phone number.

shipping_address.country String No

The billing address country of the customer. Must be one of ISO 3166 alpha-2 country code.

Note : If you enter an invalid country code, the system will return an error.

Brexit

If you have enabled EU VAT in 2021 or later, or have manually enable the Brexit configuration, then XI (the code for United Kingdom -- Northern Ireland) is available as an option.

authorization_transaction_id String No

Authorization transaction to be captured.

token_id String No

Token generated by Chargebee JS representing payment method details.

po_number String No

Purchase Order Number for this invoice.

payment_intent Object No

Parameters for payment_intent

payment_intent.id String No

Identifier for PaymentIntent generated by Chargebee.js. Applicable only when you are using Chargebee.js for completing the 3DS flow. The PaymentIntent should be in 'authorized' state while passing it here. You need not pass other PaymentIntent parameters if this is passed.

payment_intent.gateway_account_id String No

The gateway account used for performing the 3DS flow.

payment_intent.payment_method_type String No

The list of payment method types (For example, card, ideal, sofort, bancontact, etc.) this Payment Intent is allowed to use. If payment method type is empty, Card is taken as the default type for all gateways except Razorpay. * card - card * dotpay - dotpay * faster_payments - * upi - upi * google_pay - google_pay * paypal_express_checkout - paypal_express_checkout * klarna_pay_now - Klarna Pay Now * ideal - ideal * boleto - boleto * direct_debit - direct_debit * sepa_instant_transfer - * bancontact - bancontact * venmo - * pay_to - * netbanking_emandates - netbanking_emandates * apple_pay - apple_pay * giropay - giropay * sofort - sofort * amazon_payments - amazon_payments

Possible values:

  • "bancontact"
  • "upi"
  • "amazon_payments"
  • "online_banking_poland"
  • "direct_debit"
  • "sofort"
  • "boleto"
  • "netbanking_emandates"
  • "giropay"
  • "paypal_express_checkout"
  • "apple_pay"
  • "pay_to"
  • "venmo"
  • "payconiq_by_bancontact"
  • "card"
  • "klarna_pay_now"
  • "dotpay"
  • "faster_payments"
  • "sepa_instant_transfer"
  • "google_pay"
  • "ideal"
payment_intent.additional_information Object No

* `checkout_com`: While adding a new payment method using [permanent token](./payment_sources?#create_using_permanent_token) or passing raw card details to Checkout.com, `document` ID and `country_of_residence` are required to support payments through [dLocal](https://www.checkout.com/docs/previous/payments/payment-methods/cards/dlocal). * `payer`: User related information. * `country_of_residence`: This is required since the billing country associated with the user's payment method may not be the same as their country of residence. Hence the user's country of residence needs to be specified. The country code should be a [two-character ISO code](https://docs.checkout.com/resources/codes/country-codes). * `document`: Document ID is the user's [identification number](https://docs.dlocal.com/api-documentation/payins-api-reference/country-reference#documents) based on their country. * `bluesnap`: While passing raw card details to BlueSnap, if `fraud_session_id` is added, [additional validation](https://developers.bluesnap.com/docs/fraud-prevention) is performed to avoid fraudulent transactions. * `fraud`: Fraud identification related information. * `fraud_session_id`: Your [BlueSnap fraud session ID](https://developers.bluesnap.com/docs/fraud-prevention#section-implementing-device-data-collector) required to perform anti-fraud validation. * `braintree`: While passing raw card details to Braintree, your `fraud_merchant_id` and the user's `device_session_id` can be added to perform [additional validation](https://developers.braintreepayments.com/guides/premium-fraud-management-tools/device-data-collection/javascript/v3#collecting-device-data) and avoid fraudulent transactions. * `fraud`: Fraud identification related information. * `device_session_id`: Session ID associated with the user's device. * `fraud_merchant_id`: Your [merchant ID](https://developers.braintreepayments.com/guides/premium-fraud-management-tools/device-data-collection/javascript/v3#collecting-device-data) for fraud detection. * `chargebee_payments`: While passing raw card details to Chargebee Payments, if `fraud_session_id` is added, additional validation is performed to avoid fraudulent transactions. * `fraud`: Fraud identification related information. * `fraud_session_id`: Your Chargebee Payments fraud session ID required to perform anti-fraud validation. * `bank_of_america`: While passing raw card details to Bank of America, your user's `device_session_id` can be added to perform additional validation and avoid fraudulent transactions. * `fraud`: Fraud identification related information. * `device_session_id`: Session ID associated with the user's device. * `ecentric`: This parameter is used to verify and process payment method details in Ecentric. If the `merchant_id` parameter is included, Chargebee will vault it / perform a lookup and verification against this `merchant_id`, overriding the one configured in Chargebee. If tokens and processing occur in the same Merchant GUID, you can just skip this part. * `merchant_id`: Merchant GUID where the card is vaulted or need to be vaulted. * `ebanx`: While passing raw card details to EBANX, the user's `document` is required for some countries and `device_session_id` can be added to perform [additional validation](https://developer.ebanx.com/docs/payments/guides/features/device-fingerprint#device-fingerprint) and avoid fraudulent transactions. * `payer`: User related information. * `document`: Document is the user's identification number based on their country. * `fraud`: Fraud identification related information. * `device_session_id`: Session ID associated with the user's device

payment_intent.gw_token String No

Identifier for 3DS transaction/verification object at the gateway. Can be passed only after successfully completing the 3DS flow. Refer 3DS implementation in Chargebee to find out the gateway-specific gw_token format. Applicable when you are using gateway APIs directly for completing the 3DS flow.

payment_intent.reference_id String No

Identifier for Braintree permanent token. Applicable when you are using Braintree APIs for completing the 3DS flow.

bank_account Object No

Parameters for bank_account

bank_account.first_name String No

Account holder's first name as per bank account. If not passed, details from customer details will be considered.

bank_account.swedish_identity_number String No

For GoCardless Autogiro users only. The civic/company number (personnummer, samordningsnummer, or organisationsnummer) of the customer. Must be supplied if the customer's bank account is denominated in Swedish krona (SEK). This field cannot be changed once it has been set.

bank_account.iban String No

Account holder's International Bank Account Number. For the GoCardless platform, this can be the local bank details

bank_account.account_number String No

Account holder's bank account number.

bank_account.account_type String No

Represents the account type used to create a payment source. Available for Authorize.net ACH and Razorpay NetBanking users only. If not passed, account type is taken as null. * checking - Checking Account * business_checking - Business Checking Account * savings - Savings Account * current - Current Account

Possible values:

  • "current"
  • "checking"
  • "savings"
  • "business_checking"
bank_account.email String No

Account holder's email address. If not passed, details from customer details will be considered. All Direct Debit compliant emails will be sent to this email address.

bank_account.last_name String No

Account holder's last name as per bank account. If not passed, details from customer details will be considered.

bank_account.bank_code String No

Indicates the bank code.

bank_account.company String No

Account holder's company name as per bank account. If not passed, details from customer details will be considered.

bank_account.bank_name String No

Name of account holder's bank.

bank_account.gateway_account_id String No

The gateway account in which this payment source is stored.

bank_account.phone String No

Phone number of the account holder that is linked to the bank account.

bank_account.routing_number String No

Bank account routing number.

bank_account.issuing_country String No

two-letter(alpha2) ISO country code. Required when local bank details are provided, and not IBAN.

bank_account.account_holder_type String No

For Stripe ACH users only. Indicates the account holder type. * individual - Individual Account. * company - Company Account.

Possible values:

  • "company"
  • "individual"
bank_account.echeck_type String No

For Authorize.net ACH users only. Indicates the type of eCheck. * ppd - Payment Authorization is prearranged between the customer and the merchant. * ccd - Payment Authorization agreement from the corporate customer is required. Applicable for business_checking account_type. * web - Payment Authorization obtained from the customer via the internet.

Possible values:

  • "ppd"
  • "web"
  • "ccd"
bank_account.billing_address Object No

The billing address associated with the bank account. The value is a JSON object with the following keys and their values: * `first_name`:(string, max chars=150) The first name of the contact. * `last_name`:(string, max chars=150) The last name of the contact. * `company_name`:(string, max chars=250) The company name for the address. * `line1`:(string, max chars=180) The first line of the address. * `line2`:(string, max chars=180) The second line of the address. * `country`:(string) The name of the country for the address. * `country_code`:(string, max chars=50) The two-letter, [ISO 3166 alpha-2](https://www.iso.org/iso-3166-country-codes.html) country code for the address. * `state`:(string, max chars=50) The name of the state or province for the address. When not provided, this is set automatically for US, Canada, and India. * `state_code`:(string, max chars=50) The [ISO 3166-2 state/province code](https://www.iso.org/obp/ui/#search/code/) without the country prefix. This is supported for USA, Canada, and India. For instance, for Arizona (USA), set state_code as `AZ` (not `US-AZ`). For Tamil Nadu (India), set as `TN` (not `IN-TN`). For British Columbia (Canada), set as `BC` (not `CA-BC)`. * `city`:(string, max chars=50) The city name for the address. * `postal_code`:(string, max chars=20) The postal or ZIP code for the address. * `phone`:(string, max chars=50) The contact phone number for the address. * `email`:(string, max chars=70) The contact email address for the address.

card Object No

Parameters for card

card.billing_addr2 String No

Address line 2, as available in card billing address.

card.billing_addr1 String No

Address line 1, as available in card billing address.

card.number String No

The credit card number without any format. If you are using Braintree.js, you can specify the Braintree encrypted card number here.

card.first_name String No

Cardholder's first name

card.expiry_month Integer No

Card expiry month.

card.additional_information Object No

* `checkout_com`: While adding a new payment method using [permanent token](./payment_sources?#create_using_permanent_token) or passing raw card details to Checkout.com, `document` ID and `country_of_residence` are required to support payments through [dLocal](https://www.checkout.com/docs/previous/payments/payment-methods/cards/dlocal). * `payer`: User related information. * `country_of_residence`: This is required since the billing country associated with the user's payment method may not be the same as their country of residence. Hence the user's country of residence needs to be specified. The country code should be a [two-character ISO code](https://docs.checkout.com/resources/codes/country-codes). * `document`: Document ID is the user's [identification number](https://docs.dlocal.com/api-documentation/payins-api-reference/country-reference#documents) based on their country. * `bluesnap`: While passing raw card details to BlueSnap, if `fraud_session_id` is added, [additional validation](https://developers.bluesnap.com/docs/fraud-prevention) is performed to avoid fraudulent transactions. * `fraud`: Fraud identification related information. * `fraud_session_id`: Your [BlueSnap fraud session ID](https://developers.bluesnap.com/docs/fraud-prevention#section-implementing-device-data-collector) required to perform anti-fraud validation. * `braintree`: While passing raw card details to Braintree, your `fraud_merchant_id` and the user's `device_session_id` can be added to perform [additional validation](https://developers.braintreepayments.com/guides/premium-fraud-management-tools/device-data-collection/javascript/v3#collecting-device-data) and avoid fraudulent transactions. * `fraud`: Fraud identification related information. * `device_session_id`: Session ID associated with the user's device. * `fraud_merchant_id`: Your [merchant ID](https://developers.braintreepayments.com/guides/premium-fraud-management-tools/device-data-collection/javascript/v3#collecting-device-data) for fraud detection. * `chargebee_payments`: While passing raw card details to Chargebee Payments, if `fraud_session_id` is added, additional validation is performed to avoid fraudulent transactions. * `fraud`: Fraud identification related information. * `fraud_session_id`: Your Chargebee Payments fraud session ID required to perform anti-fraud validation. * `bank_of_america`: While passing raw card details to Bank of America, your user's `device_session_id` can be added to perform additional validation and avoid fraudulent transactions. * `fraud`: Fraud identification related information. * `device_session_id`: Session ID associated with the user's device. * `ecentric`: This parameter is used to verify and process payment method details in Ecentric. If the `merchant_id` parameter is included, Chargebee will vault it / perform a lookup and verification against this `merchant_id`, overriding the one configured in Chargebee. If tokens and processing occur in the same Merchant GUID, you can just skip this part. * `merchant_id`: Merchant GUID where the card is vaulted or need to be vaulted. * `ebanx`: While passing raw card details to EBANX, the user's `document` is required for some countries and `device_session_id` can be added to perform [additional validation](https://developer.ebanx.com/docs/payments/guides/features/device-fingerprint#device-fingerprint) and avoid fraudulent transactions. * `payer`: User related information. * `document`: Document is the user's identification number based on their country. * `fraud`: Fraud identification related information. * `device_session_id`: Session ID associated with the user's device

card.last_name String No

Cardholder's last name

card.gateway_account_id String No

The gateway account in which this payment source is stored.

card.billing_state_code String No

The ISO 3166-2 state/province code without the country prefix. Currently supported for USA, Canada and India. For instance, for Arizona (USA), set state_code as AZ (not US-AZ). For Tamil Nadu (India), set as TN (not IN-TN). For British Columbia (Canada), set as BC (not CA-BC).

card.billing_zip String No

Postal or Zip code, as available in card billing address.

card.expiry_year Integer No

Card expiry year.

card.cvv String No

The card verification value (CVV). If you are using Braintree.js, you can specify the Braintree encrypted CVV here.

card.billing_city String No

City, as available in card billing address.

card.billing_state String No

The state/province name. Is set by Chargebee automatically for US, Canada and India If state_code is provided.

card.preferred_scheme String No

The customer's preferred card scheme for co-branded cards.
Note: Currently, this parameter is only supported for Stripe. * cartes_bancaires - A Cartes Bancaires card scheme. * mastercard - A MasterCard scheme. * visa - A Visa card scheme.

Possible values:

  • "visa"
  • "cartes_bancaires"
  • "mastercard"
card.billing_country String No

The billing address country of the customer. Must be one of ISO 3166 alpha-2 country code.

Note : If you enter an invalid country code, the system will return an error.

Brexit

If you have enabled EU VAT in 2021 or later, or have manually enable the Brexit configuration, then XI (the code for United Kingdom -- Northern Ireland) is available as an option.

invoice_note String No

A note for this particular invoice. This, and all other notes for the invoice are displayed on the PDF invoice sent to the customer.

replace_primary_payment_source Boolean No

Indicates whether the primary payment source should be replaced with this payment source. In case of Create Subscription for Customer endpoint, the default value is True. Otherwise, the default value is False.

Default value: false

customer_id String No

Unique ID of the customer this invoice should be created for. Either this or subscription_id must be provided.
Note

The invoice is linked to the same business entity as this customer. .

item_tiers Object No

Parameters for item_tiers

item_tiers.starting_unit_in_decimal[] Array No

The decimal representation of the lowest value of quantity in this tier. This is zero for the lowest tier. For all other tiers, it is the same as ending_unit_in_decimal of the next lower tier. Returned only when the pricing_model is tiered, volume or stairstep and multi-decimal pricing is enabled.

item_tiers.price_in_decimal[] Array No

The decimal representation of the per-unit price for the tier when the pricing_model is tiered or volume. When the pricing_model is stairstep, it is the decimal representation of the total price for the item. The value is in major units of the currency. Returned when the plan is quantity-based and multi-decimal pricing is enabled.

item_tiers.package_size[] Array No

Package size for the tier when pricing type is package. Specify the number of units that make up one package. For example, if 1000 API hits are grouped into a single package, set the package size to 1000.

item_tiers.price[] Array No

The per-unit price for the tier when the pricing_model is tiered or volume. The total cost for the item price when the pricing_model is stairstep. The value is in the minor unit of the currency.

item_tiers.ending_unit[] Array No

The highest value in the quantity tier.

item_tiers.item_price_id[] Array No

The id of the item price to which this tier belongs.

item_tiers.pricing_type[] Array No
item_tiers.starting_unit[] Array No

The lowest value in the quantity tier.

item_tiers.ending_unit_in_decimal[] Array No

The decimal representation of the highest value of quantity in this tier. This attribute is not applicable for the highest tier. For all other tiers, it must be equal to the starting_unit_in_decimal of the next higher tier. Returned only when the pricing_model is tiered, volume or stairstep and multi-decimal pricing is enabled.

charges Object No

Parameters for charges

charges.description[] Array No

Description for this charge

charges.date_to[] Array No

The time when the service period for the charge ends.

charges.avalara_tax_code[] Array No

The Avalara tax codes to which items are mapped to should be provided here. Applicable only if you use Chargebee's AvaTax for Sales integration.

charges.avalara_sale_type[] Array No
charges.avalara_service_type[] Array No

Indicates the type of service for the product to be taxed. Values for this field can be taken from Avalara. This is applicable only if you use Chargebee's AvaTax for Communications integration.

charges.date_from[] Array No

The time when the service period for the charge starts.

charges.amount_in_decimal[] Array No

The decimal representation of the amount for the one-time charge. Provide the value in major units of the currency. Can be provided only when multi-decimal pricing is enabled.

charges.tax_profile_id[] Array No

Tax profile of the charge.

charges.amount[] Array No

The amount to be charged. The unit depends on the type of currency.

charges.taxjar_product_code[] Array No

The TaxJar product codes to which items are mapped to should be provided here. Applicable only if you use Chargebee's TaxJar integration.

charges.taxable[] Array No

The amount to be charged is taxable or not.

charges.hsn_code[] Array No

The HSN code to which the item is mapped for calculating the customer's tax in India. Applicable only when both of the following conditions are true:

  • India has been enabled as a Tax Region. (An error is returned when this condition is not true.)
  • The AvaTax for Sales integration has been enabled in Chargebee.
charges.avalara_transaction_type[] Array No

Indicates the type of product to be taxed. Values for this field can be taken from Avalara. This is applicable only if you use Chargebee's AvaTax for Communications integration.

invoice_date Integer No

The document date displayed on the invoice PDF. By default, it is the date of creation of the invoice or, when Metered Billing is enabled, it can be the date of closing the invoice. Provide this value to backdate the invoice (set the invoice date to a value in the past). Backdating an invoice is done for reasons such as booking revenue for a previous date or when the non-recurring charge is effective as of a past date. taxes and line_item_taxes are computed based on the tax configuration as of this date. The date should not be more than one calendar month into the past. For example, if today is 13th January, then you cannot pass a value that is earlier than 13th December.

remove_general_note Boolean No

Set as true to remove the general note from this invoice.

Default value: false

notes_to_remove Object No

Parameters for notes_to_remove

notes_to_remove.entity_id[] Array No

Unique identifier of the note.

notes_to_remove.entity_type[] Array No

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.