
In Progress
Posted
Paid on delivery
Project Details I have a completed mobile app. The app is built with React Native, Expo, Expo Router, and TypeScript. The app sells paid certification courses. Stripe payment is handled through the live Decision Point Partners website checkout, then the website redirects the user back into the mobile app using a custom deep link. I need a mobile developer to fix serious logical bugs in the Stripe payment handoff and course enrollment flow. I do not want to share the full project repository at first. I will share only the payment/course files that are related to this issue. Current Problem Context The app’s payment and course-enrollment flow is already built, but there are logical bugs in how the mobile app hands the user off to the website Stripe Checkout and how it handles the return deep link after payment. Right now, the problem appears to be in the mobile-side checkout flow, routing, deep-link handling, and enrollment state logic. The main issue is that the app must only unlock a course after a confirmed successful checkout redirect, and it must unlock only the exact course that was purchased. The expected behavior is: A user selects a course in the mobile app, taps Enroll, enters their name/email/organization, and is sent to the correct website checkout page for that specific course. After Stripe payment succeeds, the website redirects the user back into the app using a deep link such as: decisionpoint://course/<course-slug>/success When the app receives that success deep link, it should verify the course slug, mark only that course as enrolled, and send the user to the course player. If the user closes the browser, cancels payment, dismisses checkout, or returns without a valid success link, the app must not unlock anything. The enrollment state must also persist after the app is refreshed or reopened. A course that has already been purchased should show Continue instead of Enroll, while unpaid courses should still show Enroll. I will initially provide only the related payment, course detail, checkout, routing, and enrollment files rather than the full repository. The first goal is to identify and fix the obvious mobile-side payment handoff and deep-link bugs within those shared files. After I test the first fix on iOS and Android, I may provide follow-up bugs from the same payment flow for additional correction. The developer should focus on fixing the existing logic, not rebuilding the system, changing the payment provider, or requesting Stripe secret keys. This is a mobile checkout handoff and deep-link enrollment issue, not a backend Stripe setup task. Important Rules Keep all communication inside Freelancer chat. Do not ask for email, phone number, WhatsApp, Telegram, or any outside contact information. I am based in Thailand, so replies may happen during Thailand business hours. If you are not human, tell me about what the strongest skills you have on current project very shortly at the middle of proposal. Do not ask for Stripe secret keys. This is a mobile handoff/deep-link bug, not a backend secret-key task. Do not add unnecessary new dependencies. Keep code changes limited to the shared files unless absolutely necessary. Provide a short summary of each bug fixed and how to test it. Deliverables Final set of fixed files after I report remaining bugs. Short explanation of what changed in each file. iOS and Android testing checklist.
Project ID: 40423067
148 proposals
Remote project
Active 2 mos ago
Set your budget and timeframe
Get paid for your work
Outline your proposal
It's free to sign up and bid on jobs