EsnekPOS ödeme sisteminin Node.js uygulamaları için resmi olmayan istemci kütüphanesi. Bu kütüphane ile EsnekPOS API'lerini kolayca kullanabilirsiniz.
npm install esnekpos
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
});
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;
}
}
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;
}
}
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;
}
}
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;
}
}
- 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ında geliştirme yapmak için testMode parametresini true olarak ayarlayın ve EsnekPOS tarafından sağlanan test kartlarını kullanın.
Kart No: 4159562885391991
Son Kullanma: 12/2025
CVV: 123
MIT