afrimomo-sdk
Version:
A unified SDK for African payment providers
66 lines • 2.78 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PawapayDeposits = void 0;
const baseService_1 = require("@afrimomo-sdk/utils/baseService");
const logger_1 = require("@afrimomo-sdk/utils/logger");
class PawapayDeposits extends baseService_1.BaseService {
networkHandler;
baseEndpoint = "/deposits";
constructor(networkHandler) {
super();
this.networkHandler = networkHandler;
}
async sendDeposit(transaction) {
try {
const phoneNumber = this.formatPhoneNumber(transaction.phoneNumber);
logger_1.logger.info("Sending payout to", phoneNumber, "the amount of", transaction.amount, "with payoutId", transaction.payoutId, "and currency", transaction.currency);
const response = await this.networkHandler
.getInstance()
.post(this.baseEndpoint, {
payoutId: transaction.payoutId,
amount: transaction.amount.toString(),
currency: transaction.currency,
correspondent: transaction.correspondent,
recipient: {
type: "MSISDN",
address: { value: phoneNumber },
},
customerTimestamp: transaction.customerTimestamp || new Date().toISOString(),
statementDescription: transaction.statementDescription,
});
logger_1.logger.info("Payout transaction successful:", response.data);
return response.data;
}
catch (error) {
logger_1.logger.error("Payout transaction failed:", error);
return this.networkHandler.handleErrors(error);
}
}
async getDeposit(depositId) {
try {
const endPoint = `${this.baseEndpoint}/${depositId}`;
const response = await this.networkHandler.getInstance().get(endPoint);
logger_1.logger.info("Deposit details retrieved successfully:", response.data);
return response.data;
}
catch (error) {
logger_1.logger.error("Get deposit failed:", error);
return this.networkHandler.handleErrors(error);
}
}
async resendCallback(depositId) {
try {
const { data } = await this.networkHandler
.getInstance()
.post(`${this.baseEndpoint}/resend-callback`, { depositId });
logger_1.logger.info("Callback resend successful:", data);
return data;
}
catch (error) {
logger_1.logger.error("Callback resend failed:", error);
return this.networkHandler.handleErrors(error);
}
}
}
exports.PawapayDeposits = PawapayDeposits;
//# sourceMappingURL=index.js.map