esnekpos
Version:
Node.js entegrasyon paketi - EsnekPOS ödeme sistemi için resmi olmayan istemci
46 lines (39 loc) • 1.31 kB
JavaScript
/**
* İade/İptal servisi
*/
const { validateRefundRequest } = require('../validators');
const { makeRequest } = require('../helpers/request');
const { ENDPOINTS } = require('../constants');
class RefundService {
/**
* İade/İptal servisini başlatır
* @param {EsnekPOSClient} client - EsnekPOS istemcisi
*/
constructor(client) {
this.client = client;
}
/**
* İade/İptal işlemi başlatır
* @param {Object} options - İade/İptal seçenekleri
* @param {string} options.orderRefNumber - Sipariş referans numarası
* @param {number} options.amount - İade/İptal tutarı
* @param {boolean} [options.syncWithPos=false] - Banka ile senkron işlem yapılsın mı?
* @returns {Promise<Object>} - İşlem sonucu
*/
async refundTransaction(options) {
const request = {
MERCHANT: this.client.config.merchant,
MERCHANT_KEY: this.client.config.merchantKey,
ORDER_REF_NUMBER: options.orderRefNumber,
AMOUNT: options.amount,
SYNC_WITH_POS: options.syncWithPos || false
};
validateRefundRequest(request);
return makeRequest({
baseUrl: this.client.baseUrl,
endpoint: ENDPOINTS.ORDER_RETURN,
data: request
});
}
}
module.exports = RefundService;