@nkhind/vivawallet-sdk
Version:
Non-Official VivaWallet API SDK
61 lines (60 loc) • 2.11 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 VivaSourceCode extends VivaAuth_class_1.VivaAuth {
constructor(datas) {
super(datas);
}
/** ------------------ SOURCE CODE ------------------ */
/** Set the Viva Wallet payment source (needed for Transaction integrations), return `true` if setup is OK, `false` if the payment already exist or on error */
async setVivawalletSource(data) {
if (!this.merchantId || !this.apikey) {
return {
success: false,
message: 'Init not called',
code: 'initerror',
};
}
if (!this.sourceCode && !data.sourceCode) {
return {
success: false,
message: 'Source code is required',
code: 'sourcecodeerror',
};
}
if (!data.sourceCode && this.sourceCode)
data.sourceCode = this.sourceCode;
try {
await axiosInstance_ts_1.useAxios.request({
url: this.endpoints.source.url,
method: this.endpoints.source.method,
headers: {
Authorization: 'Basic ' + this.getVivaBasicToken(),
},
data,
});
return {
success: true,
message: 'Source code set',
};
}
catch (e) {
console.error('Viva Source Code Error', e);
// if the source already exist
if (e.status === 409) {
return {
success: false,
message: 'Source code already exist',
code: 'sourcecodeexist',
};
}
return {
success: false,
message: 'Source code set error',
code: 'error',
};
}
}
}
exports.default = VivaSourceCode;