ChargebeeAPI

Collect payment for an invoice

Idempotency Supported
Try in API Explorer

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 status must be payment_due, posted, or not_paid.
  • The invoice channel must not be app_store or play_store.
  • The invoice's amount_to_collect must be greater than 0.
  • A valid payment_source must be associated with the customer.

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.

Sample Request

URL Format

POST https://[site].chargebee.com/api/v2/invoices/{invoice-id}/collect_payment

Input Parameters

amount
optional, in cents, min=1

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.
authorization_transaction_id
optional, string, max chars=40

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.
payment_source_id
optional, string, max chars=40

The id of a valid payment_source associated with the customer.

Required if

  • authorization_transaction_id is not passed.
comment
optional, string, max chars=300

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 .

payment_initiator
optional, enumerated string

The initiator of this payment request. Sending this information can improve the success rate of the payment at the gateway.

Possible Enum Values
customer

The payment was initiated by your customer.

merchant

The payment was initiated by you (the merchant).

Returns

invoiceInvoice object

Resource object representing invoice

transactionTransaction object

Resource object representing transaction