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

Impacts

Invoice

  • The invoice status changes to paid if the amount_due on the invoice becomes zero because of this payment. Otherwise, the status remains 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

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:

  • "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

Valid 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

Valid values:

  • "all-disabled"

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:

  • "merchant"
  • "customer"
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 id of the transaction that is used to authorize the payment. (The transaction's type must be authorization.)

Required if

  • payment_source_id is not passed.

Prerequisites

  • The transaction.fraud_flag must be safe.

Constraints

  • Applicable only for card payments via Stripe.
amount Integer No

Amount to be collected.

Constraints

  • Must be less than or equal to the invoice.amount_to_collect or the transaction.amount if authorization_transaction_id is passed, whichever is lesser.

Default value

  • When not passed, then invoice.amount_to_collect is assumed.
payment_source_id String No

The id of a valid payment_source associated with the customer.

Required if

  • authorization_transaction_id is not passed.

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.