UNPKG

@lomray/microservice-payment-stripe

Version:

Stripe payment microservice based on NodeJS & inverted json.

48 lines (44 loc) 1.66 kB
'use strict'; 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;