AffStackDev Help

Sell gift cards

A gift card is a normal WooCommerce product with a few extra settings. Create one, decide what it is worth and who it goes to.

Create the product

Open Gift Cards and select Create draft gift card. You get an unpublished product named Gift Card, already set up the way a gift card must be: a simple product, virtual, tax status None, price 25. Change its name, description and picture in the normal WooCommerce product editor, then publish it when you are ready.

To turn an existing product into a gift card: it must be a simple product with a regular price and Tax status: None, and virtual (not virtual for a printed card you ship: see Physical gift cards); tick Gift card and open its Gift card tab. Variable products cannot be gift cards.

The Gift Cards tab
The Gift Cards tab

What is it worth?

Four ways, chosen on the product's Gift card tab:

Way The buyer pays The card is worth
Gift card equals product price the product's price the same
Separate fixed face value the product's price an amount you set (pay 25, get 30)
Customer selects a preset value one of your amounts (for example 25, 50, 100; up to 20 of them) that amount
Customer enters a value what they type, within your minimum, maximum and step (at the start 5, 500 and 1) that amount

Who is it for?

Setting Means
Purchaser only The card goes to the buyer.
Optional gift recipient The buyer may enter someone's email address, or keep it.
Gift recipient required The buyer must enter a recipient.

The buyer can add a message. One cart line is one recipient; to send cards to two people, the buyer adds the product twice. Quantity 2 on one line means two separate cards for the same person.

More settings on the same tab: how many cards per order (10 at the start, at most 20), an expiry (days after the card is issued; 0 means never), scheduled delivery (the buyer picks a date), what the card may be spent on, and whether it may be combined with coupons when spent.

A gift card product page, as a visitor sees it
A gift card product page, as a visitor sees it (the top of the screen; select the picture to see all of it)

Card designs

Give the buyer pictures to choose from. On the product's Gift card tab, under Card designs, select Choose pictures and pick up to 12 pictures from the Media Library, or type their IDs into Design pictures. The first one is the standard design.

On the product page the buyer sees the pictures under Card design and picks one. The chosen picture is at the top of the gift card email, on the card in My Account and on the printable card. The cart and the order name it (Card design) with the picture's Alternative text from the Media Library, so give your pictures a good alternative text.

If you delete a picture from the Media Library, it leaves the product the next time you save the product, and cards that used it are shown without a picture. Their value does not change.

Physical gift cards

A printed card you put in the parcel. Tick Physical card (shipped) on the Gift card tab and untick Virtual in General, so WooCommerce asks for a shipping address and charges shipping.

A physical card has no delivery date and takes no top-ups.

When the card is sent

When the order is paid: status Processing or Completed. Nothing is issued for a pending, on-hold or failed order. For cash on delivery the card waits until the order is Completed.

The recipient gets an email with the card design, the value, the code, the message and how to use it. The email is WooCommerce's Store credit / gift card issued email; its on/off switch and wording are under WooCommerce → Settings → Emails.

Gift cards cannot be bought with store credit or a gift card, and a coupon does not reduce their price. That keeps anyone from turning a discount into spendable value.

What the recipient does

Holder cards

A holder card works like cash: it has no recipient and no email, and whoever has the card can spend it. Off at the start: in Settings, tick Allow holder gift cards (printed cards that anyone holding them can spend).

Each card has a number like GC-7K3M-Q9TD-2XWR-H5PN and, if you want, a 6-digit PIN that you hide under a scratch-off label. The shopper types the number and the PIN together in the coupon field, for example GC-7K3M-Q9TD-2XWR-H5PN-482913; spaces and lower case are fine. A shopper who links the card in My Account makes it theirs, so a lost card can no longer be spent by someone else.

To sell them online: On a physical gift card product, tick Holder card (anyone holding it can spend it) and PIN under a scratch-off. Each paid card is printed from the order (Printable card (PDF)) and shipped; no email is sent. Cover the box with the PIN and the QR code with a scratch-off label.

To print a stack for the shop or an event: in Gift Cards → Holder gift cards, under Make a batch: a name, how many cards (up to 500), a value (or leave it empty and enter it when each card is sold), PIN or no PIN, and an expiry. Then, in Batches:

Unsold cards are worth nothing. When you sell one, enter its number under Activate a card when it is sold (and the value, if the batch has none) and select Activate card. For an event where every card has the same value, Activate cards 1 to 50 at once. If a stack is lost or stolen, Void unused cards: those cards can never be activated.

Adding money to a card

Let customers add money to a gift card they already have. Tick Top-ups on a gift card product (not a physical one) and publish it.

In My Account → Gift Cards the customer then sees Add money on each of their gift cards that has no expiry date. It opens that product with the card chosen ("Adding money to your gift card …"). They choose an amount the product allows and pay. When the order is paid, the amount is added to the same card, with the same code; there is no new card and no new email. Their history shows Topped up.

To refund a top-up order, follow Refunding an order that contained a gift card: step 2 takes the added amount back off the card, as long as it was not spent.

Every gift card and store credit has a printable page (PDF): your store's name, the card design, the value, the code with a QR code, the balance when printed, the expiry, the sender and message, and how to use it. The page is Letter size for stores in the United States and Canada, A4 elsewhere.

The QR code opens your cart with the code. When the cart has products, the code is applied by itself; when the cart is empty, the page says the code is ready and applies it as soon as products are in the cart. The usual rules still apply: a card sent to an email address needs that address as billing email.

Refunding an order that contained a gift card

Do this before you refund anything on that order, even when the refund is for another item in it:

  1. Open the order. In Purchased gift cards, tick the confirmation.
  2. In Order actions choose Permanently stop and revoke purchased gift cards (no cash refund) and apply.
  3. Then make the normal WooCommerce refund.

Step 2 cancels cards that were not used, and takes money this order added to a card (a top-up) back off that card. It applies to all gift cards of that order and cannot be taken back. If a card was already spent, the order is not ready for a refund until you have sorted that out.

If your product page shows no gift fields

Themes with a block-based product template sometimes leave out the place where the amount and recipient fields go. Put this shortcode on the product page, with the product's ID: [afsd_store_credit_purchase product_id="123"]