UNPKG

esnekpos

Version:

Node.js entegrasyon paketi - EsnekPOS ödeme sistemi için resmi olmayan istemci

179 lines (153 loc) 4.4 kB
# EsnekPOS Node.js Entegrasyonu EsnekPOS ödeme sisteminin Node.js uygulamaları için resmi olmayan istemci kütüphanesi. Bu kütüphane ile EsnekPOS API'lerini kolayca kullanabilirsiniz. ## Kurulum ```bash npm install esnekpos ``` ## Kullanım ### İstemci Oluşturma ```javascript const esnekpos = require('esnekpos'); const client = esnekpos.createClient({ merchant: 'MERCHANT_ID', merchantKey: 'MERCHANT_KEY', testMode: true // Test ortamı için true, gerçek ortam için false }); ``` ### 3D Ödeme Alma ```javascript async function create3DPayment() { try { const payment = await client.payment.create3DPayment({ Config: { BACK_URL: 'https://example.com/callback', PRICES_CURRENCY: 'TRY', ORDER_REF_NUMBER: 'ORDER_12345', ORDER_AMOUNT: '100.00' }, CreditCard: { CC_NUMBER: '4159562885391991', EXP_MONTH: '12', EXP_YEAR: '2025', CC_CVV: '123', CC_OWNER: 'John Doe', INSTALLMENT_NUMBER: '1' }, Customer: { FIRST_NAME: 'John', LAST_NAME: 'Doe', MAIL: 'john@example.com', PHONE: '5321234567', CITY: 'Istanbul', STATE: 'Kadikoy', ADDRESS: 'Test Address', CLIENT_IP: '127.0.0.1' }, Product: [ { PRODUCT_ID: '1', PRODUCT_NAME: 'Test Product', PRODUCT_CATEGORY: 'Electronics', PRODUCT_DESCRIPTION: 'Test Description', PRODUCT_AMOUNT: '100.00' } ] }); console.log('Ödeme başarıyla başlatıldı:', payment); // URL_3DS alanıyla müşteriyi 3D doğrulama sayfasına yönlendirin return payment; } catch (error) { console.error('Ödeme başlatma hatası:', error); throw error; } } ``` ### Ortak Ödeme Sayfası ```javascript async function createCommonPayment() { try { const payment = await client.payment.createCommonPayment({ Config: { ORDER_REF_NUMBER: 'ORDER_12345', ORDER_AMOUNT: '100.00', PRICES_CURRENCY: 'TRY', BACK_URL: 'https://example.com/callback', LOCALE: 'tr' }, Customer: { FIRST_NAME: 'John', LAST_NAME: 'Doe', MAIL: 'john@example.com', PHONE: '5321234567', CITY: 'Istanbul', STATE: 'Kadikoy', ADDRESS: 'Test Address' }, Product: [ { PRODUCT_ID: '1', PRODUCT_NAME: 'Test Product', PRODUCT_CATEGORY: 'Electronics', PRODUCT_DESCRIPTION: 'Test Description', PRODUCT_AMOUNT: '100.00' } ] }); console.log('Ödeme sayfası başarıyla oluşturuldu:', payment); // URL_3DS alanıyla müşteriyi ödeme sayfasına yönlendirin return payment; } catch (error) { console.error('Ödeme sayfası oluşturma hatası:', error); throw error; } } ``` ### İşlem Sorgulama ```javascript async function queryTransaction(orderRefNumber) { try { const result = await client.query.queryTransaction(orderRefNumber); console.log('İşlem detayları:', result); return result; } catch (error) { console.error('İşlem sorgulama hatası:', error); throw error; } } ``` ### İade/İptal İşlemi ```javascript async function refundTransaction(orderRefNumber, amount) { try { const result = await client.refund.refundTransaction({ orderRefNumber, amount, syncWithPos: true // Banka ile senkron işlem için true }); console.log('İade sonucu:', result); return result; } catch (error) { console.error('İade işlemi hatası:', error); throw error; } } ``` ## Desteklenen Özellikler - 3D Ödeme İşlemleri - Ortak Ödeme Sayfası - BKM Express Ödemeleri - İşlem Sorgulama ve Listeleme - İade/İptal İşlemleri - Tekrarlı Ödeme İşlemleri - Pazaryeri Entegrasyonu (Alt üye işyeri işlemleri) - Fiziksel POS İşlemleri ## Test Ortamı Test ortamında geliştirme yapmak için testMode parametresini true olarak ayarlayın ve EsnekPOS tarafından sağlanan test kartlarını kullanın. ### Test Kartı ``` Kart No: 4159562885391991 Son Kullanma: 12/2025 CVV: 123 ``` ## Lisans MIT