POST /invoices/{invoice-id}/collect_payment
Collects a specified amount of payment for an invoice, via a specified online payment method.
Offline payments
When there is no payment method available, and if you wish to record an offline payment, use the Record an offline payment API instead.
Prerequisites & Constraints
- The invoice
statusmust bepayment_due,posted, ornot_paid. - The invoice
channelmust not beapp_storeorplay_store. - The invoice's
amount_to_collectmust be greater than 0. - A valid
payment_sourcemust be associated with the customer.
Impacts
Invoice
- The invoice
statuschanges topaidif theamount_dueon the invoice becomes zero because of this payment. Otherwise, thestatusremains unchanged.
Payment Schedules
If a payment_schedule exists for the invoice, then the status of the appropriate schedule_entries[].status is updated to paid.
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 Valid 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 Valid 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-request-origin-user is ignored. |
chargebee-event-email |
String | No |
skip only emails Valid values:
|
Request body fields
| Name | Type | Required | Description |
|---|---|---|---|
payment_initiator |
String | No |
The initiator of this payment request. Sending this information can improve the success rate of the payment at the gateway. * merchant - The payment was initiated by you (the merchant). * customer - The payment was initiated by your customer. Valid values:
|
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 . |
authorization_transaction_id |
String | No |
The Required if
Prerequisites
Constraints
|
amount |
Integer | No |
Amount to be collected. Constraints
Default value
|
payment_source_id |
String | No |
The Required if
|
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.