Skip to content

NFTopia-Foundation/nftopia-payment-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NFTopia Payment Service

The NFTopia Payment Service is a Spring Boot microservice handling all payment processing for NFT minting and marketplace transactions. Running on port 9003, it supports multi-currency payments, escrow services, and royalty distributions.


🔗 API Documentation

View Swagger Docs | API Reference


✨ Payment Features

  • Multi-Currency Support:
    • 💰 Crypto: ETH, USDC, STRK
    • 💳 Fiat: Credit card processing (Stripe)
  • Escrow Services:
    • Secure NFT sale settlements
    • Dispute resolution mechanisms
  • Royalty Automation:
    • Instant creator payouts
    • Secondary sale royalties
  • Fraud Prevention:
    • Transaction monitoring
    • Velocity checks

🛠️ Tech Stack

Component Technology
Framework Spring Boot 3.2
Security Spring Security + JWT
Crypto Payments Web3j
Fiat Payments Stripe API
Database PostgreSQL + Hibernate

🚀 Quick Start

Prerequisites

  • Java 17+
  • PostgreSQL 15+
  • Maven 3.9+
  • Stripe account (for fiat payments)

Installation

  1. Clone the repo:
    git clone https://github.com/NFTopia-Foundation/nftopia-payment-service.git
    cd nftopia-payment-service
  2. Configure environment:
    cp src/main/resources/application.example.yml src/main/resources/application.yml
    • Edit application.yml:
      server:
        port: 9003
      spring:
        datasource:
          url: jdbc:postgresql://localhost:5432/nftopia_payments
      stripe:
        api-key: your-stripe-key
  3. Build and run:
    mvn spring-boot:run

🤝 Contributing

  1. Fork the repository
  2. Create your feature branch:
git checkout -b feat/your-feature
  1. Commit changes following Conventional Commits
  2. Push to the branch
  3. Open a Pull Request

About

API for Payments Management Service

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages