UNPKG

@nkhind/vivawallet-sdk

Version:
64 lines (63 loc) 2.39 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const axiosInstance_ts_1 = require("../utils/axiosInstance.ts"); const functions_1 = require("../utils/functions"); const VivaAuth_class_1 = require("../vivabases/VivaAuth.class"); const VivaTransactions_class_1 = __importDefault(require("../vivawallet/VivaTransactions.class")); class MarketPlaceTransactions extends VivaAuth_class_1.VivaAuth { getTransactionById; makeTransaction; constructor(datas) { super(datas); this.getTransactionById = new VivaTransactions_class_1.default(datas).getTransactionById; this.makeTransaction = new VivaTransactions_class_1.default(datas).makeTransaction; } /** Allow cancel transaction (refund) */ async cancelTransaction(transactionId, refundOptions) { const vivaToken = (await this.getVivaToken()).data; if (!vivaToken) { return { success: false, message: 'Init not called', code: 'initerror', data: null, }; } const queries = (0, functions_1.querifyDatas)(refundOptions); try { const response = await axiosInstance_ts_1.useAxios.delete(this.endpoints.marketplace.transaction.cancel.url.replace('{transactionId}', transactionId) + '?' + queries, { headers: { Authorization: 'Bearer ' + vivaToken, }, }); if (!response.data) { return { success: false, message: 'Transaction refund failed', code: 'nodatas', data: null, }; } return { success: true, message: 'Transaction refunded successfully', data: response.data, }; } catch (e) { console.error('Viva Refund Error', e); return { success: false, message: 'Failed to refund transaction', code: 'error', data: null, }; } } } exports.default = MarketPlaceTransactions;