You've got a reason to run an offer: a new class to fill, a launch to celebrate or regular customers you'd like to thank. Choosing a code is the easy part. The harder question is how much to give away—and whether that discount should apply once or keep reducing future payments.

This guide will help you choose an offer you can afford, set it up in Payhere and give customers clear instructions. You'll also find two messages to copy and a way to judge the results beyond the number of codes used.

To create a coupon code in Payhere, open Payment links → Manage coupons → New coupon, enter your code and discount, choose its duration and optional expiry, then click Create coupon. Enable Allow coupon codes on the payment link and check the price before sharing it. You'll need Stripe connected; coupons aren't supported on GoCardless Direct Debit payments.

Choose the discount before choosing the code

Start with one job for the offer. An early-bird discount should help fill places ahead of a date. A launch offer should encourage people to try something new. A loyalty reward should thank customers without leaving you unable to afford the next job.

Percentage or fixed amount?

Choose a percentage when prices vary and you want the same proportional reduction. For example, 15% off a £40 booking saves £6; on an £80 booking it saves £12. Payhere's percentage coupons work across currencies, so you don't need a separate fixed-amount code for each currency.

Choose a fixed amount when a clear cash saving is easier to understand. “£5 off your next workshop” is straightforward if you sell a £50 workshop. But that same £5 is a much bigger discount on a £10 item. In Payhere, a fixed coupon has one currency and only works on payments in that currency.

Before deciding, subtract the discount, delivery costs, materials and payment fees from the selling price. As an illustrative calculation, a £50 workshop with £30 in costs leaves £20 before a discount; taking £10 off halves that contribution to £10. More bookings aren't automatically a better result.

Decide the deadline, audience and eligible products

Write down who the offer is for, what they can buy, when it ends and the maximum discount cost you're comfortable with. These are planning decisions, not all settings you can enforce with a Payhere coupon:

  • Expiry: Payhere has an optional Expiration date. The code remains valid through the end of that date. For a one-off early-bird offer, use it to match your advertised deadline.
  • Limited uses: there is no coupon redemption-cap or one-use-per-customer setting. Don't promise “only the first 20 uses” and expect the coupon to enforce it. Once means one discounted payment, not one customer or one redemption.
  • Products: there is no per-coupon product allowlist. Allow coupon codes shows the entry field on a payment link; it doesn't assign a particular code to that product. Account coupons can work across links, subject to currency and expiry. Hiding the field isn't a secure product restriction.
  • Audience: sending a code privately is a distribution choice, not an eligibility check. A recipient can pass it on. Don't treat a loyalty code as proof that someone is an existing customer.

If a strict customer, product or redemption restriction is essential, check the approach with Payhere support before advertising it. Start with an offer whose terms you can actually honour.

Create your coupon code in Payhere

The screenshots below are local development UI captures with fictional demo data, not production transactions. The example codes and amounts illustrate the settings; they aren't live offers.

1. Open the coupon form and name your code

In Payment links, choose Manage coupons, then New coupon. Enter Coupon code using letters, numbers, hyphens or underscores. Payhere saves it in uppercase. Use a short, recognisable code such as LAUNCH15, and share the saved uppercase version exactly.

2. Enter the discount

Select Percentage and enter Percent off, or select Fixed amount and enter Amount off and Currency. For 15% off, enter 15—not the price you want the customer to pay.

If your link accepts quantities, check the complete purchase: a fixed discount is taken off the combined amount once, not once per item. An initial subscription setup fee is included in the amount the coupon discounts, so test that too if your link has one.

3. Choose how many payments receive the discount

For a one-off purchase, the coupon reduces that payment. For a subscription, Discount duration determines how it applies to later payments:

  • Once: the first payment only. A useful starting point for an introductory discount without permanently lowering your subscription price.
  • Limited: enter the Number of billing cycles. Three cycles means three monthly payments on a monthly subscription, but three annual payments on an annual subscription—not three months in both cases.
  • Ongoing: every recurring payment, while the coupon remains available and unexpired. Choose this only if you intend to keep offering the lower price.

If you want to delay the first charge rather than reduce it, see the free trial and payment plan guide.

4. Review expiry and create the coupon

Set Expiration date if appropriate, then review the code, amount, currency and duration. Coupons can't be edited after creation. When everything is right, click Create coupon.

For subscriptions, expiry is not just a sign-up deadline. Payhere checks the coupon again on renewals. If it has expired or been deleted, future payments lose the discount—even if you selected Limited or Ongoing. Don't set a launch-day expiry while promising three discounted monthly payments to everyone who joins that day. Ask support about your intended offer before making that promise; deleting a code is not a harmless way to close a subscription promotion.

Coupon form showing FIRSTCLASS, a 20% discount, Once duration, optional Expiration date and Create coupon button
Development UI example: Once discounts the first payment, not a single redemption of the code.

5. Show the coupon field and check checkout

Open the payment link you plan to share, select Advanced and check Allow coupon codes. Click Save changes (or Create payment link for a new link). Repeat for other links where customers need the coupon entry field. For other checkout controls, see payment link advanced settings.

Advanced payment link settings with Allow coupon codes checked
Development UI example: this checkbox makes the coupon entry field visible.

Open the customer-facing payment link, enter the saved code in Coupon code and apply it. Check the discount and resulting total before continuing to payment. For example, a £40 purchase with 15% off should show a £6 saving and a £34 total, assuming no other charges.

Try the quantities and currency you intend customers to use, and review the subscription's billing interval against your promised duration. If the code isn't accepted, check its spelling, expiry and—for a fixed discount—the currency. Checking the displayed price doesn't prove that a payment has succeeded; confirm any completed payment separately in your payment records.

Share the code with a clear offer

Send the payment link and code together, with the saving and any deadline beside them. For a subscription, say exactly which payments receive the discount and what the price becomes afterwards. “15% off” on its own leaves too much room for misunderstanding.

These are message templates, not automated Payhere messages. Replace every bracketed field before sending; only include terms your setup supports.

Early-bird message for a one-off booking

Booking ahead for [workshop name]? Use code [CODE] at [payment link] to save [percentage or amount and currency] on your booking. Enter the code in the Coupon code field and apply it before paying. The code expires on [date]. Your price after the discount is [amount and currency]. We'd love to see you there.

Loyalty thank-you for a one-off purchase

Hi [first name], thanks for supporting [business name]. Here's [percentage or amount and currency] off [offer name] as a thank-you. Visit [payment link], enter [CODE] in the Coupon code field and apply it before paying. The code expires on [date]. If you have any trouble, reply to this message and we'll help.

These templates deliberately use one-off purchases so a deadline doesn't conflict with promised future subscription discounts. A loyalty message doesn't make the code customer-locked or single-use.

Check whether the discount was worth it

Return to Payment links → Manage coupons. You'll see each code's Usage and the overall Times redeemed count. Click a code or its usage count to open the payments filtered by that code, then review the payment amounts and statuses.

Demo coupons list showing discount, duration, status, usage and Times redeemed
Development UI example with unused codes, not campaign performance data.

Treat that count as successful payment records associated with codes, not a count of new customers: recurring payments can contribute too. Review individual records rather than assuming every use represents someone the offer persuaded to buy.

For your own campaign notes, record how many people received the message, successful purchases, revenue after discounts and the cost of delivering those purchases. Payhere's usage count doesn't tell you how many recipients saw your promotion or whether they would have bought at full price. Compare the result with your original goal—such as filling otherwise empty workshop places—not just a higher sales count.

Start with one offer, check its price as a customer and share it with a small audience before sending it more widely. A clear discount you can afford is more useful than a clever code attached to terms you can't enforce.

Create a payment link for your coupon offer