Charge an entry fee for your competition via bKash, review transaction IDs, and approve or reject payments before students can participate.
BanglaTech competitions can charge an entry fee via bKash. Students pay to the hosting organization's bKash number, submit the transaction ID + their mobile number, and wait for admin approval. Only approved participants can take the quiz or submit entries. This enables funded writing contests, revenue-sharing quiz events, and professional tournaments — all without third-party payment processors.
This tutorial demonstrates a quiz competition with a ৳৫০ entry fee. Two students join: one submits a valid transaction ID and gets approved; the other submits a bad ID and gets rejected with a reason.
Entry fees work for quiz competitions, story competitions, and game challenges alike. The flow is identical — only the "what happens after payment" changes based on the type.
From /admin/competitions, click New Competition.
Scroll to the Payment & Entry Fee section and fill in the 3 key fields:
50). Setting this to 0 or leaving empty makes the competition free.
Create the competition and flip it to Live. Students can now see it.
A student opens the competition page and sees the Entry Fee: ৳৫০ indicator next to participant count. The "Join Competition" button is visible but clicking it opens the payment modal instead of instantly joining.
The payment modal shows the bKash number and the instruction text the admin wrote. The student sends money via bKash and then enters their Transaction ID and the bKash mobile number they paid from.
After submitting, the participant status becomes Pending Review. They can see the competition but can't take the quiz yet.
Enter the transaction ID exactly as it appears in the bKash SMS confirmation. Typos will cause rejection and you'll need to resubmit. Also use the same mobile number you paid from — admins cross-check this against their bKash records.
In the admin panel, the competition detail page shows all participants with their payment status and submitted transaction info. Pending payments appear in an orange/yellow state.
For each pending payment, the admin has two actions:
In this tutorial, Rahat's payment is approved and Sumaiya's is rejected with reason "Invalid transaction ID — unable to verify in bKash records."
Rahat sees the green "Joined ✓" badge and a "Start Quiz" button. He can now play just like in any regular (free) quiz competition.
Sumaiya sees a red "Payment Rejected" banner with the admin's rejection reason clearly displayed. A "Resubmit Payment" button lets her try again with a corrected transaction ID.
After Rahat takes the quiz, the leaderboard shows him — and only participants with approved payment. Rejected and pending participants don't appear.
For large competitions (100+ participants), consider asking students to include their BanglaTech username in the bKash reference field. This makes cross-checking payments in your bKash merchant dashboard much faster than searching by transaction ID one at a time.