Participant‑only tournament voucher ordering for a sports brand's Korean online store

Period  — 

Participants in a tennis club tournament run by the brand could buy at a discount with a voucher on a members‑only page. I built the voucher ordering backend for it in about a week before the tournament.

Ordering backend that accepts only eligible products at the voucher price
and blocks duplicate payments by the same member

PythonShopify

  • API that returns only the products eligible for the voucher price
  • Order validation that checks each item's style and color against the voucher's item list and blocks anything else
  • Bundle products that showed as unavailable in staging tests, matched to their Shopify admin state

A voucher code shared by many

Problem
Many participants shared the same voucher code, so it could not identify duplicate payments.
Solution
Defined the cart key as a hash of the voucher code and the member ID. The same member with the same voucher always gets the same cart, and duplicate payments are rejected.

Closing the voucher period and held orders

Problem
Orders placed during the voucher period were held instead of being sent to the ERP. When the period ended, every held order had to go through.
Solution
After the period ended, I switched the voucher to inactive, released the hold and started the ERP integration. All 13 held orders reached the ERP in about 2 seconds, and no held orders remained.