afrimomo-sdk
Version:
A unified SDK for African payment providers
39 lines • 1.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.PawapayPayments = void 0;
const logger_1 = require("../../../utils/logger");
const serviceWrapper_1 = require("../../../utils/serviceWrapper");
class PawapayPayments {
network;
baseEndpoint = "widget/sessions";
constructor(network) {
this.network = network;
}
async initiatePayment(paymentData) {
logger_1.logger.info("PawaPay: Initiating payment", {
depositId: paymentData.depositId,
amount: paymentData.amount,
country: paymentData.country,
});
const requestData = {
depositId: paymentData.depositId,
returnUrl: paymentData.returnUrl,
statementDescription: paymentData.statementDescription,
amount: paymentData.amount,
msisdn: paymentData.msisdn,
language: paymentData.language || "EN",
country: paymentData.country,
reason: paymentData.reason,
metadata: paymentData.metadata || [],
};
return (0, serviceWrapper_1.wrapServiceCall)(async () => {
const response = await this.network.post(this.baseEndpoint, requestData, `payment initiation for deposit ${paymentData.depositId}`);
return {
redirectUrl: response.redirectUrl,
error: false,
};
}, this.network.handleApiError.bind(this.network), `payment initiation for deposit ${paymentData.depositId}`);
}
}
exports.PawapayPayments = PawapayPayments;
//# sourceMappingURL=index.js.map