UNPKG

medusa-plugin-culqi-card

Version:

Medusa plugin for processing credit card payments with Culqi

76 lines (75 loc) 3.25 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports["default"] = void 0; var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator")); var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/asyncToGenerator")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _promises = require("timers/promises"); var _medusa = require("@medusajs/medusa"); var OrderSubscriber = /*#__PURE__*/(0, _createClass2["default"])(function OrderSubscriber(_ref) { var _this = this; var eventBusService = _ref.eventBusService, orderService = _ref.orderService; (0, _classCallCheck2["default"])(this, OrderSubscriber); (0, _defineProperty2["default"])(this, "capturePayment", /*#__PURE__*/function () { var _ref3 = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(_ref2) { var _order$payments; var id, delay, capture, order, payment; return _regenerator["default"].wrap(function _callee$(_context) { while (1) switch (_context.prev = _context.next) { case 0: id = _ref2.id; delay = parseInt(process.env.CULQI_ORDER_AUTO_CAPTURE_DELAY_MS || '0', 10); capture = process.env.CULQI_ORDER_AUTO_CAPTURE === 'true' || process.env.CULQI_CAPTURE === 'true'; if (capture) { _context.next = 5; break; } return _context.abrupt("return"); case 5: if (!delay) { _context.next = 8; break; } _context.next = 8; return (0, _promises.setTimeout)(delay); case 8: _context.next = 10; return _this.orderService_.retrieve(id, { relations: ['payments'] }); case 10: order = _context.sent; if (!(!order || order.status === _medusa.OrderStatus.CANCELED)) { _context.next = 13; break; } return _context.abrupt("return"); case 13: payment = (_order$payments = order.payments) === null || _order$payments === void 0 ? void 0 : _order$payments[0]; if (!((payment === null || payment === void 0 ? void 0 : payment.provider_id) === 'culqi_card' && order.payment_status === _medusa.PaymentStatus.AWAITING)) { _context.next = 17; break; } _context.next = 17; return _this.orderService_.capturePayment(id); case 17: case "end": return _context.stop(); } }, _callee); })); return function (_x) { return _ref3.apply(this, arguments); }; }()); this.orderService_ = orderService; eventBusService.subscribe('order.placed', this.capturePayment); }); var _default = OrderSubscriber; exports["default"] = _default;