This article covers:
Creating one-time charge using API/web interface
Prerequisites:
In case you've not created the customer already, follow the instructions here to create a new customer: Creating a new customer
If you wish to collect the payment online, you can use the Request Payment Method option to collect payment details, and set the Auto Collection feature On. If not, change Auto Collection to Off.
Create One Time Charge Invoice:
Once the customer has updated their card details, use the Add Charge option on the right-hand panel to create a one-off invoice for the customer.
If you’re an API user, call the Create Invoice for Charge API by passing customer_id instead of subscription_id for accomplishing this scenario.
Depending on auto collection settings, the invoice would be created either in Paid status or Payment Due status. For Payment Due invoices, click on the Invoice to go Invoice Details page and use the Collect Now option to collect payment if you have got a valid card on file. The API equivalent for this would be the collect payment for an invoice API.
Use the Record Payment option to record an offline payment against the invoice. The API equivalent is Record an invoice payment.
Note: If Auto Collection is On, and there's no payment method on file, then the error "Charge operation failed as there is no valid card on file" will be displayed and you won't be able to add the charge. In cases where the payment method is not present, it's recommended to turn off Auto Collection.
Related articles and documentation:
How can I handle one-time purchases with Chargebee?