@lomray/microservice-payment-stripe
Version:
Stripe payment microservice based on NodeJS & inverted json.
48 lines (44 loc) • 1.66 kB
JavaScript
;
var tslib = require('tslib');
var microserviceHelpers = require('@lomray/microservice-helpers');
var microserviceNodejsLib = require('@lomray/microservice-nodejs-lib');
var transaction = require('../../entities/transaction.js');
var messages = require('../../helpers/validators/messages.js');
/**
* Transfer webhook handlers
*/
class Transfer {
/**
* @constructor
*/
constructor(manager) {
this.manager = manager;
this.transactionRepository = manager.getRepository(transaction);
}
/**
* Transfer reversed
*/
transferReversed(event) {
return tslib.__awaiter(this, void 0, void 0, function* () {
const { amount_reversed: reversedAmount, source_transaction: chargeId } = event.data
.object;
const transactions = yield this.transactionRepository
.createQueryBuilder('t')
.where('t.chargeId = :chargeId', { chargeId })
.getMany();
if (!transactions.length) {
const errorMessage = messages.getNotFoundMessage('Failed to hande transfer reversed. Debit or credit transaction');
microserviceHelpers.Log.error(errorMessage);
throw new microserviceNodejsLib.BaseException({
status: 500,
message: errorMessage,
});
}
transactions.forEach((transaction) => {
transaction.params.transferReversedAmount = reversedAmount;
});
yield this.transactionRepository.save(transactions);
});
}
}
module.exports = Transfer;