<div align="center">
  <h1>💳 QuickPos 🚀</h1>
  <p><strong>A powerful, multi-gateway payment integration module for Node.js</strong></p>
  <p>Seamlessly integrate with 50+ payment providers worldwide</p>

  <img src="https://img.shields.io/badge/version-1.3.0-blue.svg" alt="Version">
  <img src="https://img.shields.io/badge/npm-quickpos-green.svg" alt="NPM">
  <img src="https://img.shields.io/badge/license-MIT-yellow.svg" alt="License">
  <br>
  <img src="https://img.shields.io/badge/Node.js-18+-green.svg" alt="Node.js">
  <img src="https://img.shields.io/badge/platforms-Windows%20%7C%20Linux%20%7C%20macOS-lightgrey.svg" alt="Platforms">
</div>

---

## 📋 Table of Contents

- [✨ Features](#-features)
- [🌍 Supported Payment Providers](#-supported-payment-providers)
- [📦 Installation](#-installation)
- [🚀 Quick Start](#-quick-start)
- [🛠️ Usage](#️-usage)
- [📚 API Reference](#-api-reference)
- [🛣️ Roadmap](#️-roadmap)
- [🤝 Contributing](#-contributing)
- [📄 License](#-license)

---

## ✨ Features

<div align="center">

| Feature | Description |
|---------|-------------|
| 🔌 **Multi-Provider Support** | Integrate with 50+ payment gateways worldwide |
| 🛡️ **Secure Transactions** | Enterprise-grade security for all payments |
| ⚡ **Fast Integration** | Get started in minutes with simple setup |
| 📊 **Detailed Reporting** | Comprehensive payment analytics and logs |
| 🌐 **Global Coverage** | Support for traditional and crypto payments |
| 🔧 **Customizable** | Tailored solutions for business needs |
| 📱 **Callback Handling** | Automatic webhook processing |
| 🧪 **Well Tested** | Extensive test coverage for reliability |

</div>

---

## 🌍 Supported Payment Providers

### 💳 Traditional Payment Systems

| Provider | Country | Status |
|----------|---------|--------|
| **Midtrans** | 🇮🇩 Indonesia | ✅ Active |
| **Tripay** | 🇮🇩 Indonesia | ✅ Active |
| **Doku** | 🇮🇩 Indonesia | ✅ Active |
| **PayID19** | 🇮🇩 Indonesia | ✅ Active |
| **Xendit** | 🇮🇩 🇵🇭 Indonesia & Philippines | ✅ Active |
| **ToyyibPay** | 🇲🇾 Malaysia | ✅ Active |
| **SenangPay** | 🇲🇾 Malaysia | ✅ Active |
| **Zarinpal** | 🇮🇷 Iran | ✅ Active |
| **Paytm** | 🇮🇳 India | ✅ Active |
| **Cashfree** | 🇮🇳 India | ✅ Active |
| **PayU India** | 🇮🇳 India | ✅ Active |
| **PayKun** | 🇮🇳 India | ✅ Active |
| **Razorpay** | 🇮🇳 India | ✅ Active |
| **Instamojo** | 🇮🇳 India | ✅ Active |
| **PhonePe** | 🇮🇳 India | ✅ Active |
| **PayU Latam** | 🇲🇽 🇨🇴 🇵🇪 🇦🇷 Latin America | ✅ Active |
| **PicPay** | 🇧🇷 Brazil | ✅ Active |
| **Cardcom** | 🇮🇱 Israel | ✅ Active |
| **Paycom** | 🇺🇿 Uzbekistan | ✅ Active |
| **Checkout.com** | 🌐 Global | ✅ Active |
| **2Checkout** | 🌐 Global | ✅ Active |
| **İyzico** | 🇹🇷 Turkey | ✅ Active |
| **PayTR** | 🇹🇷 Turkey | ✅ Active |
| **PayTR EFT** | 🇹🇷 Turkey | ✅ Active |
| **PayWant** | 🇹🇷 Turkey | ✅ Active |
| **PaynKolay** | 🇹🇷 Turkey | ✅ Active |
| **Shopier** | 🇹🇷 Turkey | ✅ Active |
| **Shopier Card** | 🇹🇷 Turkey | ✅ Active |
| **Papara** | 🇹🇷 Turkey | ✅ Active |
| **EsnekPos** | 🇹🇷 Turkey | ✅ Active |
| **Paydisini** | 🇹🇷 Turkey | ✅ Active |
| **PayNetTR** | 🇹🇷 Turkey | ✅ Active |
| **PayPal** | 🌐 Global | ✅ Active |
| **Amazon Pay** | 🌐 Global | ✅ Active |
| **Paddle** | 🌐 Global SaaS | ✅ Active |
| **FedaPay** | 🇧🇯 Benin | ✅ Active |
| **Konnect** | 🇹🇳 Tunisia | ✅ Active |
| **PayMaya** | 🇵🇭 Philippines | ✅ Active |
| **PayME** | 🇻🇳 Vietnam | ✅ Active |
| **PrimePayments** | 🇦🇪 UAE | ✅ Active |
| **YallaPay** | 🇦🇪 UAE | ✅ Active |
| **NoonPayments** | 🇦🇪 UAE | ✅ Active |
| **PayTabs** | 🇦🇪 🇸🇦 🇴🇲 🇯🇴 🇪🇬 Middle East | ✅ Active |
| **URWay** | 🇸🇦 Saudi Arabia | ✅ Active |
| **PayOP** | 🌐 Global | ✅ Active |
| **Paymentwall** | 🌐 Global | ✅ Active |
| **Payssion** | 🌐 Global (300+ methods) | ✅ Active |
| **Paysend** | 🌐 Global | ✅ Active |
| **Payoneer** | 🌐 Global | ✅ Active |
| **ShurjoPay** | 🇧🇩 Bangladesh | ✅ Active |
| **PaySpace** | 🇿🇦 South Africa | ✅ Active |
| **Payriff** | 🇦🇿 Azerbaijan | ✅ Active |
| **Epoint** | 🇦🇿 Azerbaijan | ✅ Active |
| **ePay** | 🇧🇬 Bulgaria | ✅ Active |
| **PayNet** | 🇲🇩 Moldova | ✅ Active |
| **PortWallet** | 🌐 Global | ✅ Active |
| **Omise** | 🇹🇭 Thailand | ✅ Active |
| **YouCanPay** | 🇲🇦 Morocco | ✅ Active |
| **YooKassa** | 🇷🇺 Russia | ✅ Active |
| **FreeKassa** | 🇷🇺 Russia | ✅ Active |
| **Unitpay** | 🇷🇺 Russia | ✅ Active |

### ₿ Cryptocurrency Payment Systems

| Provider | Features | Status |
|----------|----------|--------|
| **Plisio** | BTC, ETH, USDT +20 cryptos | ✅ Active |
| **CoinPayments** | 2000+ cryptocurrencies | ✅ Active |
| **Cryptomus** | Multi-crypto support | ✅ Active |
| **Payeer** | Crypto & fiat | ✅ Active |
| **Anypay** | Crypto solutions | ✅ Active |
| **NowPayments** | 150+ cryptos | ✅ Active |
| **Heleket** | Crypto gateway | ✅ Active |
| **BitPay** | BTC & crypto | ✅ Active |
| **CoinGate** | 70+ cryptos | ✅ Active |
| **Volet** | Crypto & fiat gateway | ✅ Active |
| **Coinbase Commerce** | Crypto gateway | ✅ Active |
| **Perfect Money** | E-currency | ✅ Active |

---

## 📦 Installation

```bash
npm install quickpos
```

**Requirements:**
- Node.js 18+
- npm or yarn

---

## 🚀 Quick Start

```javascript
const QuickPos = require('quickpos');

const quickPos = new QuickPos({
  providers: {
    paytr: {
      merchantId: 'your-merchant-id',
      merchantKey: 'your-merchant-key',
      merchantSalt: 'your-merchant-salt',
      mode: 'test', // or 'live'
    }
  },
});

// Create a payment
const payment = await quickPos.paytr.createPayment({
  name: 'Premium Plan',
  amount: 29.99,
  currency: 'USD',
  callback_link: 'https://yourapp.com/callback',
  callback_id: 'order-123',
});

console.log('Payment URL:', payment.data.url);
```

---

## 🛠️ Usage

### Basic Setup

```javascript
const express = require('express');
const QuickPos = require('quickpos');

const app = express();
app.use(express.json());

const quickPos = new QuickPos({
  providers: {
    // Configure your providers here
    paypal: { /* config */ },
    stripe: { /* config */ },
  },
});

// Add middleware
app.use(quickPos.middleware());

// Create payment endpoint
app.post('/create-payment', async (req, res) => {
  try {
    const result = await quickPos.paypal.createPayment({
      amount: req.body.amount,
      currency: req.body.currency,
      name: req.body.productName,
    });
    res.json(result);
  } catch (error) {
    res.status(500).json({ error: error.message });
  }
});

// Handle callbacks
app.post('/payment-callback/:provider', quickPos.handleCallback(), (req, res) => {
  console.log('Payment result:', req.paymentResult);
  res.send('OK');
});

app.listen(3000, () => console.log('Server running on port 3000'));
```

### Advanced Configuration

```javascript
const quickPos = new QuickPos({
  providers: {
    paytr: {
      merchantId: process.env.PAYTR_MERCHANT_ID,
      merchantKey: process.env.PAYTR_MERCHANT_KEY,
      merchantSalt: process.env.PAYTR_MERCHANT_SALT,
      mode: process.env.NODE_ENV === 'production' ? 'live' : 'test',
    },
    cryptomus: {
      apiKey: process.env.CRYPTOMUS_API_KEY,
      merchantId: process.env.CRYPTOMUS_MERCHANT_ID,
    },
  },
  options: {
    timeout: 30000,
    retryAttempts: 3,
  },
});
```

---

## 📚 API Reference

### QuickPos Class

#### Constructor
```javascript
new QuickPos(config)
```

**Parameters:**
- `config.providers` (Object): Provider configurations
- `config.options` (Object, optional): Global options

#### Methods

##### `createPayment(provider, data)`
Creates a new payment with specified provider.

**Parameters:**
- `provider` (string): Provider name
- `data` (Object): Payment data

**Returns:** Promise<PaymentResult>

##### `handleCallback(provider)`
Middleware for handling payment callbacks.

**Parameters:**
- `provider` (string): Provider name

**Returns:** Express middleware function

---

## 🛣️ Roadmap

### 🎯 Upcoming Features

- [ ] 🏦 **New Payment Providers**: Stripe, Square, Adyen
- [ ] 🌐 **Multi-Language Support**: i18n integration
- [ ] 💸 **Multi-Currency Support**: Automatic conversion
- [ ] 📱 **Mobile SDK**: React Native & Flutter support
- [ ] 🔍 **Advanced Analytics**: Real-time dashboards
- [ ] 🤖 **AI-Powered Routing**: Smart provider selection
- [ ] 📝 **Enhanced Documentation**: Interactive API docs

### ✅ Completed Integrations

<div align="center">

| Provider | Status | Date |
|----------|--------|------|
| PayTR | ✅ | v1.0.0 |
| Shopier | ✅ | v1.0.1 |
| Cryptomus | ✅ | v1.0.2 |
| Payeer | ✅ | v1.0.3 |
| Papara | ✅ | v1.0.4 |
| İyzico | ✅ | v1.0.5 |
| Anypay | ✅ | v1.1.0 |
| EsnekPos | ✅ | v1.1.1 |
| PayMaya | ✅ | v1.1.2 |
| FedaPay | ✅ | v1.1.3 |
| Heleket | ✅ | v1.1.4 |
| Paydisini | ✅ | v1.1.5 |
| PayPal | ✅ | v1.2.0 |
| Paymentwall | ✅ | v1.2.1 |
| Konnect | ✅ | v1.2.2 |
| PayME | ✅ | v1.2.3 |
| PrimePayments | ✅ | v1.2.4 |
| YallaPay | ✅ | v1.2.5 |
| NowPayments | ✅ | v1.2.6 |
| NoonPayments | ✅ | v1.2.7 |
| PayOP | ✅ | v1.2.8 |
| Midtrans | ✅ | v1.2.9 |
| Plisio | ✅ | v1.3.0 |
| Tripay | ✅ | v1.3.0 |
| And 30+ more... | ✅ | Ongoing |

</div>

---

## 🤝 Contributing

We welcome contributions! Here's how you can help:

### Ways to Contribute
- 🐛 **Report Bugs**: Open issues for bugs you find
- 💡 **Suggest Features**: Share your ideas for new features
- 🔧 **Code Contributions**: Submit pull requests
- 📖 **Documentation**: Help improve docs
- 🧪 **Testing**: Add test cases

### Development Setup

```bash
# Fork and clone the repository
git clone https://github.com/your-username/QuickPos.git
cd QuickPos

# Install dependencies
npm install

# Run tests
npm test

# Start development
npm run dev
```

### Guidelines
- Follow the existing code style
- Add tests for new features
- Update documentation
- Use conventional commits

---

## 📄 License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.

---

<div align="center">

**Built with ❤️ by [QuickPanel.NET](https://quickpanel.net)**

*Empowering businesses with seamless payment solutions worldwide*

[⭐ Star us on GitHub](https://github.com/codedByCan/QuickPos) • [🐛 Report Issues](https://github.com/codedByCan/QuickPos/issues) • [📧 Contact](mailto:support@quickpanel.net)

</div>

---

## 🇹🇷 Türkçe Dokümantasyon

### Özellikler
- 🔌 **Çoklu Sağlayıcı Desteği**: 50+ ödeme ağ geçidi
- 🛡️ **Güvenli İşlemler**: Kurumsal düzey güvenlik
- ⚡ **Hızlı Entegrasyon**: Dakikalar içinde başlayın
- 📊 **Detaylı Raporlama**: Kapsamlı analizler

### Kurulum
```bash
npm install quickpos
```

### Hızlı Başlangıç
```javascript
const QuickPos = require('quickpos');

const quickPos = new QuickPos({
  providers: {
    paytr: {
      merchantId: 'merchant-id',
      merchantKey: 'merchant-key',
      merchantSalt: 'merchant-salt',
      mode: 'test',
    }
  },
});

const odeme = await quickPos.paytr.createPayment({
  name: 'Premium Paket',
  amount: 29.99,
  currency: 'TRY',
  callback_link: 'https://uygulamaniz.com/callback',
  callback_id: 'siparis-123',
});
```

Daha fazla detay için yukarıdaki İngilizce dokümantasyonu inceleyin.