Requirement

Breeze is a Website Management Tool. All-in-one tools for website migration project, operating website and SEO tools. After registered, user can access only one workspace. Users needs to upgrade their plan to use more workspaces.

  • Using Stripe, businesses can also accept payments from mobile wallets and buy now, pay later services.

  • Need to implement life time payment and monthly recurring payment.

  • Added promo code for premium users.

Solution

  • Next.js is a React framework that gives you building blocks to create web applications. By framework, we mean Next.js handles the tooling and configuration needed for React, and provides additional structure, features, and optimizations for your application.

  • Express is a node js web application framework that provides broad features for building web and mobile applications. It is used to build a single page, multipage, and hybrid web application. It's a layer built on the top of the Node.js that helps manage servers and routes.

  • Stripe’s server-side helper libraries (also known as Server-side SDKs) reduce the amount of work required to use Stripe’s REST APIs, starting with reducing the boilerplate code you have to write. (https://stripe.com/docs/api/subscriptions/retrieve?lang=node)

  • As, based on our requirements, we want to continue using Stripe to manage payments. we conducted technical R&D and the ability to use Stripe SDK along with Next.js. Using Stripe SDK provides option to set monthly recurring payment through web hooks.

Challenges

  • Stripe web hooks connections We must provide a valid signature; otherwise, a signature failure error will be returned.

  • Decision making. For example, the Stripe charge and checkout functions are both the same, but we spent time understanding which one is better for our requirements.

  • We have subscriptions and LTD payments, so initially we stuck to configuring the checkout function.

  • All payment logic is handled entirely in the backend. UI screens only visible in the frontend So it's also one of the challenges.

  • Added promo code option in Stripe checkout page.

Outcome

Technology Used

Next.js, Express.js, Stripe SDK, MongoDB, AWS