Skip to main content

Overview

GatePass offers multiple payment options to purchase NFT-based event tickets, including cryptocurrency, credit cards, and mobile money across Africa. This guide covers the entire ticket purchasing flow.

Discovering Events

Browse available events through the event marketplace:

Search and Filter

Navigate to the Browse Events page and use filters:
  • Search - Find events by name, venue, or city
  • Category - Filter by event type (Music, Tech, Sports, etc.)
  • Location - Find events near you or in specific cities
  • Date Range - Search events within specific timeframes
  • Price Range - Filter by ticket price

Location-Based Discovery

Find events near your current location:
Geolocation Search
// Get user's location
navigator.geolocation.getCurrentPosition(async (position) => {
  const { latitude, longitude } = position.coords;
  
  // Search events within 50km
  const response = await fetch(
    `https://api.gatepass.com/events?lat=${latitude}&lng=${longitude}&radiusKm=50`
  );
  
  const { events } = await response.json();
  console.log(`Found ${events.length} events nearby`);
});

Purchase Flow

1

Select Event

Click on an event card to view full details including:
  • Event description and schedule
  • Venue location and directions
  • Available ticket tiers and pricing
  • Remaining ticket availability
2

Choose Ticket Tier

Select your preferred ticket tier:
Ticket Tiers Example
{
  "tiers": [
    {
      "id": "tier_001",
      "name": "Early Bird",
      "description": "Limited early bird pricing",
      "price": 5000,
      "available": 23,
      "saleEnd": "2026-04-01T00:00:00Z"
    },
    {
      "id": "tier_002",
      "name": "General Admission",
      "description": "Standard entry ticket",
      "price": 8000,
      "available": 387,
      "saleEnd": "2026-06-14T23:59:59Z"
    },
    {
      "id": "tier_003",
      "name": "VIP Pass",
      "description": "VIP access + exclusive perks",
      "price": 25000,
      "available": 12,
      "saleEnd": "2026-06-14T23:59:59Z"
    }
  ]
}
Group discounts may apply when purchasing 10+ tickets.
3

Select Quantity

Choose the number of tickets (subject to tier limits):
  • Maximum per person varies by tier (typically 5 tickets)
  • Group discounts automatically applied at checkout
  • Real-time availability checking
4

Choose Payment Method

GatePass supports multiple payment options:
Pay with cryptocurrency (ETH, MATIC, USDC):
  • Instant NFT minting - Tickets minted directly to your wallet
  • No intermediaries - Direct on-chain transaction
  • Lower fees - Only network gas fees apply
Ensure you have sufficient balance for both the ticket price and gas fees.
5

Complete Payment

Finalize your purchase based on payment method:
// Connect wallet and approve transaction
const { ethereum } = window;
const provider = new ethers.providers.Web3Provider(ethereum);
const signer = provider.getSigner();

// Get ticket contract
const ticketContract = new ethers.Contract(
eventContractAddress,
EventTicketABI,
signer
);

// Mint tickets
const quantity = 2;
const ticketPrice = await ticketContract.ticketPrice();
const totalCost = ticketPrice.mul(quantity);

const tx = await ticketContract.mint(quantity, {
value: totalCost
});

await tx.wait();
console.log('Tickets minted!');
6

Receive Ticket

After successful payment:
  1. NFT Minted (Crypto) or Order Confirmed (Fiat)
  2. Ticket PDF Generated - Download secure PDF ticket with QR code
  3. Email Confirmation - Receive ticket details via email
  4. Wallet/Dashboard - Access tickets in your account

Your Ticket Includes

  • Unique Ticket ID
  • Event details (name, date, venue)
  • QR code for check-in
  • Seat/tier information
  • Organizer contact
  • Blockchain verification data

Order API Reference

Initialize Order

curl -X POST https://api.gatepass.com/orders/initialize \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -d '{
    "eventId": "clxyz123abc",
    "tierId": "tier_002",
    "quantity": 2,
    "paymentMethod": "FIAT",
    "gateway": "paystack",
    "customerEmail": "[email protected]",
    "customerName": "John Doe"
  }'

Response Format

Success Response
{
  "ok": true,
  "orderId": "order_xyz789",
  "reference": "GP-clxyz123abc-1709234567-a1b2c3d4",
  "checkoutUrl": "https://checkout.flutterwave.com/pay/xyz123" // For Flutterwave
}

Verify Payment (Flutterwave)

After redirect from Flutterwave:
Verify Transaction
curl "https://api.gatepass.com/orders/verify-flutterwave?transaction_id=123456&tx_ref=GP-xxx" \
  -H "Authorization: Bearer YOUR_TOKEN"

Order Model Schema

Orders are tracked with these fields:
id
string
required
Unique order identifier
totalAmount
float
required
Total order amount including platform fees
quantity
integer
required
Number of tickets purchased
currency
string
required
Payment currency (NGN, USD, etc.)
paymentMethod
string
required
Payment method: CRYPTO, CREDIT_CARD, MOBILE_MONEY
paymentStatus
string
default:"PENDING"
Order status: PENDING, COMPLETED, FAILED, REFUNDED
paystackReference
string
Paystack payment reference (if applicable)
flutterwaveReference
string
Flutterwave transaction reference (if applicable)
blockchainTxHash
string
Blockchain transaction hash (crypto payments)

Payment Gateway Configuration

Gateways are automatically selected based on currency:
CurrencyDefault GatewayAlternatives
NGN πŸ‡³πŸ‡¬PaystackFlutterwave
GHS πŸ‡¬πŸ‡­FlutterwavePaystack
KES πŸ‡°πŸ‡ͺFlutterwaveM-Pesa
ZAR πŸ‡ΏπŸ‡¦PaystackFlutterwave
USD 🌍Stripe-

Pricing and Fees

Understand the cost breakdown:
Cost Calculation
const subtotal = ticketPrice * quantity;
const platformFee = subtotal * 0.025; // 2.5% platform fee
const discount = applyPromoCode(promoCode); // Optional promo
const groupDiscount = quantity >= 10 ? ticketPrice * 2 : 0; // Group discount

const totalAmount = subtotal + platformFee - discount - groupDiscount;

Example Breakdown

General Admission Γ— 2       ₦16,000
Platform fee (2.5%)           ₦400
─────────────────────────────────
Total                       ₦16,400
Purchase 10+ tickets to unlock group discounts and save!

Managing Your Tickets

After purchase, access your tickets:

View Your Tickets

Get My Tickets
curl https://api.gatepass.com/tickets/my-tickets \
  -H "Authorization: Bearer YOUR_TOKEN"

Download Ticket PDF

Tickets are automatically generated as secure PDFs with:
  • QR code containing cryptographic signature
  • Event and attendee details
  • Terms and conditions
  • Check-in instructions

Troubleshooting

Fiat payments typically confirm within 1-5 minutes. If your payment is pending:
  1. Check your email for payment gateway confirmation
  2. Verify the transaction in your bank/mobile money app
  3. Contact support with your order reference
Check your spam folder. You can always:
  • Download from your dashboard at /my-tickets
  • Re-send email from ticket details page
  • Access tickets via your wallet (crypto purchases)
Contact the event organizer with:
  • Your order reference number
  • Correct email address
  • Proof of payment
They can update the ticket holder information.
Tickets may sell out during checkout. If this happens:
  • Check if other tiers are available
  • Enable notifications for ticket releases
  • Join the waitlist (if available)

Promotions and Discounts

Save on ticket purchases:
  • Early Bird Pricing - Limited-time discounts for early purchasers
  • Promo Codes - Apply codes at checkout
  • Group Discounts - Automatic discounts for 10+ tickets
  • Seasonal Sales - Special holiday and seasonal promotions

Next Steps

Transfer Tickets

Learn how to transfer tickets to friends

Check-In Process

What to expect when you arrive at the event

Build docs developers (and LLMs) love