@nkhind/vivawallet-sdk
Version:
Non-Official VivaWallet API SDK
79 lines (78 loc) • 2.51 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const axiosInstance_ts_1 = require("../utils/axiosInstance.ts");
const VivaAuth_class_1 = require("../vivabases/VivaAuth.class");
class IsvPos extends VivaAuth_class_1.VivaAuthISV {
constructor(datas) {
super(datas);
}
/** Get ISV merchant devices, return `ISVDevicesReturn` */
async getDevices(options) {
const vivaToken = (await this.getVivaToken()).data;
if (!vivaToken) {
return {
success: false,
message: 'Init not called',
code: 'initerror',
};
}
try {
const r = await axiosInstance_ts_1.useAxios.post(this.endpoints.isv.devices.url, options, {
headers: {
Authorization: 'Bearer ' + vivaToken,
},
});
if (!r.data) {
return {
success: false,
message: 'Failed to get devices',
code: 'nodatas',
};
}
return {
success: true,
message: 'Devices fetched successfully',
data: r.data,
};
}
catch (e) {
console.log('MarketPlacePayments.createOrder', e);
return {
success: false,
message: 'Failed to get devices',
code: 'error',
};
}
}
/** Init POS Card reader sale request for the merchant, return `ISVInitPosReturn` */
async initSale(options) {
const vivaToken = (await this.getVivaToken()).data;
if (!vivaToken) {
return {
success: false,
message: 'Init not called',
code: 'initerror',
};
}
try {
await axiosInstance_ts_1.useAxios.post(this.endpoints.isv.transaction.create.url, options, {
headers: {
Authorization: 'Bearer ' + vivaToken,
},
});
return {
success: true,
message: 'Sale initialized successfully',
};
}
catch (e) {
console.log('IsvPos.initSale', e);
return {
success: false,
message: 'Failed to init sale',
code: 'error',
};
}
}
}
exports.default = IsvPos;