Online Gift Codes

Printer-friendly versionPrinter-friendly version

This documentation was modified on 10/1/2021 to include new process for issuing partial refunds to online only giftcodes.

The IndieCommerce platform’s Online Only Gift Code feature is an integrated gift code feature that allows for the purchase, redemption, and management of an e-gift code system right within an IndieCommerce site.  This feature is a great alternative for stores that do not currently use Givex as their gift card provider.

Please keep in mind that these codes can be used on books, as well as any custom products your store has created.  Gift codes cannot be used for eBooks and audiobook purchases.

The Online Gift Code feature includes:

  • The creation of an ‘Online Only Gift Code’ product that customers can purchase to be sent to a recipient via a valid email address.

    • Customers can purchase a code in any amount and send a custom message.
    • Multiple codes for different recipients can be purchased on an order.
    • Gift Codes can be delivered on a specific date, if one is specified.
  • A new payment method, ‘Online Only Gift Code’, to allow redemption of these codes for an order placed on the site.

    • This payment method also allows for the remaining order balance to be paid for with another payment method, such as a credit card.
  • An automated system that emails the gift code to the recipient or schedules the code for delivery on the indicated date, upon the order being marked ‘Completed’.
  • Email customization for messages sent to recipients and customers for the online gift codes.
  • Management tools and abilities such as:

    • Creating codes without an order.
    • Creating online gift codes in bulk.
    • Balance adjustment directly on the IndieCommerce site (add or subtract a balance, cancel codes).
    • Overview of all codes created on the site.

NOTE: The ‘Online Only Gift Card’ module needs to be enabled for your site. Please send us a request from the Store Features page Store > Configuration > Account Information and Preferences > Store Features.


Navigate to: Content > Add Content > Online Only Gift Code

  1. Fill in the ‘Name’ - Example: Online Gift Code
  2. Add a description of your choice
  3. Assign a SKU of your choice for the product - Example: ONLINEGIFTCODE01
  4. Confirm the List and Sell Price are set to $0.00
  5. Confirm 'Product is shippable' is NOT selected
  6. Submit


Navigate to: Structure > Content Types > Online Only Gift Codes > Manage Display

  1. Change the ‘Format’ to ‘Hidden’ for the following fields:

    • Display Price
    • List Price
    • Cost
    • SKU
    • Sell Price
  2. Save

Repeat steps 1 and 2 for ‘Teaser'

Once the product has been created, be sure to make the product page easily accessible to your customers. Some suggested methods for doing so are adding the SKU to a booklist, listing the page in a menu, and creating a block that links to the page.


Now that you have created the ‘Online Only Gift Code’ product, it can be sold on your site as a product. Orders will be submitted in the same way all orders are and will need to be completed just as other orders are. These gift codes can be gifted by one customer to another, and stores can create gift codes in bulk for distribution.


Customers will have the option to provide a delivery date when purchasing an ‘Online Only Gift Code’.  This is a date that a customer would like the recipient to have the code on, such as the case for a birthday or a holiday, and customers can purchase multiple codes with different delivery dates on the same order.  

The delivery date, if a customer wants to use one, needs to be in YYYY-MM-DD format and must be at least 24 hours ahead of the purchase date.  Customers could choose the next day as the delivery date and it is based on the assumption that the store will process orders the day they were received.

If this field is left blank by the customer, no delivery date will be attached to that online gift code and will be delivered to the recipient as soon as the store staff ‘completes’ the order.


When a customer adds a gift code to their cart and completes checkout, they must include a valid recipient email address.  When a staff member marks the order ‘completed,’ a notification email is sent to the recipient with their gift code. A confirmation of it being sent is emailed to the customer who ordered it.

Navigate to: Store > Orders

  1. View the order
  2. Set the ‘Order Status’ to ‘Payment Received’ and then to ‘Completed’
  3. Update

You should see the following admin comments:

  • Gift code #### has been emailed to  (email address for recipient)
  • A notification email has been sent to the customer who ordered the gift code
  • Order Updated

For orders of Online Only Gift Codes with a delivery date, the process above remains the same; the order must be marked ‘Completed’ to schedule the gift code for delivery on the date input by the customer.

Once an order for an online gift code with a delivery date has been moved to ‘Completed’, you should see the following admin comments:

  • Gift code #### worth $XX.XX will be emailed to  (email address for recipient) on (delivery date input by customer).

The email will be sent out to the recipient automatically on the requested date.  On the delivery day, additional admin comments will appear on the order, confirming the code has been sent out:

  • Gift code #### has been emailed to  (email address for recipient).

A notification email will be sent out on the delivery date to the customer who purchased the code as well, confirming that the gift code was sent.


Sometimes, you may want to create and send an online only gift code without placing an online order for it. For instance, if a customer came into the store to purchase one, or perhaps you’re sending it as a ‘Thank You’ for a particularly loyal customer. In either of those instances, though there is no ‘charge’ through the website for the gift code, you may still generate and email one to the recipient.

Navigate to: Store > Configuration > Online Only Gift Code > Create/Adjust/Balance

  1. Expand ‘Create and Email An Online Only Gift Code’
  2. Enter the provided email address for the recipient, the amount for the gift code and any ‘Message for the recipient’ the purchaser requested.
  3. Create and Email Gift Code (you should see an admin comment: Gift code ##### has been e-mailed to ‘email address of recipient’.)
  4. Delivery date feature is not available for codes created via this method.


You may want to create ‘Online Only Gift Codes’ in bulk to sell in the store or have ready to provide as a courtesy to customers.  Delivery date feature is not available for codes created via this method.

Navigate to: Store > Configuration > Online Only Gift Code > Create/Adjust/Balance

  1. Expand 'Create Bulk Online Gift Codes’
  2. Enter the number of gift codes you want to generate and the value of each code
  3. Select 'Create’

You can now see the  list of codes that were generated, and there are a few different options from here:

  1. Assign a code directly to a customer by selecting ‘edit’ for a code

    • Enter the recipient's email and click update, you should then notify them of the gift code.
  2. Download a CSV file of all of the bulk codes available:

    • Though the codes are removed from the ‘Bulk’ list when used, this is helpful to keep track of which codes are sold and you have the option to add other columns in Excel (or OpenOffice, Numbers etc.)
  3. Use the list of codes to create and print your own certificates to sell in the store.

    • If you’re already selling gift certificates in store and manually keeping track of balances this would be a greatly enhanced alternative as the system will automatically calculate balances after each use.
    • After selling a printed gift certificate with one of these codes, we recommend you keep some record of the code and who it was sold to. You can come back to this page, select edit and fill in the name of the person it was sold and/or the name of the person who will be using it or you can use a method of record keeping that works best for you. 


After a customer receives their code, they can navigate to your site and start shopping.  The code can be used to purchase books and any custom products created on your site. Gift codes CANNOT be used on Kobo eBooks, or to purchase another gift code.

When your customer is on the Checkout page and ready to complete their order, they should select 'Online Only Gift Code' as their payment method and select the link that reads 'Check your balance to continue’, then they can proceed with checking out as usual.


  • If the balance on the gift code does not cover the entire purchase, the customer will be prompted to enter a credit card number to cover the balance
  • A customer may use up to two gift codes to complete their purchase. They should be entered into the same line using a comma to separate them.
  • This is not to be confused with the field to enter a coupon code.


  1. Check Balance - Check the remaining balance on a gift code:

    • CUSTOMER: Go to

      • Select ‘Balance Check’/‘Transaction History’
      • Enter the ‘Gift Code’ and select ‘Balance Check’ or ‘Transaction History’
    • STORE ADMIN: Navigate to Store > Configuration > Online Only Gift Code > Create/Adjust/Balance

      • Select 'Balance check/Transaction history
      • Enter the gift code number
      • Select ‘Balance Check’ or ‘Transaction History’
  1. View All Active Gift Codes -  You can review all active gift codes generated through your website at any time. These pages help keep track of all gift codes, their remaining balances, when they were created, their delivery date (if applicable) and the emails associated with them.

Navigate to: Store > Configuration > Online Only Gift Code > View

  • You can then select from three different lists:

    • Store (codes emailed by store either created individually or in bulk)
    • Order (codes purchased by customer and created automatically upon marking the order complete)
    • Bulk (codes generated by the store not yet used).  

NOTE: You can also cancel a code from this page if necessary.  If a code scheduled to be sent out to a recipient is canceled prior to the delivery date, the code will not be sent.


Before making adjustments to a gift code, check the balance to make sure that you have the correct information.

Navigate to: Store  > Configuration > Online Only Gift Code > Create/Adjust/Balance

  1. Expand ‘Adjust Amount On Existing Gift Card’
  2. Enter the existing gift code
  3. Enter the ‘amount’ to be added or subtracted
  4. Enter the reason for the adjustment
  5. Select ‘Add’ or ‘Subtract’

    • Add:

      • If a customer returns part of an order purchased with a gift code, you can return the funds to the original code.
      • If you need to refund an entire purchase and the order is 'Payment Received,' change the order status to 'Canceled.'  The balance will be adjusted and the transaction history will reflect this credit.
      • If you need to refund an entire purchase and the order has already been marked 'Completed,' enter the full amount and click add.(The order status is not changed, but the gift code balance is adjusted)
      • We recommend you also add an ‘Order Comment’ on the order itself to share details with your customer and/or an ‘Admin Comment’ to share details with staff only.
    • Subtract:

      • While these codes are intended for use online, if you so chose, they can also be redeemed in store, if you have access to your site at the counter.  Simply enter the customer's gift code, the amount purchased, detailed comments, and click subtract.  This must be done at the time of purchase, to ensure that the code has enough funds to cover the amount of the in-store purchase.


Before issuing a partial refund to a gift code, check the balance to make sure that you have the correct information.

  1. Navigate to the order
  2. Click Refund GC in the Payment Pane
  3. Enter the amount to be refunded to the giftcode
  4. Select the Gift Code authorization
  5. Click Refund

Once this button has been clicked, the amount refunded to the giftcode will be reflected in both the Admin Comments and in the Payments tab on the order.


There is some customization allowed for the notifications that get sent regarding ‘Online Only Gift Codes’.

Navigate to: Store > Configuration > Online Only Gift Code > Settings

Here you can modify:

  1. The subject of the outgoing email to the recipient
  2. The message that appears after a customer purchases a gift code
  3. The confirmation email that is sent to the purchaser of the code.

    • In order to modify the message, you should be familiar with the concept of Replacement Patterns.  Basically, there are different tokens surrounded by [brackets] that signify different elements in the message.  There is a glossary of tokens located on the page.
  4. An image can also be uploaded to be added to the outgoing messages to the recipient or to the customer (or both!)


Navigate to: Store > Configuration > Online Only Gift Code > Settings, and scroll down to ‘Upload Image’.

  1. Click ‘Choose file’ to browse your device for the image you want to upload.
  2. Once you’ve selected the image in the file browser, click ‘Upload’ to officially upload the file to the site.  A successful upload will display a link with the file name.

    • If you wish to remove or replace an uploaded file, you can use the ‘Remove’ button to do so.
  3. Now that the image has been uploaded, you can use a token to represent it in the email body for the message to either the recipient, the customer, or both.

    • This token can be found in the glossary, under ‘Replacement Patterns’ > ‘Online_Giftcode Replacement Patterns’, and should be under ‘Gift Code Image’, with the token: [online_giftcode:gift-code-image]
  4. Paste the entire token (including the brackets) into the message you want to customize.
  5. To preview the changes you’ve made, use the ‘Preview’ button below the token glossary.  This will generate a pop-up window with a sample of the email that’s sent to the recipient or the customer.

Don’t forget to ‘Save Configuration’ after making any changes.


A store that has its own version of an eGift program or would like to call this by a different name can customize this feature to work with their existing program.

Navigate to: Store > Configuration > Payment Methods

  1. Select ‘Settings’ for the ‘Online Only Gift Code’
  2. Complete the form:

    1. Header  - This will be the name used for the payment type during checkout. Example: eGift Card
    2. Description - This description will appear during checkout. Example: Do you want to pay with your eGift card?
    3. Label - This is the label that will appear above the input text field. Example: eGift Card Number
  3. Save Configuration

We recommend you review the checkout screen to confirm the appropriate information displays correctly.


The ‘Variable Price’ module enables a feature for a specific product class and the nodes created under that product class, that will allow customers to pay what they want for that product.

NOTE: This feature will be enabled on IC sites upon request. If you would like to give it a try, please send us a request from the Store Features page (Store > Configuration > Account Information and Preferences > Store Features).


Navigate to: Store > Products > Manage Classes

NOTE: If you have not previously created the product class/product nodes you wish to enable this feature for, you can find instructions to do so here: “Creating Custom Products”. Please create the product classes before adding the ‘Variable Price’ feature.

  1. Select ‘Edit’ for the class for which you want to enable ‘Variable Price’
  2. Expand ‘Default Variable Price Product Feature’
  3. Select ‘Check this box to add a default feature to every product of this class using these settings’
  4. Customize ‘Price Settings’ (optional)

    1. Default price - This is the amount that will display in the ‘Amount’ field by default
    2. Minimum price - If there is a minimum price for the item, enter it here. Customers will be prevented from ordering the item at a lower cost.
    3. Maximum price - If there is a maximum price for the item, enter it here. Customers will be prevented from ordering the item at a higher cost.
  5. Customize ‘Add To Cart Form Element Titles’ (optional)

    1. Select ‘Override the title of the add to cart button’

      • Enter a new title under ‘Add to cart button title’ - for example, if this were for a ‘Donation’, you might make the title “Make Donation”
    2. Select ‘Override the title of the amount field for the price on the add to cart form’

      • Enter a new title under ‘Amount field title’ - for example, if this were for a ‘Donation’, you might make the title “Donation Amount”
  6. Save

Once you have enabled the ‘Variable Price’ feature for the product class you can attach it to the product node(s) within that class.


Navigate to: Content

  1. Select the Content type and click ‘Apply’
  2. Select ‘Edit’ for the item
  3. Select the ‘Features’ tab
  4. Confirm ‘Add a new feature’ is set to ‘Variable price’ and click ‘Add’
  5. If you need to make any product specific customizations to the ‘Price Settings’ or ‘Add to Cart Form Element Titles’ different from what you entered for the whole product class, you may do so here.
  6. Save Feature

NOTE: When viewing the product you will notice that the ‘Amount’ field is no longer a set price or a drop down menu of prices. Instead, it is a field in which your customer can type in the price they wish to pay for the item. For that reason, it is VERY IMPORTANT, you enable this feature with caution. The price entered into such field will override any previous pricing you had entered for the product.


If you intend to enable the ‘Variable Price’ feature for ‘Gift Cards/Gift Certificates’ you will first need to remove the ‘Amount’ Attribute that has already been set-up for it.

Navigate to: Content

  1. Select the Content type (for this example Gift Certificate) and click ‘Apply’
  2. Select ‘Edit’ for the item
  3. Select the ‘Attributes’ tab
  4. Select the ‘Remove’ checkbox for ‘Gift Certificate Amount’
  5. Save Changes

Then proceed with steps 3-6 from the above “ATTACH ‘VARIABLE PRICE’ TO THE PRODUCT NODE(S)” section.

Haven’t created any gift card products yet? Start here: ‘Creating Gift Cards As A Product For Sale


After enabling this feature for a product class you will need to manage the display to hide any other ‘Price’ information. Along with any unnecessary fields that weren’t previously hidden.

Navigate to Structure > Content Types> Donations (or the content of your choice)> Manage Display

  1. Modify all sections under ‘Format’ as desired (we recommend making the SKU, Display price, List price, Cost and Sell Price hidden)
  2. Save

Repeat steps 1-2 for the teaser as well.



IndieCommerce Help Documents


About ABA

The American Booksellers Association, a national not-for-profit trade organization, works with booksellers and industry partners to ensure the success and profitability of independently owned book retailers, and to assist in expanding the community of the book.

Independent bookstores act as community anchors; they serve a unique role in promoting the open exchange of ideas, enriching the cultural life of communities, and creating economically vibrant neighborhoods.


PRESS INQUIRIES: [email protected]

INDIECOMMERCE: [email protected]

ALL OTHER INQUIRIES: [email protected]



Copyright 2024 American Booksellers Association. BookWeb is a registered trademark of ABA.
Privacy Policy, Cookie Policy, Accessibility Statement