diff --git a/PROVIDERS-DETAILS.md b/PROVIDERS-DETAILS.md
index 210a1ce..b2df4c3 100644
--- a/PROVIDERS-DETAILS.md
+++ b/PROVIDERS-DETAILS.md
@@ -1014,6 +1014,27 @@ Bu dokümantasyon, QuickPos tarafından desteklenen tüm 48 ödeme sağlayıcıs
---
+### 🌐 Stripe (Global)
+- **Website**: https://stripe.com
+- **Desteklenen Ülkeler**: 46+ ülke
+- **Para Birimleri**: 135+ para birimi
+- **Client Oluşturma**:
+ ```javascript
+ {
+ secretKey: 'YOUR_SECRET_KEY',
+ webhookSecret: 'YOUR_WEBHOOK_SECRET' // Opsiyonel, webhook doğrulaması için
+ }
+ ```
+- **createPayment Gereken Alanlar**:
+ - `amount`: Ödeme tutarı
+ - `currency`: Para birimi
+ - `orderId`: Benzersiz sipariş ID
+ - `callback_link`: Başarılı URL yönlendirmesi
+ - `email`: Müşteri email
+ - `name`: Ürün açıklaması
+
+---
+
### 🌐 Amazon Pay (Global)
- **Website**: https://pay.amazon.com
- **Desteklenen Ülkeler**: ABD, AB, Japonya, Hindistan
@@ -1465,7 +1486,7 @@ Bu dokümantasyon, QuickPos tarafından desteklenen tüm 48 ödeme sağlayıcıs
- **Orta Doğu & Afrika**: 17 provider
- **Avrupa**: 5 provider
- **Latin Amerika**: 2 provider
-- **Global**: 13 provider
+- **Global**: 14 provider
- **Kripto Para**: 12 provider
### Para Birimi Çeşitliliği
@@ -1473,7 +1494,7 @@ Bu dokümantasyon, QuickPos tarafından desteklenen tüm 48 ödeme sağlayıcıs
- **En Çok Kullanılan**: USD, EUR, INR, IDR, TRY
### Toplam İstatistikler
-- **Toplam Provider**: 48
+- **Toplam Provider**: 49
- **Desteklenen Ülke**: 200+
- **Kripto Para Desteği**: 2000+ coin
- **Yerel Ödeme Yöntemi**: 500+
@@ -1541,4 +1562,4 @@ Bu dokümantasyon QuickPos v1.3.0 için hazırlanmıştır.
**Son Güncelleme**: 2024
**Versiyon**: 1.3.0
-**Toplam Provider**: 48
+**Toplam Provider**: 49
diff --git a/examples/example-stripe.js b/examples/example-stripe.js
new file mode 100644
index 0000000..1549910
--- /dev/null
+++ b/examples/example-stripe.js
@@ -0,0 +1,149 @@
+const Stripe = require('../lib/stripe');
+const QuickPos = require('../app');
+const express = require('express');
+const bodyParser = require('body-parser');
+
+// QuickPos yapılandırması
+const quickPos = new QuickPos({
+ providers: {
+ stripe: {
+ secretKey: 'sk_test_YOUR_TEST_SECRET_KEY'
+ }
+ }
+});
+
+// Stripe sağlayıcısını al
+let stripe = quickPos.providers['stripe'];
+
+// Express uygulaması oluştur
+const app = express();
+// Webhook doğrulaması için raw body kaydetmek gerekebilir (Stripe özel durumu)
+app.use(express.json({
+ verify: (req, res, buf) => {
+ req.rawBody = buf;
+ }
+}));
+app.use(express.urlencoded({ extended: true }));
+app.use(express.static('public'));
+
+// Ana sayfa - Basit form
+app.get('/', (req, res) => {
+ res.send(`
+
+
+
+ Stripe Ödeme
+
+
+
+
+
+
+
Stripe ile Ödeme Oluştur
+
+
+
+
+ `);
+});
+
+// Ödeme sayfası - Stripe Checkout Session oluşturur
+app.post('/checkout', async (req, res) => {
+ try {
+ const { amount, currency, description } = req.body;
+
+ const payment = await stripe.createPayment({
+ amount: amount || '99.99',
+ currency: currency || 'USD',
+ description: description || 'Premium Üyelik',
+ orderId: 'order-' + Date.now(),
+ successUrl: \`http://\${req.headers.host}/success\`,
+ cancelUrl: \`http://\${req.headers.host}/cancel\`
+ });
+
+ // Stripe ödeme sayfasına yönlendir
+ res.redirect(payment.paymentUrl);
+ } catch (error) {
+ res.status(500).send(`
+
+ `);
+ }
+});
+
+// İptal sayfası - basit HTML
+app.get('/cancel', (req, res) => {
+ res.send(`
+
+
Ödeme İptal Edildi
+
İşlem iptal edildi, herhangi bir ücret tahsil edilmedi.
+
Geri Dön
+
+ `);
+});
+
+// Başarılı ödeme sayfası
+app.get('/success', (req, res) => {
+ const { session_id, order_id } = req.query;
+
+ res.send(`
+
+
Ödeme Başarılı
+
Sipariş ID: \${order_id || 'N/A'}
+
Stripe Session ID: \${session_id || 'N/A'}
+
Ödeme durumu: Başarılı
+
İşlem tarihi: \${new Date().toLocaleString('tr-TR')}
+
Yeni Ödeme
+
+ `);
+});
+
+// Stripe webhook handler
+app.post('/stripe-webhook', async (req, res) => {
+ try {
+ // We pass req to handleCallback to allow signature verification
+ const result = await stripe.handleCallback(req.body, req);
+
+ if (result.success && result.status === 'completed') {
+ console.log('Ödeme başarıyla tamamlandı:', result.orderId, result.amount, result.currency);
+ // Veritabanını güncelleyebilir veya email gönderebilirsiniz
+ }
+
+ res.status(200).send('OK');
+ } catch (error) {
+ console.error('Webhook işleme hatası:', error.message);
+ res.status(400).send(\`Webhook Error: \${error.message}\`);
+ }
+});
+
+// Sunucuyu başlat
+const PORT = process.env.PORT || 3000;
+app.listen(PORT, () => {
+ console.log(\`Sunucu çalışıyor: http://localhost:\${PORT}\`);
+ console.log(\`Örnek ödeme sayfası: http://localhost:\${PORT}\`);
+});
diff --git a/lib/stripe.js b/lib/stripe.js
new file mode 100644
index 0000000..b819417
--- /dev/null
+++ b/lib/stripe.js
@@ -0,0 +1,118 @@
+const StripeSDK = require('stripe');
+
+class Stripe {
+ constructor(config) {
+ this.config = config || {};
+ if (!config.secretKey) {
+ throw new Error('Missing required field: secretKey');
+ }
+
+ this.stripe = StripeSDK(config.secretKey);
+ this.endpointSecret = config.webhookSecret || null;
+ }
+
+ /**
+ * Create a new payment (Checkout Session)
+ * @param {Object} paymentData - Payment data
+ * @returns {Promise