Inspiration

Online payments are an essential part of e-commerce, but developers often face difficulties when testing payment integrations across different currencies. Errors such as unsupported currencies can be confusing and difficult to troubleshoot.

We wanted to build a platform that makes payment compatibility testing easier and helps developers understand PayPal errors instead of simply displaying technical error messages.

This inspired us to create Everyone Can Pay.

What it does

Everyone Can Pay is an AI-assisted payment compatibility testing platform built around PayPal Sandbox.

Its main features include:

  • PayPal Integration: Connects with PayPal Sandbox to create and test payment orders.
  • Multi-Currency Testing: Tests payment order creation across eight currencies: USD, EUR, GBP, JPY, INR, HUF, TWD and BRL.
  • Error Analysis: Integrates Google Gemini API to analyse PayPal errors and suggest possible troubleshooting steps when the AI service is available. A predefined fallback explanation is provided when Gemini is unavailable.
  • Dashboard: Displays test statistics, success rates and currency-wise compatibility.
  • Test History: Stores previous test runs and results using SQLite.
  • Decision Tracking: Allows users to accept or reject suggested troubleshooting actions.

The platform helps developers identify payment issues and make better-informed decisions when configuring payment options.

How we built it

We built the application using React and Vite for the frontend and Node.js with Express for the backend.

We integrated the PayPal Sandbox REST API to authenticate with PayPal and create and capture payment orders. The application tests different currencies and records the API responses.

Google Gemini API is integrated through the backend to provide AI-assisted explanations of PayPal errors and troubleshooting recommendations.

SQLite, using better-sqlite3, stores test runs, individual results and user decisions.

The application follows a frontend-backend architecture, with the backend managing PayPal communication, AI requests and database operations.

Challenges we ran into

One of our biggest challenges was handling currency compatibility errors returned by PayPal. Some currency operations failed with errors such as CURRENCY_NOT_SUPPORTED, which required us to understand the difference between successful order creation and a completed payment.

Configuring PayPal Sandbox buyer and seller accounts and getting the checkout and payment capture flow working also required debugging.

Another challenge was integrating Gemini while handling API quota limitations. We implemented fallback explanations so that users can still receive basic troubleshooting guidance when the AI service is unavailable.

We also faced challenges with database persistence, frontend-backend communication and maintaining reliable test history.

Accomplishments that we're proud of

  • Successfully integrated PayPal Sandbox authentication and order creation.
  • Completed an actual Sandbox payment with successful capture.
  • Built a multi-currency testing system covering eight currencies.
  • Implemented persistent test history using SQLite.
  • Developed a dashboard for tracking payment test results.
  • Integrated Gemini API with fallback handling for error analysis.
  • Built a complete React and Node.js application and published its source code on GitHub.

What we learned

Through this project, we gained practical experience with payment gateway integration, REST APIs, backend development, database management and frontend-backend communication.

We also learned how to work with AI APIs, handle API failures and design fallback mechanisms.

Most importantly, we learned that integrating a payment gateway involves more than creating an order: authentication, buyer approval, payment capture and error handling are all important parts of the process.

What's next for Everyone Can Pay

We plan to improve the platform by expanding its AI-powered troubleshooting capabilities, making error analysis more context-aware and providing better recommendations based on previous test results.

Future improvements may include intelligent currency recommendations, failure pattern detection, more payment scenarios and support for additional payment configurations.

Our goal is to make payment integration testing more understandable and accessible for developers.

demo link, try the project here- https://everyone-can-pay.onrender.com/

Built With

Share this project:

Updates

Submission history