@nkhind/vivawallet-sdk
Version:
Non-Official VivaWallet API SDK
59 lines (58 loc) • 2.41 kB
JavaScript
;
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) {
try {
const vivaToken = (await this.getVivaToken()).data;
const queries = (0, functions_1.querifyDatas)(refundOptions);
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) {
if (this.errorLogs)
console.error('Vivawallet returned no canceled transaction data', response.data);
return {
success: false,
message: 'Vivawallet returned no canceled transaction data',
code: 'nodatas',
data: null,
};
}
return {
success: true,
message: 'Transaction canceled successfully',
data: response.data,
};
}
catch (e) {
if (this.errorLogs)
console.error('MarketPlaceTransactions.cancelTransaction', e);
return {
success: false,
message: 'Failed to cancel transaction',
code: 'error',
data: null,
};
}
}
}
exports.default = MarketPlaceTransactions;