{"repo":"typeonce-dev/paddle-payments-full-stack-typescript-app","free":true,"listed":false,"github":"https://github.com/typeonce-dev/paddle-payments-full-stack-typescript-app","clone":"git clone https://github.com/typeonce-dev/paddle-payments-full-stack-typescript-app.git","description":"Full stack typescript app that implements Paddle Billing payments on both client (inline checkout) and server (webhook)","language":"TypeScript","stars":28,"topics":["effect","effect-ts","paddle","payments","react-router","react-router-v7","typescript","webhook","paddle-payments","paddle-sdk"],"license":null,"category":"auth-billing-email","readme_excerpt":"Paddle Billing Payments Full Stack TypeScript App This repository contains all the code for the course Paddle Billing Payments Full Stack TypeScript App. Full stack TypeScript project template that implements Paddle Billing Payments. The project uses React Router v7 on the client and Effect with Node on the server. Project overview Payments is one of those features that you will find in most apps. Paddle acts as a merchant of record, handling your payments, tax and compliance. This project template implements payments with Paddle on both client and server : - Client Paddle checkout using @paddle/paddle-js - Server Paddle webhook using @paddle/paddle-node-sdk The template provides a full stack implementation of a working payments system. It includes: - Initialize and sync events with Paddle inline checkout using XState to manage the checkout process - Server webhook signature validation and event processing using Effect with NodeJs Project structure The repository of the project is a monorepo initialized using Turborepo. The same project contains both client and server inside the apps folder. Client The client is built using React with the latest version of React Router v7 as framework. The client also uses Effect to organize and execute services ( Paddle ). The client state is managed using XState. Using a state machine the client keeps track of the current step during the checkout process, keeping the state in sync with Paddle. Styles are implemented using the latest version","default_branch":null,"files":null,"tree":[],"storefront":"/r/typeonce-dev","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/typeonce-dev/paddle-payments-full-stack-typescript-app/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}