POST /invoices/{invoice-id}/add_charge
Adds a one-time charge to a pending invoice. A one-time charge is a charge that is added ad hoc to the invoice and does not represent a predefined item price. It appears in the invoice as a line_item of entity_type adhoc
.
Servers
- {protocol}://{site}.{environment}:{port}/api/v2
- {protocol}://{site}-test.{environment}:{port}/api/v2
Path parameters
Name | Type | Required | Description |
---|---|---|---|
invoice-id |
String | Yes |
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:
|
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:
|
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-event-email |
String | No |
skip only emails Possible values:
|
Request body fields
Name | Type | Required | Description |
---|---|---|---|
comment |
String | No |
An internal comment to be added for this operation, to the invoice. This comment is displayed on the Chargebee UI. It is not displayed on any customer-facing Hosted Page or any document such as the Invoice PDF. |
description |
String | Yes |
Detailed description about this lineitem. |
amount |
Integer | Yes |
The amount to be charged. The unit depends on the type of currency. |
avalara_tax_code |
String | No |
This represents the Avalara tax code to which the one-time charge is mapped. Applicable only if you use Chargebee's AvaTax for Sales integration. |
taxjar_product_code |
String | No |
This represents the TaxJar product code to which the one-time charge is mapped. Applicable only if you use Chargebee's TaxJar integration. |
avalara_sale_type |
String | No |
Indicates the type of sale carried out. This is applicable only if you use Chargebee's AvaTax for Communications integration. * retail - Transaction is a sale to an end user * wholesale - Transaction is a sale to another company that will resell your product or service to another consumer * vendor_use - Transaction is for an item that is subject to vendor use tax * consumed - Transaction is for an item that is consumed directly Possible values:
|
hsn_code |
String | No |
The HSN code to which the one-time charge is mapped for calculating the customer's tax in India. Applicable when both the conditions are true:
|
avalara_service_type |
Integer | 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. |
line_item |
Object | No |
Parameters for line_item |
line_item.date_from |
Integer | No |
The time when the service period for the charge starts. |
line_item.date_to |
Integer | No |
The time when the service period for the charge ends. |
avalara_transaction_type |
Integer | 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. |
subscription_id |
String | No |
Identifier of the subscription for which this charge needs to be created. Applicable for consolidated invoice. |
How to start integrating
- Add HTTP Task to your workflow definition.
- 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.
- Click Test request to test run your request to the API and see the API's response.