Store Credit

Add store credit to a customer's balance and apply it toward new orders or upcoming recurring transactions, from both the UI and the API.

Store credit is a great way to reward your best customers and keep them coming back. Drop a credit on a VIP's account, thank a long-time subscriber, or sweeten a loyalty or win-back offer — the credit lands in the customer's balance and is theirs to spend.

It's also a smart alternative to a straight refund. Instead of handing money back, offer a one-time credit toward the customer's next renewal or their next order. You keep the revenue in your ecosystem, smooth over a billing hiccup or service issue, and give the customer a reason to stick around for the next cycle.

Once a credit is on the balance, it's flexible: apply it to a brand new order at checkout, or knock it off an upcoming recurring charge. Need it to expire? Set an expiration date and Vrio stops counting it once it lapses.

📘

Key Takeaways

  • Store credit is a manual credit you add to a customer's balance.
  • The balance is a single pool — once added, it can be applied to any of the customer's orders or transactions.
  • Credit can be applied at order time (new orders/checkout) or to an upcoming recurring transaction, in both the UI and the API.
  • An optional expiration date removes the credit from the available balance once it passes.
  • Permissions: Store Credit – Request access can submit a credit for approval; Store Credit – Process access adds it immediately.

How to Add Store Credit

In the UI

  1. Open the customer record.

  2. Click Customer Actions.

  3. Select Add Store Credit.


  4. Enter the details:

    1. Credit Total — the dollar amount to add. The form shows the customer's current balance for reference.
    2. Expires On (optional) — leave blank for a credit that never expires, or choose a date after which it no longer counts toward the available balance.
  5. Click Submit.



📘

Pending vs. Immediate

  • With Store Credit – Request access, the credit is created as Pending Approval and does not count toward the balance until someone with Process access approves it.


  • With Store Credit – Process access, the credit is added and available immediately.


Over the API

Add a credit with the POST /customers/{customer_id}/credits endpoint. The customer is identified in the path; the body takes:

FieldRequiredDescription
order_reward_totalYesThe dollar amount to add (e.g. 25.00).
date_expireNoExpiration date (YYYY-MM-DD). Omit for a credit that never expires.

The same permission rules apply, and the response returns the customer's updated balance.


How to Use Store Credit

A customer's balance can be applied in two places: when placing a new order, or against an upcoming (scheduled) recurring transaction. Both are available in the UI and the API, and both validate against the customer's available balance.

On a New Order

In the UI

When you place a new order for a customer who has an available balance, the order form shows a Customer Balance field (capped at the amount available). Enter how much of the balance to apply, and it's deducted from that order's total.


Over the API

When you process an order, include apply_customer_balance in the request body to the POST /orders/{order_id}/process endpoint (or /orders/{order_id}/authorize). Vrio validates it against the available balance and spreads it across the order's transactions.

FieldRequiredDescription
apply_customer_balanceNoDollar amount of the customer's balance to apply to this order. Must not exceed the available balance.

On a Recurring (Upcoming) Transaction

In the UI

  1. Open the customer record and locate the upcoming/scheduled transaction.

  2. Click Actions on that transaction.

  3. Select Apply Customer Balance.


  4. Enter the amount to apply — the form displays the customer's available balance.

  5. Click Submit.


The transaction total is reduced by the amount applied, and the balance is reserved against that transaction.


Over the API

Use the POST /transactions/{transaction_id}/apply_balance endpoint (only valid when the transaction status is scheduled or pending). The transaction is identified in the path; the body takes:

FieldRequiredDescription
apply_customer_balanceYesDollar amount to apply. Must not exceed the available balance.
transaction_notesNoOptional note added to the transaction history.
🚧

More than the balance?

If you try to apply more than the customer has available, Vrio rejects it and tells you the amount requested versus the amount available. If the customer has no available balance, the action isn't offered.


How the Credit Affects the Total

Store credit works like a gift card or cash — not like a discount. It comes off the final amount, after the subtotal, any discounts, shipping, and tax have all been calculated:

Total charged = Subtotal + Tax − Store Credit Applied − Gift Card Applied

Because it's taken off at the end:

  • It reduces what the customer is charged, not the taxable amount — tax is still calculated on the full order.
  • It can't exceed the transaction (or order) total — applying credit can't drive a charge below zero.
  • On an order that bills as multiple charges, the applied amount is spread proportionally across them.

When Applied Credit Comes Back

If a transaction that has store credit applied doesn't ultimately collect, Vrio returns the applied amount to the customer's available balance so it can be used again. This happens when:

  • A scheduled transaction is skipped or cancelled before it charges — the reserved credit is released back to the balance.
  • A charge declines — the applied credit is released back to the balance.
  • A charge is voided — the credit applied to that charge is returned to the balance.

How the records are handled depends on whether the charge was attempted:

  • For a skipped or cancelled transaction (never charged), the applied amount is cleared from the transaction and its total is restored.
  • For a declined or voided charge, the transaction keeps the totals that were sent to the gateway — so the history reflects what was actually attempted — and only the customer's available balance is restored.
🚧

Declines do not carry the credit into dunning

If a charge declines, the applied credit is released back to the customer's available balance — it is not automatically re-applied to the retry. The dunning retry runs at the full amount. If you want the credit applied to the retry, re-apply it manually to the upcoming transaction.


Viewing the Balance

A customer's available balance and full history live on the Customer Balance section of the customer record:

  • Store Credit — credits added to the balance.
  • Balance Used — where the balance has been applied.

You'll also find a view balance history link wherever the balance is referenced (for example, on the order form). Over the API, the GET /customers/{customer_id}/balance endpoint returns the customer's current balance and history.


Editing, Approving & Removing Credit

  • Approve or Cancel a pending credit — a user with Store Credit – Process access can open a pending credit and Complete it, which makes it available in the balance, or Cancel it to remove it.


  • Edit a credit — open the credit to change the amount or expiration date. (A completed credit can only be edited by a user with Process access.). To remove it, you can edit its value to 0


📘

Expiration

A credit with an Expires On date stops counting toward the available balance once that date passes. Credits with no expiration date remain available indefinitely.