mpesajs
Version:
A Node.js SDK for seamless integration with M-Pesa payment gateway, providing easy-to-use methods for handling transactions, payments, and API interactions
33 lines • 1.61 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RegisterUrlErrorHandler = exports.RegisterUrlError = void 0;
const ErrorHandlers_1 = require("./ErrorHandlers");
class RegisterUrlError extends ErrorHandlers_1.MpesaError {
constructor(message, responseCode, shortCode) {
super(message);
this.responseCode = responseCode;
this.shortCode = shortCode;
this.name = 'RegisterUrlError';
}
}
exports.RegisterUrlError = RegisterUrlError;
class RegisterUrlErrorHandler {
static handle(error) {
// Handle response data errors
if (error === null || error === void 0 ? void 0 : error.header) {
const { responseCode, responseMessage } = error.header;
throw new RegisterUrlError(responseMessage || 'Register URL error occurred', responseCode);
}
// Handle API-level errors
if (error === null || error === void 0 ? void 0 : error.errorCode) {
throw new RegisterUrlError(error.errorMessage || 'Unknown error occurred', error.errorCode);
}
// Handle network errors
if (error === null || error === void 0 ? void 0 : error.request) {
throw new ErrorHandlers_1.NetworkError('No response received from the API. Please check your network connection.');
}
throw new RegisterUrlError(`Register URL error occurred: ${(error === null || error === void 0 ? void 0 : error.message) || 'No error details available'}`);
}
}
exports.RegisterUrlErrorHandler = RegisterUrlErrorHandler;
//# sourceMappingURL=RegisterUrlError.js.map