QuickPos, farklı ödeme sağlayıcılarını destekleyen güçlü bir ödeme entegrasyon modülüdür. Şu anda PayTR, Shopier, Cryptomus, Payeer, Papara sağlayıcısını desteklemektedir ve gelecekte birçok yeni sağlayıcı ile özellik eklemeyi planlamaktadır. Yol haritamıza göz atarak gelecek özellikleri keşfedebilirsiniz.
- 🔌 Çoklu Ödeme Sağlayıcı Desteği: Birden fazla ödeme sağlayıcı ile uyumlu.
- 🛡️ Güvenli Ödeme İşlemleri: Güvenli ve sorunsuz ödeme işlemleri.
- 🔄 Kolay Entegrasyon: Hızlı ve basit entegrasyon.
- 📊 Detaylı Ödeme Raporları: Gelişmiş raporlama özellikleri.
- 💼 İşletmeler için Özelleştirilebilir Çözümler: Özel ihtiyaçlara yönelik çözümler.
npm install quickpos
const express = require('express');
const bodyParser = require('body-parser');
const QuickPos = require('quickpos');
const app = express();
app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
const quickPos = new QuickPos({
providers: {
paytr: {
merchantId: 'xXxxXxX',
merchantKey: 'xXxxXxX',
merchantSalt: 'xXxxXxX',
mode: 'test',
}
},
});
// QuickPos middleware'ini ekleyin
app.use(quickPos.middleware());
// Ödeme oluşturma formu
app.get('/', (req, res) => {
res.send(`
<form action="/payment/paytr" method="post">
<input type="text" name="amount" placeholder="Amount" required>
<select name="currency" required>
<option value="TL">TL</option>
<option value="USD">USD</option>
<option value="EUR">EUR</option>
</select>
<input type="text" name="orderId" placeholder="Order ID" required>
<button type="submit">Pay</button>
</form>
`);
});
// Ödeme oluşturma rotası
app.post('/payment/:provider', async (req, res) => {
const { provider } = req.params;
if (!req.quickPos[provider]) {
return res.status(400).json({ error: 'Invalid payment provider' });
}
try {
const result = await req.quickPos[provider].createPayment({
name: 'Test Product',
amount: req.body.amount,
currency: req.body.currency,
callback_link: `https://mylocalhostx.speedsmm.com/payment-callback/${provider}`,
callback_id: req.body.orderId,
maxInstallment: 1,
expiry_date: '2024-12-25 17:00:00',
email: 'test@gmail.com',
});
if (result.status === 'success') {
res.json({ redirectUrl: result.data.url });
} else {
res.status(400).json(result);
}
} catch (error) {
res.status(500).json({ error: error.message });
}
});
// Callback rotası
app.post('/payment-callback/:provider', quickPos.handleCallback('paytr'), (req, res) => {
console.log('Payment result:', req.paymentResult);
if (req.paymentResult.status === 'success') {
res.send('OK');
} else {
res.status(400).send('Payment failed');
}
});
app.listen(80, () => {
console.log('Server is running on port 80');
});
QuickPos
örneğini oluştururken ödeme sağlayıcılarını yapılandırın:
const quickPos = new QuickPos({
providers: {
paytr: {
merchantId: 'xXxxXxX',
merchantKey: 'xXxxXxX',
merchantSalt: 'xXxxXxX',
mode: 'test',
}
},
});
- PayTR
- Shopier
- Cryptomus
- Payeer
- Papara
- 🏦 Yeni ödeme sağlayıcıları: İyzico, Vallet, Shipy
- 🌐 Çoklu dil desteği
- 💸 Çoklu para birimi desteği
- 📝 Gelişmiş dökümantasyon
- PayTR entegrasyonu
- Shopier entegrasyonu
- Cryptomus entegrasyonu
- Payeer entegrasyonu
- Papara entegrasyonu
- İyzico entegrasyonu
- Vallet entegrasyonu
- Shipy entegrasyonu
- Shopinext entegrasyonu
- Paywant entegrasyonu
- Payizone entegrasyonu
- Weepay entegrasyonu
- Paynet entegrasyonu
- Stripe entegrasyonu
- PayPal entegrasyonu
Katkılarınızı bekliyoruz! Lütfen katkı yönergelerimizi okuyun.