Customer Wallet and Credits

Usage based billing requires you wait until the end of the billing cycle to capture revenue from customers. Paigo's Customer wallet and credit feature enables you to have customer's prepay for credits in order to capture revenue. Additionally the flexibility of Paigo's credit system enables you to use it for a variety of use cases beyond just prepaid credits, in cases of customer refunds you can additionally issue the credit as a note to be used for payment on later charges.

Creating Credits

Credits can be created and managed via the UI or API in Paigo.

UI/Dashboard

  1. Navigate to app.paigo.tech

  2. Go to the customer you want to issue credit for

  3. Select Actions > Update Customer Credit

  1. Choose to either issue new credit or reduce their current existing credits.

    See Considerations for Credits for implications with negative credits.

  2. Hit submit.

On the main customer page you should see their credit transaction in the Customer Wallet section.

API

To make the call to API directly please use or API documentation

Removing Credits

The process for removing credits is almost exactly the same as issuing credits. When choosing the amount of credits to issue in the UI simply select "Reduce Existing Credits" and reduce the amount of credits a customer has in their wallet. You additionally can provide a Reason which is great for tracking why a deduction occurred.

Offerings and Credit

Paigo additionally can automatically add credits to your customer's wallet when they sign up. By selecting a Free Trial Credit amount on an offering, when a customer is attached to that offering their credit amount will be added to their wallet to be used at the end of the billing cycle.

To add prepaid credits to an offering please select the Credit tab under the create offering.

additionally, the same action is available under the POST /offering endpoint in the API. See the docs for more information

Payments with Credits

If a customer has a balance of credits above zero the credits will be used first when a payment occurs through Paigo, such as transitioning an Invoice to Open status for a Stripe Customer. Partial payments for credits will be applied as well. As an example see the following case:

Partial Credit Payment Example

Suppose your Stripe customer SuperSaaS has $100.00 of credits in Paigo, and at the end of the billing cycle they owe $133.70. Paigo will first subtract the 100.00$ of credits from their account, committing a transaction to the credit ledger with invoiceId metadata for traceability. The remaining $33.70 will be charged directly to their associated stripe account with the invoiceId as metadata on the payment intent.

Full Credit Payment Example

In the case where credits exceed the charge required for a customer Paigo will simply substract the credits from their account and not charge their payment channel. For example suppose your customer LinkedOut has $50.00 of credit, and at the end of the billing cycle they have used $42.00 of credit. Paigo will deduct the $42.00 of credit from their wallet and commit the transaction with an invoiceId metadata field. No charge will occur on the supported payment channel.

Considerations for Credits

Below are some important considerations when issuing credits for a customer.

  • Credits are always issued in the selected currency of a customer, defaulted to USD if none is selected on a customer.

  • Customer's cannot change preferred currency unless their wallet is empty.

  • Customer's cannot have a negative balance of credits. So if a customer's balance is 5.00 and you want to issue -6.00 credits an error will be returned and the ledger will not be updated.

  • Credits currently have no expire date, but can be negated at anytime by committing a deduction to a customer's wallet.

Last updated