About This Article
Coupons issued through point conversion have constraints to prevent fraudulent use. This article explains coupon specifications and their design rationale.
Basic Coupon Specifications
Characteristics of Issued Coupons
Coupon Code Format
Format: [Last 5 digits of customer ID]-[Random 6 characters]-[Point amount] Example: 70934-AB12CD-500
Benefits: Content visible from code, no duplicates, easy inquiry handling, difficult to generate fake codes
Constraint Details
Usage Count Limitation
At point conversion: 500pt consumed → 500 yen coupon issued
Customer-Specific Constraint
Shopify coupon settings:
- customer_selection: "specific"
- prerequisite_customer_ids: ["12345"]
Enter coupon code on checkout screen
Is code valid? → Yes / Is this customer eligible? → Check customer ID
Match → Apply discount / Mismatch → "This code cannot be used"
Validity Period Design
Expired handling: Expired coupon → Cannot use, Consumed points → Not returned, Advance reminder → Under consideration
Fraud Prevention Measures
Anticipated Fraud and Countermeasures
Brute Force Prevention
Code format: 70934-AB12CD-500
Brute force difficulty:
- Even at 100 attempts/second, testing all patterns takes ~240 days
- Plus rate limit of 60/minute
Additional measures: Temporary account lock on consecutive failures, detect abnormal patterns and alert
Conversion Rate and Limits
Points to Amount Conversion Rate
Base rate: 1 point = 1 yen
Future extensibility:
- Campaign: 1pt = 1.5 yen
- Member rank: Gold = 1pt = 1.2 yen
- Design to be configurable
Conversion Limits
Customer Display
Coupon Information Display Items
Usage Instructions
Add products you want to purchase to cart
Go to checkout screen
Look for coupon input field on checkout screen
Example: 70934-AB12CD-500
Apply the coupon
Subtotal: 5,000 yen → Coupon: -500 yen → Total: 4,500 yen
Benefits of This Design
Security
- Minimize fraud risk
- Limit damage even if issues occur
- Traceable design for easy problem identification
Customer Experience
- Clear, easy-to-understand amounts
- Copy function reduces input effort
- Sufficient validity period for stress-free use