UNPKG

@des1re7/medusa-payment-tbank

Version:

T-Bank Payment Provider for Medusa Commerce

361 lines (308 loc) 12.9 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 _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck")); var _createClass2 = _interopRequireDefault(require("@babel/runtime/helpers/createClass")); var _inherits2 = _interopRequireDefault(require("@babel/runtime/helpers/inherits")); var _possibleConstructorReturn2 = _interopRequireDefault(require("@babel/runtime/helpers/possibleConstructorReturn")); var _getPrototypeOf2 = _interopRequireDefault(require("@babel/runtime/helpers/getPrototypeOf")); var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty")); var _medusa = require("@medusajs/medusa"); var _axios = _interopRequireDefault(require("axios")); var _token = _interopRequireDefault(require("../utils/token")); function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = (0, _getPrototypeOf2["default"])(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = (0, _getPrototypeOf2["default"])(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return (0, _possibleConstructorReturn2["default"])(this, result); }; } function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } } var TinkoffPaymentProviderService = /*#__PURE__*/function (_AbstractPaymentProce) { (0, _inherits2["default"])(TinkoffPaymentProviderService, _AbstractPaymentProce); var _super = _createSuper(TinkoffPaymentProviderService); function TinkoffPaymentProviderService(_, options) { var _this; (0, _classCallCheck2["default"])(this, TinkoffPaymentProviderService); _this = _super.call(this, _, options); _this.api_url = options.api_url || "https://securepay.tinkoff.ru/v2"; _this.terminalKey = options.terminalKey; _this.password = options.password; _this.notificationURL = options.notificationURL; return _this; } (0, _createClass2["default"])(TinkoffPaymentProviderService, [{ key: "initiatePayment", value: function () { var _initiatePayment = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(context) { var amount, currency_code, resource_id, email, data, response; return _regenerator["default"].wrap(function _callee$(_context) { while (1) { switch (_context.prev = _context.next) { case 0: console.log("initiatePayment"); amount = context.amount, currency_code = context.currency_code, resource_id = context.resource_id, email = context.email; data = { TerminalKey: this.terminalKey, Amount: amount, OrderId: resource_id, Description: resource_id }; if (this.notificationURL) { data.NotificationURL = this.notificationURL; } data.Token = (0, _token["default"])(data, this.password); _context.next = 7; return _axios["default"].post("".concat(this.api_url, "/Init"), data); case 7: response = _context.sent; return _context.abrupt("return", { session_data: { id: response.data.PaymentId, PaymentURL: response.data.PaymentURL } }); case 9: case "end": return _context.stop(); } } }, _callee, this); })); function initiatePayment(_x) { return _initiatePayment.apply(this, arguments); } return initiatePayment; }() }, { key: "updatePayment", value: function () { var _updatePayment = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(context) { var paymentId; return _regenerator["default"].wrap(function _callee2$(_context2) { while (1) { switch (_context2.prev = _context2.next) { case 0: console.log("updatePayment"); paymentId = context.paymentSessionData.id; return _context2.abrupt("return", { session_data: context.paymentSessionData }); case 3: case "end": return _context2.stop(); } } }, _callee2); })); function updatePayment(_x2) { return _updatePayment.apply(this, arguments); } return updatePayment; }() }, { key: "authorizePayment", value: function () { var _authorizePayment = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3(paymentSessionData, context) { return _regenerator["default"].wrap(function _callee3$(_context3) { while (1) { switch (_context3.prev = _context3.next) { case 0: console.log("authorizePayment"); _context3.prev = 1; return _context3.abrupt("return", { status: _medusa.PaymentSessionStatus.AUTHORIZED, data: { id: paymentSessionData.id } }); case 5: _context3.prev = 5; _context3.t0 = _context3["catch"](1); return _context3.abrupt("return", { error: _context3.t0.message }); case 8: case "end": return _context3.stop(); } } }, _callee3, null, [[1, 5]]); })); function authorizePayment(_x3, _x4) { return _authorizePayment.apply(this, arguments); } return authorizePayment; }() }, { key: "capturePayment", value: function () { var _capturePayment = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4(payment) { var data, response; return _regenerator["default"].wrap(function _callee4$(_context4) { while (1) { switch (_context4.prev = _context4.next) { case 0: console.log("capturePayment"); data = { TerminalKey: this.terminalKey, PaymentId: payment.data.id }; _context4.next = 4; return _axios["default"].post("".concat(this.api_url, "/Confirm"), data); case 4: response = _context4.sent; return _context4.abrupt("return", response.data); case 6: case "end": return _context4.stop(); } } }, _callee4, this); })); function capturePayment(_x5) { return _capturePayment.apply(this, arguments); } return capturePayment; }() }, { key: "refundPayment", value: function () { var _refundPayment = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(payment, amount) { var data, response; return _regenerator["default"].wrap(function _callee5$(_context5) { while (1) { switch (_context5.prev = _context5.next) { case 0: console.log("refundPayment"); data = { TerminalKey: this.terminalKey, PaymentId: payment.data.id, Amount: amount }; _context5.next = 4; return _axios["default"].post("".concat(this.api_url, "/Refund"), data); case 4: response = _context5.sent; return _context5.abrupt("return", response.data); case 6: case "end": return _context5.stop(); } } }, _callee5, this); })); function refundPayment(_x6, _x7) { return _refundPayment.apply(this, arguments); } return refundPayment; }() }, { key: "cancelPayment", value: function () { var _cancelPayment = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(payment) { var data, response; return _regenerator["default"].wrap(function _callee6$(_context6) { while (1) { switch (_context6.prev = _context6.next) { case 0: console.log("cancelPayment"); data = { TerminalKey: this.terminalKey, PaymentId: payment.data.id }; _context6.next = 4; return _axios["default"].post("".concat(this.api_url, "/Cancel"), data); case 4: response = _context6.sent; return _context6.abrupt("return", response.data); case 6: case "end": return _context6.stop(); } } }, _callee6, this); })); function cancelPayment(_x8) { return _cancelPayment.apply(this, arguments); } return cancelPayment; }() }, { key: "getPaymentData", value: function () { var _getPaymentData = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee7(paymentSessionData) { return _regenerator["default"].wrap(function _callee7$(_context7) { while (1) { switch (_context7.prev = _context7.next) { case 0: console.log("getPaymentData"); return _context7.abrupt("return", paymentSessionData); case 2: case "end": return _context7.stop(); } } }, _callee7); })); function getPaymentData(_x9) { return _getPaymentData.apply(this, arguments); } return getPaymentData; }() }, { key: "getPaymentStatus", value: function () { var _getPaymentStatus = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee8(paymentSessionData) { var data, response; return _regenerator["default"].wrap(function _callee8$(_context8) { while (1) { switch (_context8.prev = _context8.next) { case 0: console.log("getPaymentStatus"); data = { TerminalKey: this.terminalKey, PaymentId: paymentSessionData.id, Token: '' }; data.Token = (0, _token["default"])(data, this.password); _context8.next = 5; return _axios["default"].post("".concat(this.api_url, "/GetState"), data); case 5: response = _context8.sent; return _context8.abrupt("return", response.data.Status); case 7: case "end": return _context8.stop(); } } }, _callee8, this); })); function getPaymentStatus(_x10) { return _getPaymentStatus.apply(this, arguments); } return getPaymentStatus; }() }, { key: "deletePayment", value: function deletePayment(paymentSessionData) { console.log("deletePayment"); throw new Error("Method not implemented."); } }, { key: "retrievePayment", value: function retrievePayment(paymentSessionData) { console.log("retrievePayment"); throw new Error("Method not implemented."); } }, { key: "updatePaymentData", value: function updatePaymentData(sessionId, data) { console.log("updatePaymentData"); throw new Error("Method not implemented."); } }]); return TinkoffPaymentProviderService; }(_medusa.AbstractPaymentProcessor); (0, _defineProperty2["default"])(TinkoffPaymentProviderService, "identifier", "tbank"); var _default = TinkoffPaymentProviderService; exports["default"] = _default;