@grtsnx/payba3 1.0.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (68) hide show
  1. package/CHANGELOG.md +20 -1
  2. package/CONTRIBUTING.md +3 -3
  3. package/README.md +149 -40
  4. package/dist/index.d.ts +4 -3
  5. package/dist/index.js +7 -3
  6. package/dist/lib/monnify/config/monnify.helper.d.ts +2 -1
  7. package/dist/lib/monnify/config/monnify.helper.js +18 -18
  8. package/dist/lib/monnify/config/monnify.helper.js.map +1 -1
  9. package/dist/lib/monnify/config/monnify.types.d.ts +11 -2
  10. package/dist/lib/monnify/monnify.service.d.ts +2 -2
  11. package/dist/lib/monnify/monnify.service.js +17 -21
  12. package/dist/lib/monnify/monnify.service.js.map +1 -1
  13. package/dist/lib/mono/config/mono.helper.d.ts +2 -1
  14. package/dist/lib/mono/config/mono.helper.js +9 -9
  15. package/dist/lib/mono/config/mono.helper.js.map +1 -1
  16. package/dist/lib/mono/config/mono.types.d.ts +7 -1
  17. package/dist/lib/mono/mono.service.d.ts +2 -2
  18. package/dist/lib/mono/mono.service.js +8 -21
  19. package/dist/lib/mono/mono.service.js.map +1 -1
  20. package/dist/lib/opay/config/opay.helper.d.ts +2 -1
  21. package/dist/lib/opay/config/opay.helper.js +15 -15
  22. package/dist/lib/opay/config/opay.helper.js.map +1 -1
  23. package/dist/lib/opay/config/opay.types.d.ts +11 -2
  24. package/dist/lib/opay/opay.service.d.ts +2 -2
  25. package/dist/lib/opay/opay.service.js +19 -21
  26. package/dist/lib/opay/opay.service.js.map +1 -1
  27. package/dist/lib/payba3.service.d.ts +3 -9
  28. package/dist/lib/payba3.service.js +17 -32
  29. package/dist/lib/payba3.service.js.map +1 -1
  30. package/dist/lib/payba3.types.d.ts +17 -0
  31. package/dist/lib/payba3.types.js.map +1 -1
  32. package/dist/lib/paystack/config/paystack.helper.js +7 -9
  33. package/dist/lib/paystack/config/paystack.helper.js.map +1 -1
  34. package/dist/lib/paystack/config/paystack.types.d.ts +6 -0
  35. package/dist/lib/paystack/paystack.service.d.ts +2 -2
  36. package/dist/lib/paystack/paystack.service.js +19 -28
  37. package/dist/lib/paystack/paystack.service.js.map +1 -1
  38. package/dist/lib/qoreid/config/qoreid.helper.js +7 -9
  39. package/dist/lib/qoreid/config/qoreid.helper.js.map +1 -1
  40. package/dist/lib/qoreid/config/qoreid.types.d.ts +7 -0
  41. package/dist/lib/qoreid/qoreid.service.d.ts +2 -2
  42. package/dist/lib/qoreid/qoreid.service.js +11 -19
  43. package/dist/lib/qoreid/qoreid.service.js.map +1 -1
  44. package/dist/lib/safehaven/config/safe.helper.d.ts +3 -1
  45. package/dist/lib/safehaven/config/safe.helper.js +29 -19
  46. package/dist/lib/safehaven/config/safe.helper.js.map +1 -1
  47. package/dist/lib/safehaven/config/safe.types.d.ts +16 -2
  48. package/dist/lib/safehaven/safe.service.d.ts +2 -4
  49. package/dist/lib/safehaven/safe.service.js +20 -27
  50. package/dist/lib/safehaven/safe.service.js.map +1 -1
  51. package/dist/lib/seerbit/config/seerbit.helper.d.ts +2 -1
  52. package/dist/lib/seerbit/config/seerbit.helper.js +13 -12
  53. package/dist/lib/seerbit/config/seerbit.helper.js.map +1 -1
  54. package/dist/lib/seerbit/config/seerbit.types.d.ts +10 -2
  55. package/dist/lib/seerbit/seerbit.service.d.ts +2 -2
  56. package/dist/lib/seerbit/seerbit.service.js +17 -24
  57. package/dist/lib/seerbit/seerbit.service.js.map +1 -1
  58. package/dist/lib/shared/index.d.ts +1 -0
  59. package/dist/lib/shared/index.js +1 -0
  60. package/dist/lib/shared/index.js.map +1 -1
  61. package/dist/lib/shared/payba3-error.d.ts +37 -0
  62. package/dist/lib/shared/payba3-error.js +64 -0
  63. package/dist/lib/shared/payba3-error.js.map +1 -0
  64. package/dist/lib/shared/response.helper.d.ts +3 -10
  65. package/dist/lib/shared/response.helper.js +5 -24
  66. package/dist/lib/shared/response.helper.js.map +1 -1
  67. package/llms.txt +12 -9
  68. package/package.json +9 -9
@@ -1,18 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.buildMonoQuery = exports.requestMono = exports.getMonoErrorMessage = exports.parseMonoResponse = exports.buildMonoRequestInit = exports.buildMonoHeaders = exports.assertMonoSecretKey = exports.getMonoSecretKey = exports.getMonoBaseUrl = exports.MONO_BASE_URL = void 0;
4
- const common_1 = require("@nestjs/common");
5
- const response_helper_1 = require("../../shared/response.helper");
3
+ exports.buildMonoQuery = exports.requestMono = exports.getMonoErrorMessage = exports.parseMonoResponse = exports.buildMonoRequestInit = exports.buildMonoHeaders = exports.assertMonoSecretKey = exports.getMonoSecretKey = exports.getMonoBaseUrl = exports.normalizeMonoEnvironment = exports.MONO_BASE_URL = void 0;
4
+ const shared_1 = require("../../shared");
6
5
  exports.MONO_BASE_URL = 'https://api.withmono.com';
6
+ const normalizeMonoEnvironment = (environment) => environment === 'live' || environment === 'production' ? 'live' : 'sandbox';
7
+ exports.normalizeMonoEnvironment = normalizeMonoEnvironment;
7
8
  const getMonoBaseUrl = (baseUrlOverride) => (baseUrlOverride ?? exports.MONO_BASE_URL).replace(/\/+$/, '');
8
9
  exports.getMonoBaseUrl = getMonoBaseUrl;
9
- const getMonoSecretKey = (environment) => (environment === 'live'
10
+ const getMonoSecretKey = (environment) => ((0, exports.normalizeMonoEnvironment)(environment) === 'live'
10
11
  ? process.env.MONO_LIVE_SECRET_KEY
11
12
  : process.env.MONO_SECRET_KEY)?.trim();
12
13
  exports.getMonoSecretKey = getMonoSecretKey;
13
14
  const assertMonoSecretKey = (secretKey) => {
14
15
  if (!secretKey) {
15
- throw new common_1.InternalServerErrorException('MONO_SECRET_KEY is not configured');
16
+ throw new shared_1.handleResponse(shared_1.PAYBA3_HTTP_STATUS.INTERNAL_SERVER_ERROR, 'MONO_SECRET_KEY is not configured');
16
17
  }
17
18
  return secretKey;
18
19
  };
@@ -43,7 +44,7 @@ const parseMonoResponse = async (response) => {
43
44
  }
44
45
  };
45
46
  exports.parseMonoResponse = parseMonoResponse;
46
- const getMonoErrorMessage = (error) => error instanceof Error ? error.message : 'Mono request failed';
47
+ const getMonoErrorMessage = (error) => (0, shared_1.getPayba3ErrorMessage)(error, 'Mono request failed');
47
48
  exports.getMonoErrorMessage = getMonoErrorMessage;
48
49
  const requestMono = async ({ baseUrl, secretKey, endpoint, options = {}, }) => {
49
50
  const key = (0, exports.assertMonoSecretKey)(secretKey);
@@ -52,14 +53,13 @@ const requestMono = async ({ baseUrl, secretKey, endpoint, options = {}, }) => {
52
53
  response = await fetch(`${baseUrl}${endpoint}`, (0, exports.buildMonoRequestInit)(key, options));
53
54
  }
54
55
  catch (error) {
55
- throw new common_1.BadGatewayException({
56
- message: 'Mono request failed',
56
+ throw new shared_1.handleResponse(shared_1.PAYBA3_HTTP_STATUS.BAD_GATEWAY, 'Mono request failed', {
57
57
  data: (0, exports.getMonoErrorMessage)(error),
58
58
  });
59
59
  }
60
60
  const body = await (0, exports.parseMonoResponse)(response);
61
61
  if (!response.ok) {
62
- throw new response_helper_1.handleResponse(common_1.HttpStatus.BAD_REQUEST, 'Mono request failed', body);
62
+ throw new shared_1.handleResponse(shared_1.PAYBA3_HTTP_STATUS.BAD_REQUEST, 'Mono request failed', body);
63
63
  }
64
64
  return body;
65
65
  };
@@ -1 +1 @@
1
- {"version":3,"file":"mono.helper.js","sourceRoot":"","sources":["../../../../src/lib/mono/config/mono.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mono.helper.js","sourceRoot":"","sources":["../../../../src/lib/mono/config/mono.helper.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,10 @@
1
- export type MonoEnvironment = 'sandbox' | 'live';
1
+ export type MonoEnvironment = 'sandbox' | 'live' | 'development' | 'production' | 'test' | 'provision';
2
+ export type NormalizedMonoEnvironment = 'sandbox' | 'live';
3
+ export type MonoServiceOptions = {
4
+ environment?: MonoEnvironment;
5
+ baseUrl?: string;
6
+ secretKey?: string;
7
+ };
2
8
  export type MonoHttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
3
9
  export type MonoRequestOptions = {
4
10
  method?: MonoHttpMethod;
@@ -1,8 +1,8 @@
1
- import type { MonoBvnLookupInput, MonoDisbursementSourceAccountInput, MonoInitiateAccountLinkingInput, MonoInitiatePaymentInput, MonoRequestOptions, MonoResponse } from './config/mono.types';
1
+ import type { MonoBvnLookupInput, MonoDisbursementSourceAccountInput, MonoInitiateAccountLinkingInput, MonoInitiatePaymentInput, MonoRequestOptions, MonoResponse, MonoServiceOptions } from './config/mono.types';
2
2
  export declare class MonoService {
3
3
  private readonly baseUrl;
4
4
  private readonly secretKey;
5
- constructor();
5
+ constructor(options?: MonoServiceOptions);
6
6
  request<T = unknown>(endpoint: string, options?: MonoRequestOptions): Promise<T>;
7
7
  initiateAccountLinking(input: MonoInitiateAccountLinkingInput): Promise<MonoResponse>;
8
8
  exchangeToken(code: string): Promise<MonoResponse>;
@@ -1,25 +1,16 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.MonoService = void 0;
13
- const common_1 = require("@nestjs/common");
14
4
  const mono_helper_1 = require("./config/mono.helper");
15
- let MonoService = class MonoService {
5
+ class MonoService {
16
6
  baseUrl;
17
7
  secretKey;
18
- constructor() {
19
- const environment = (process.env.MONO_ENVIRONMENT ??
20
- 'sandbox');
21
- this.baseUrl = (0, mono_helper_1.getMonoBaseUrl)(process.env.MONO_BASE_URL);
22
- this.secretKey = (0, mono_helper_1.getMonoSecretKey)(environment) ?? '';
8
+ constructor(options = {}) {
9
+ const environment = (0, mono_helper_1.normalizeMonoEnvironment)(options.environment ??
10
+ process.env.MONO_ENVIRONMENT ??
11
+ process.env.NODE_ENV);
12
+ this.baseUrl = (0, mono_helper_1.getMonoBaseUrl)(options.baseUrl ?? process.env.MONO_BASE_URL);
13
+ this.secretKey = options.secretKey ?? (0, mono_helper_1.getMonoSecretKey)(environment) ?? '';
23
14
  }
24
15
  async request(endpoint, options) {
25
16
  return (0, mono_helper_1.requestMono)({
@@ -68,10 +59,6 @@ let MonoService = class MonoService {
68
59
  body: input,
69
60
  });
70
61
  }
71
- };
62
+ }
72
63
  exports.MonoService = MonoService;
73
- exports.MonoService = MonoService = __decorate([
74
- (0, common_1.Injectable)(),
75
- __metadata("design:paramtypes", [])
76
- ], MonoService);
77
64
  //# sourceMappingURL=mono.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mono.service.js","sourceRoot":"","sources":["../../../src/lib/mono/mono.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA4C;AAC5C,sDAK8B;AAYvB,IAAM,WAAW,GAAjB,MAAM,WAAW;IACL,OAAO,CAAS;IAChB,SAAS,CAAS;IAEnC;QACE,MAAM,WAAW,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB;YAC/C,SAAS,CAAoB,CAAC;QAEhC,IAAI,CAAC,OAAO,GAAG,IAAA,4BAAc,EAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,IAAA,8BAAgB,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,OAAO,CACX,QAAgB,EAChB,OAA4B;QAE5B,OAAO,IAAA,yBAAW,EAAI;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ;YACR,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,KAAsC;QAEtC,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;YACvC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,IAAI,EAAE;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,SAAiB,EACjB,QAA+D,EAAE;QAEjE,OAAO,IAAI,CAAC,OAAO,CACjB,gBAAgB,kBAAkB,CAAC,SAAS,CAAC,gBAAgB,IAAA,4BAAc,EAAC,KAAK,CAAC,EAAE,CACrF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,KAA+B;QAE/B,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,+BAA+B,CACnC,KAAyC;QAEzC,OAAO,IAAI,CAAC,OAAO,CAAC,uCAAuC,EAAE;YAC3D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAyB;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE;YAC7C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;CACF,CAAA;AAjFY,kCAAW;sBAAX,WAAW;IADvB,IAAA,mBAAU,GAAE;;GACA,WAAW,CAiFvB"}
1
+ {"version":3,"file":"mono.service.js","sourceRoot":"","sources":["../../../src/lib/mono/mono.service.ts"],"names":[],"mappings":";;;AAAA,sDAM8B;AAY9B,MAAa,WAAW;IACL,OAAO,CAAS;IAChB,SAAS,CAAS;IAEnC,YAAY,UAA8B,EAAE;QAC1C,MAAM,WAAW,GAAG,IAAA,sCAAwB,EAC1C,OAAO,CAAC,WAAW;YACjB,OAAO,CAAC,GAAG,CAAC,gBAAgB;YAC5B,OAAO,CAAC,GAAG,CAAC,QAAQ,CACJ,CAAC;QAErB,IAAI,CAAC,OAAO,GAAG,IAAA,4BAAc,EAAC,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC5E,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,IAAI,IAAA,8BAAgB,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,OAAO,CACX,QAAgB,EAChB,OAA4B;QAE5B,OAAO,IAAA,yBAAW,EAAI;YACpB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,QAAQ;YACR,OAAO;SACR,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,sBAAsB,CAC1B,KAAsC;QAEtC,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY;QAC9B,OAAO,IAAI,CAAC,OAAO,CAAC,mBAAmB,EAAE;YACvC,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,EAAE,IAAI,EAAE;SACf,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,SAAiB;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,gBAAgB,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,SAAiB,EACjB,QAA+D,EAAE;QAEjE,OAAO,IAAI,CAAC,OAAO,CACjB,gBAAgB,kBAAkB,CAAC,SAAS,CAAC,gBAAgB,IAAA,4BAAc,EAAC,KAAK,CAAC,EAAE,CACrF,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,KAA+B;QAE/B,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,EAAE;YAC3C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAiB;QACnC,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,kBAAkB,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,+BAA+B,CACnC,KAAyC;QAEzC,OAAO,IAAI,CAAC,OAAO,CAAC,uCAAuC,EAAE;YAC3D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,KAAyB;QAC/C,OAAO,IAAI,CAAC,OAAO,CAAC,yBAAyB,EAAE;YAC7C,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;CACF;AApFD,kCAoFC"}
@@ -1,5 +1,6 @@
1
- import type { OPayBaseUrls, OPayCredentials, OPayEnvironment, OPayRequestContext, OPayRequestOptions, OPayResponse } from './opay.types';
1
+ import type { OPayBaseUrls, OPayCredentials, OPayEnvironment, NormalizedOPayEnvironment, OPayRequestContext, OPayRequestOptions, OPayResponse } from './opay.types';
2
2
  export declare const OPAY_BASE_URLS: OPayBaseUrls;
3
+ export declare const normalizeOPayEnvironment: (environment?: string) => NormalizedOPayEnvironment;
3
4
  export declare const getOPayBaseUrl: (environment: OPayEnvironment, baseUrlOverride?: string) => string;
4
5
  export declare const getOPayCredentials: (environment: OPayEnvironment) => OPayCredentials;
5
6
  export declare const assertOPayCredentials: (credentials: OPayCredentials, authMode: OPayRequestOptions["authMode"]) => void;
@@ -33,37 +33,38 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.verifyOPayCallbackSignature = exports.requestOPay = exports.getOPayErrorMessage = exports.isOPayResponse = exports.parseOPayResponse = exports.buildOPayRequestInit = exports.buildOPayHeaders = exports.createOPayCallbackSignature = exports.stringifyOPayCallbackPayload = exports.createOPaySignature = exports.stringifyOPayPayload = exports.sortObjectKeys = exports.assertOPayCredentials = exports.getOPayCredentials = exports.getOPayBaseUrl = exports.OPAY_BASE_URLS = void 0;
36
+ exports.verifyOPayCallbackSignature = exports.requestOPay = exports.getOPayErrorMessage = exports.isOPayResponse = exports.parseOPayResponse = exports.buildOPayRequestInit = exports.buildOPayHeaders = exports.createOPayCallbackSignature = exports.stringifyOPayCallbackPayload = exports.createOPaySignature = exports.stringifyOPayPayload = exports.sortObjectKeys = exports.assertOPayCredentials = exports.getOPayCredentials = exports.getOPayBaseUrl = exports.normalizeOPayEnvironment = exports.OPAY_BASE_URLS = void 0;
37
37
  const crypto = __importStar(require("crypto"));
38
- const common_1 = require("@nestjs/common");
39
- const response_helper_1 = require("../../shared/response.helper");
38
+ const shared_1 = require("../../shared");
40
39
  exports.OPAY_BASE_URLS = {
41
40
  sandbox: 'https://testapi.opaycheckout.com',
42
41
  live: 'https://liveapi.opaycheckout.com',
43
42
  };
44
- const getOPayBaseUrl = (environment, baseUrlOverride) => (baseUrlOverride ?? exports.OPAY_BASE_URLS[environment]).replace(/\/+$/, '');
43
+ const normalizeOPayEnvironment = (environment) => environment === 'live' || environment === 'production' ? 'live' : 'sandbox';
44
+ exports.normalizeOPayEnvironment = normalizeOPayEnvironment;
45
+ const getOPayBaseUrl = (environment, baseUrlOverride) => (baseUrlOverride ?? exports.OPAY_BASE_URLS[(0, exports.normalizeOPayEnvironment)(environment)]).replace(/\/+$/, '');
45
46
  exports.getOPayBaseUrl = getOPayBaseUrl;
46
47
  const getOPayCredentials = (environment) => ({
47
- merchantId: (environment === 'live'
48
+ merchantId: ((0, exports.normalizeOPayEnvironment)(environment) === 'live'
48
49
  ? process.env.OPAY_LIVE_MERCHANT_ID
49
50
  : process.env.OPAY_MERCHANT_ID)?.trim() ?? '',
50
- publicKey: (environment === 'live'
51
+ publicKey: ((0, exports.normalizeOPayEnvironment)(environment) === 'live'
51
52
  ? process.env.OPAY_LIVE_PUBLIC_KEY
52
53
  : process.env.OPAY_PUBLIC_KEY)?.trim() ?? '',
53
- secretKey: (environment === 'live'
54
+ secretKey: ((0, exports.normalizeOPayEnvironment)(environment) === 'live'
54
55
  ? process.env.OPAY_LIVE_SECRET_KEY
55
56
  : process.env.OPAY_SECRET_KEY)?.trim() ?? '',
56
57
  });
57
58
  exports.getOPayCredentials = getOPayCredentials;
58
59
  const assertOPayCredentials = (credentials, authMode) => {
59
60
  if (!credentials.merchantId) {
60
- throw new common_1.InternalServerErrorException('OPAY_MERCHANT_ID is not configured');
61
+ throw new shared_1.handleResponse(shared_1.PAYBA3_HTTP_STATUS.INTERNAL_SERVER_ERROR, 'OPAY_MERCHANT_ID is not configured');
61
62
  }
62
63
  if (authMode === 'publicKey' && !credentials.publicKey) {
63
- throw new common_1.InternalServerErrorException('OPAY_PUBLIC_KEY is not configured');
64
+ throw new shared_1.handleResponse(shared_1.PAYBA3_HTTP_STATUS.INTERNAL_SERVER_ERROR, 'OPAY_PUBLIC_KEY is not configured');
64
65
  }
65
66
  if (authMode === 'signature' && !credentials.secretKey) {
66
- throw new common_1.InternalServerErrorException('OPAY_SECRET_KEY is not configured');
67
+ throw new shared_1.handleResponse(shared_1.PAYBA3_HTTP_STATUS.INTERNAL_SERVER_ERROR, 'OPAY_SECRET_KEY is not configured');
67
68
  }
68
69
  };
69
70
  exports.assertOPayCredentials = assertOPayCredentials;
@@ -137,7 +138,7 @@ const isOPayResponse = (value) => typeof value === 'object' &&
137
138
  'code' in value &&
138
139
  'message' in value;
139
140
  exports.isOPayResponse = isOPayResponse;
140
- const getOPayErrorMessage = (error) => error instanceof Error ? error.message : 'OPay request failed';
141
+ const getOPayErrorMessage = (error) => (0, shared_1.getPayba3ErrorMessage)(error, 'OPay request failed');
141
142
  exports.getOPayErrorMessage = getOPayErrorMessage;
142
143
  const requestOPay = async ({ baseUrl, credentials, endpoint, options, }) => {
143
144
  (0, exports.assertOPayCredentials)(credentials, options.authMode);
@@ -146,17 +147,16 @@ const requestOPay = async ({ baseUrl, credentials, endpoint, options, }) => {
146
147
  response = await fetch(`${baseUrl}${endpoint}`, (0, exports.buildOPayRequestInit)(credentials, options));
147
148
  }
148
149
  catch (error) {
149
- throw new common_1.BadGatewayException({
150
- message: 'OPay request failed',
150
+ throw new shared_1.handleResponse(shared_1.PAYBA3_HTTP_STATUS.BAD_GATEWAY, 'OPay request failed', {
151
151
  data: (0, exports.getOPayErrorMessage)(error),
152
152
  });
153
153
  }
154
154
  const body = await (0, exports.parseOPayResponse)(response);
155
155
  if (!response.ok) {
156
- throw new response_helper_1.handleResponse(common_1.HttpStatus.BAD_REQUEST, 'OPay request failed', body);
156
+ throw new shared_1.handleResponse(shared_1.PAYBA3_HTTP_STATUS.BAD_REQUEST, 'OPay request failed', body);
157
157
  }
158
158
  if ((0, exports.isOPayResponse)(body) && body.code !== '00000') {
159
- throw new response_helper_1.handleResponse(common_1.HttpStatus.BAD_REQUEST, body.message || 'OPay request failed', body);
159
+ throw new shared_1.handleResponse(shared_1.PAYBA3_HTTP_STATUS.BAD_REQUEST, body.message || 'OPay request failed', body);
160
160
  }
161
161
  return body;
162
162
  };
@@ -1 +1 @@
1
- {"version":3,"file":"opay.helper.js","sourceRoot":"","sources":["../../../../src/lib/opay/config/opay.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opay.helper.js","sourceRoot":"","sources":["../../../../src/lib/opay/config/opay.helper.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
- export type OPayEnvironment = 'sandbox' | 'live';
1
+ export type OPayEnvironment = 'sandbox' | 'live' | 'development' | 'production' | 'test' | 'provision';
2
+ export type NormalizedOPayEnvironment = 'sandbox' | 'live';
2
3
  export type OPayHttpMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE';
3
4
  export type OPayAuthMode = 'publicKey' | 'signature';
4
5
  export type OPayCredentials = {
@@ -6,7 +7,15 @@ export type OPayCredentials = {
6
7
  publicKey: string;
7
8
  secretKey: string;
8
9
  };
9
- export type OPayBaseUrls = Record<OPayEnvironment, string>;
10
+ export type OPayServiceOptions = {
11
+ environment?: OPayEnvironment;
12
+ baseUrl?: string;
13
+ credentials?: Partial<OPayCredentials>;
14
+ merchantId?: string;
15
+ publicKey?: string;
16
+ secretKey?: string;
17
+ };
18
+ export type OPayBaseUrls = Record<NormalizedOPayEnvironment, string>;
10
19
  export type OPayAmount = {
11
20
  total: number;
12
21
  currency: string;
@@ -1,8 +1,8 @@
1
- import type { OPayOtpPayload, OPayPaymentPayload, OPayRefundPayload, OPayRequestOptions, OPayResponse, OPayStatusPayload } from './config/opay.types';
1
+ import type { OPayOtpPayload, OPayPaymentPayload, OPayRefundPayload, OPayRequestOptions, OPayResponse, OPayServiceOptions, OPayStatusPayload } from './config/opay.types';
2
2
  export declare class OPayService {
3
3
  private readonly baseUrl;
4
4
  private readonly credentials;
5
- constructor();
5
+ constructor(options?: OPayServiceOptions);
6
6
  request<T = unknown>(endpoint: string, options: OPayRequestOptions): Promise<T>;
7
7
  createCashierPayment(input: OPayPaymentPayload): Promise<OPayResponse>;
8
8
  createPayment(input: OPayPaymentPayload): Promise<OPayResponse>;
@@ -1,25 +1,27 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
3
  exports.OPayService = void 0;
13
- const common_1 = require("@nestjs/common");
14
4
  const opay_helper_1 = require("./config/opay.helper");
15
- let OPayService = class OPayService {
5
+ class OPayService {
16
6
  baseUrl;
17
7
  credentials;
18
- constructor() {
19
- const environment = (process.env.OPAY_ENVIRONMENT ??
20
- 'sandbox');
21
- this.baseUrl = (0, opay_helper_1.getOPayBaseUrl)(environment, process.env.OPAY_BASE_URL);
22
- this.credentials = (0, opay_helper_1.getOPayCredentials)(environment);
8
+ constructor(options = {}) {
9
+ const environment = (0, opay_helper_1.normalizeOPayEnvironment)(options.environment ??
10
+ process.env.OPAY_ENVIRONMENT ??
11
+ process.env.NODE_ENV);
12
+ const envCredentials = (0, opay_helper_1.getOPayCredentials)(environment);
13
+ this.baseUrl = (0, opay_helper_1.getOPayBaseUrl)(environment, options.baseUrl ?? process.env.OPAY_BASE_URL);
14
+ this.credentials = {
15
+ merchantId: options.merchantId ??
16
+ options.credentials?.merchantId ??
17
+ envCredentials.merchantId,
18
+ publicKey: options.publicKey ??
19
+ options.credentials?.publicKey ??
20
+ envCredentials.publicKey,
21
+ secretKey: options.secretKey ??
22
+ options.credentials?.secretKey ??
23
+ envCredentials.secretKey,
24
+ };
23
25
  }
24
26
  async request(endpoint, options) {
25
27
  return (0, opay_helper_1.requestOPay)({
@@ -95,10 +97,6 @@ let OPayService = class OPayService {
95
97
  verifyCallback(body, signature) {
96
98
  return (0, opay_helper_1.verifyOPayCallbackSignature)(body, signature, this.credentials.secretKey);
97
99
  }
98
- };
100
+ }
99
101
  exports.OPayService = OPayService;
100
- exports.OPayService = OPayService = __decorate([
101
- (0, common_1.Injectable)(),
102
- __metadata("design:paramtypes", [])
103
- ], OPayService);
104
102
  //# sourceMappingURL=opay.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"opay.service.js","sourceRoot":"","sources":["../../../src/lib/opay/opay.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"opay.service.js","sourceRoot":"","sources":["../../../src/lib/opay/opay.service.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,10 @@
1
- import { MonoService } from './mono/mono.service';
2
- import { MonnifyService } from './monnify/monnify.service';
3
- import { OPayService } from './opay/opay.service';
4
- import { PaystackService } from './paystack/paystack.service';
5
- import { QoreIDService } from './qoreid/qoreid.service';
6
- import { SafehavenService } from './safehaven/safe.service';
7
- import { SeerbitService } from './seerbit/seerbit.service';
8
- import { type Payba3ChannelMap, type Payba3ChannelName } from './payba3.types';
1
+ import { type Payba3Config, type Payba3ChannelMap, type Payba3ChannelName } from './payba3.types';
9
2
  export declare class Payba3Service {
10
3
  private readonly channels;
11
- constructor(mono: MonoService, monnify: MonnifyService, opay: OPayService, paystack: PaystackService, qoreid: QoreIDService, safehaven: SafehavenService, seerbit: SeerbitService);
4
+ constructor(config?: Payba3Config);
12
5
  list(): Payba3ChannelName[];
13
6
  has(channel: string): channel is Payba3ChannelName;
14
7
  use<T extends Payba3ChannelName>(channel: T): Payba3ChannelMap[T];
15
8
  use(channel: string): Payba3ChannelMap[Payba3ChannelName];
16
9
  }
10
+ export declare const createPayba3: (config?: Payba3Config) => Payba3Service;
@@ -1,16 +1,6 @@
1
1
  "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
2
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.Payba3Service = void 0;
13
- const common_1 = require("@nestjs/common");
3
+ exports.createPayba3 = exports.Payba3Service = void 0;
14
4
  const mono_service_1 = require("./mono/mono.service");
15
5
  const monnify_service_1 = require("./monnify/monnify.service");
16
6
  const opay_service_1 = require("./opay/opay.service");
@@ -18,18 +8,19 @@ const paystack_service_1 = require("./paystack/paystack.service");
18
8
  const qoreid_service_1 = require("./qoreid/qoreid.service");
19
9
  const safe_service_1 = require("./safehaven/safe.service");
20
10
  const seerbit_service_1 = require("./seerbit/seerbit.service");
11
+ const shared_1 = require("./shared");
21
12
  const payba3_types_1 = require("./payba3.types");
22
- let Payba3Service = class Payba3Service {
13
+ class Payba3Service {
23
14
  channels;
24
- constructor(mono, monnify, opay, paystack, qoreid, safehaven, seerbit) {
15
+ constructor(config = {}) {
25
16
  this.channels = {
26
- mono,
27
- monnify,
28
- opay,
29
- paystack,
30
- qoreid,
31
- safehaven,
32
- seerbit,
17
+ mono: config.channels?.mono ?? new mono_service_1.MonoService(config.mono),
18
+ monnify: config.channels?.monnify ?? new monnify_service_1.MonnifyService(config.monnify),
19
+ opay: config.channels?.opay ?? new opay_service_1.OPayService(config.opay),
20
+ paystack: config.channels?.paystack ?? new paystack_service_1.PaystackService(config.paystack),
21
+ qoreid: config.channels?.qoreid ?? new qoreid_service_1.QoreIDService(config.qoreid),
22
+ safehaven: config.channels?.safehaven ?? new safe_service_1.SafehavenService(config.safehaven),
23
+ seerbit: config.channels?.seerbit ?? new seerbit_service_1.SeerbitService(config.seerbit),
33
24
  };
34
25
  }
35
26
  list() {
@@ -40,20 +31,14 @@ let Payba3Service = class Payba3Service {
40
31
  }
41
32
  use(channel) {
42
33
  if (!this.has(channel)) {
43
- throw new common_1.NotFoundException(`Unsupported payment channel: ${channel}`);
34
+ throw new shared_1.Payba3Error(`Unsupported payment channel: ${channel}`, {
35
+ statusCode: shared_1.PAYBA3_HTTP_STATUS.NOT_FOUND,
36
+ });
44
37
  }
45
38
  return this.channels[channel];
46
39
  }
47
- };
40
+ }
48
41
  exports.Payba3Service = Payba3Service;
49
- exports.Payba3Service = Payba3Service = __decorate([
50
- (0, common_1.Injectable)(),
51
- __metadata("design:paramtypes", [mono_service_1.MonoService,
52
- monnify_service_1.MonnifyService,
53
- opay_service_1.OPayService,
54
- paystack_service_1.PaystackService,
55
- qoreid_service_1.QoreIDService,
56
- safe_service_1.SafehavenService,
57
- seerbit_service_1.SeerbitService])
58
- ], Payba3Service);
42
+ const createPayba3 = (config = {}) => new Payba3Service(config);
43
+ exports.createPayba3 = createPayba3;
59
44
  //# sourceMappingURL=payba3.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payba3.service.js","sourceRoot":"","sources":["../../src/lib/payba3.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAA+D;AAC/D,sDAAkD;AAClD,+DAA2D;AAC3D,sDAAkD;AAClD,kEAA8D;AAC9D,4DAAwD;AACxD,2DAA4D;AAC5D,+DAA2D;AAC3D,iDAIwB;AAGjB,IAAM,aAAa,GAAnB,MAAM,aAAa;IACP,QAAQ,CAAmB;IAE5C,YACE,IAAiB,EACjB,OAAuB,EACvB,IAAiB,EACjB,QAAyB,EACzB,MAAqB,EACrB,SAA2B,EAC3B,OAAuB;QAEvB,IAAI,CAAC,QAAQ,GAAG;YACd,IAAI;YACJ,OAAO;YACP,IAAI;YACJ,QAAQ;YACR,MAAM;YACN,SAAS;YACT,OAAO;SACR,CAAC;IACJ,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,8BAAe,CAAC,CAAC;IAC9B,CAAC;IAED,GAAG,CAAC,OAAe;QACjB,OAAO,8BAAe,CAAC,QAAQ,CAAC,OAA4B,CAAC,CAAC;IAChE,CAAC;IAID,GAAG,CAAC,OAAe;QACjB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,0BAAiB,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;CACF,CAAA;AAxCY,sCAAa;wBAAb,aAAa;IADzB,IAAA,mBAAU,GAAE;qCAKH,0BAAW;QACR,gCAAc;QACjB,0BAAW;QACP,kCAAe;QACjB,8BAAa;QACV,+BAAgB;QAClB,gCAAc;GAVd,aAAa,CAwCzB"}
1
+ {"version":3,"file":"payba3.service.js","sourceRoot":"","sources":["../../src/lib/payba3.service.ts"],"names":[],"mappings":";;;AAAA,sDAAkD;AAClD,+DAA2D;AAC3D,sDAAkD;AAClD,kEAA8D;AAC9D,4DAAwD;AACxD,2DAA4D;AAC5D,+DAA2D;AAC3D,qCAA2D;AAC3D,iDAKwB;AAExB,MAAa,aAAa;IACP,QAAQ,CAAmB;IAE5C,YAAY,SAAuB,EAAE;QACnC,IAAI,CAAC,QAAQ,GAAG;YACd,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,0BAAW,CAAC,MAAM,CAAC,IAAI,CAAC;YAC3D,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,IAAI,IAAI,gCAAc,CAAC,MAAM,CAAC,OAAO,CAAC;YACvE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,IAAI,IAAI,0BAAW,CAAC,MAAM,CAAC,IAAI,CAAC;YAC3D,QAAQ,EACN,MAAM,CAAC,QAAQ,EAAE,QAAQ,IAAI,IAAI,kCAAe,CAAC,MAAM,CAAC,QAAQ,CAAC;YACnE,MAAM,EAAE,MAAM,CAAC,QAAQ,EAAE,MAAM,IAAI,IAAI,8BAAa,CAAC,MAAM,CAAC,MAAM,CAAC;YACnE,SAAS,EACP,MAAM,CAAC,QAAQ,EAAE,SAAS,IAAI,IAAI,+BAAgB,CAAC,MAAM,CAAC,SAAS,CAAC;YACtE,OAAO,EAAE,MAAM,CAAC,QAAQ,EAAE,OAAO,IAAI,IAAI,gCAAc,CAAC,MAAM,CAAC,OAAO,CAAC;SACxE,CAAC;IACJ,CAAC;IAED,IAAI;QACF,OAAO,CAAC,GAAG,8BAAe,CAAC,CAAC;IAC9B,CAAC;IAED,GAAG,CAAC,OAAe;QACjB,OAAO,8BAAe,CAAC,QAAQ,CAAC,OAA4B,CAAC,CAAC;IAChE,CAAC;IAID,GAAG,CAAC,OAAe;QACjB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;YACvB,MAAM,IAAI,oBAAW,CAAC,gCAAgC,OAAO,EAAE,EAAE;gBAC/D,UAAU,EAAE,2BAAkB,CAAC,SAAS;aACzC,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;CACF;AApCD,sCAoCC;AAEM,MAAM,YAAY,GAAG,CAAC,SAAuB,EAAE,EAAiB,EAAE,CACvE,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;AADf,QAAA,YAAY,gBACG"}
@@ -1,10 +1,17 @@
1
1
  import type { MonoService } from './mono/mono.service';
2
+ import type { MonoServiceOptions } from './mono/config/mono.types';
2
3
  import type { MonnifyService } from './monnify/monnify.service';
4
+ import type { MonnifyServiceOptions } from './monnify/config/monnify.types';
3
5
  import type { OPayService } from './opay/opay.service';
6
+ import type { OPayServiceOptions } from './opay/config/opay.types';
4
7
  import type { PaystackService } from './paystack/paystack.service';
8
+ import type { PaystackServiceOptions } from './paystack/config/paystack.types';
5
9
  import type { QoreIDService } from './qoreid/qoreid.service';
10
+ import type { QoreIDServiceOptions } from './qoreid/config/qoreid.types';
6
11
  import type { SafehavenService } from './safehaven/safe.service';
12
+ import type { SafehavenServiceOptions } from './safehaven/config/safe.types';
7
13
  import type { SeerbitService } from './seerbit/seerbit.service';
14
+ import type { SeerbitServiceOptions } from './seerbit/config/seerbit.types';
8
15
  export declare const PAYBA3_CHANNELS: readonly ["mono", "monnify", "opay", "paystack", "qoreid", "safehaven", "seerbit"];
9
16
  export type Payba3ChannelName = (typeof PAYBA3_CHANNELS)[number];
10
17
  export type Payba3ChannelMap = {
@@ -16,3 +23,13 @@ export type Payba3ChannelMap = {
16
23
  safehaven: SafehavenService;
17
24
  seerbit: SeerbitService;
18
25
  };
26
+ export type Payba3Config = {
27
+ mono?: MonoServiceOptions;
28
+ monnify?: MonnifyServiceOptions;
29
+ opay?: OPayServiceOptions;
30
+ paystack?: PaystackServiceOptions;
31
+ qoreid?: QoreIDServiceOptions;
32
+ safehaven?: SafehavenServiceOptions;
33
+ seerbit?: SeerbitServiceOptions;
34
+ channels?: Partial<Payba3ChannelMap>;
35
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"payba3.types.js","sourceRoot":"","sources":["../../src/lib/payba3.types.ts"],"names":[],"mappings":";;;AAQa,QAAA,eAAe,GAAG;IAC7B,MAAM;IACN,SAAS;IACT,MAAM;IACN,UAAU;IACV,QAAQ;IACR,WAAW;IACX,SAAS;CACD,CAAC"}
1
+ {"version":3,"file":"payba3.types.js","sourceRoot":"","sources":["../../src/lib/payba3.types.ts"],"names":[],"mappings":";;;AAea,QAAA,eAAe,GAAG;IAC7B,MAAM;IACN,SAAS;IACT,MAAM;IACN,UAAU;IACV,QAAQ;IACR,WAAW;IACX,SAAS;CACD,CAAC"}
@@ -35,8 +35,7 @@ var __importStar = (this && this.__importStar) || (function () {
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.isTimingSafeEqual = exports.createPaystackSignatureHash = exports.getPaystackSignature = exports.requestPaystack = exports.getPaystackErrorMessage = exports.isPaystackErrorResponse = exports.parsePaystackResponse = exports.assertPaystackSecret = exports.buildPaystackRequestInit = exports.buildPaystackHeaders = exports.getPaystackPreferredBank = exports.getPaystackSecret = exports.normalizePaystackEnvironment = exports.PAYSTACK_BASE_URL = void 0;
37
37
  const crypto = __importStar(require("crypto"));
38
- const common_1 = require("@nestjs/common");
39
- const response_helper_1 = require("../../shared/response.helper");
38
+ const shared_1 = require("../../shared");
40
39
  exports.PAYSTACK_BASE_URL = 'https://api.paystack.co';
41
40
  const normalizePaystackEnvironment = (environment) => environment === 'live' || environment === 'production' ? 'live' : 'sandbox';
42
41
  exports.normalizePaystackEnvironment = normalizePaystackEnvironment;
@@ -62,7 +61,7 @@ const buildPaystackRequestInit = (secret, options) => ({
62
61
  exports.buildPaystackRequestInit = buildPaystackRequestInit;
63
62
  const assertPaystackSecret = (secret) => {
64
63
  if (!secret) {
65
- throw new common_1.InternalServerErrorException('Paystack secret key not set');
64
+ throw new shared_1.handleResponse(shared_1.PAYBA3_HTTP_STATUS.INTERNAL_SERVER_ERROR, 'Paystack secret key not set');
66
65
  }
67
66
  return secret;
68
67
  };
@@ -84,7 +83,7 @@ const isPaystackErrorResponse = (value) => typeof value === 'object' &&
84
83
  value !== null &&
85
84
  ('status' in value || 'message' in value);
86
85
  exports.isPaystackErrorResponse = isPaystackErrorResponse;
87
- const getPaystackErrorMessage = (error) => error instanceof Error ? error.message : 'Request failed';
86
+ const getPaystackErrorMessage = (error) => (0, shared_1.getPayba3ErrorMessage)(error, 'Request failed');
88
87
  exports.getPaystackErrorMessage = getPaystackErrorMessage;
89
88
  const requestPaystack = async ({ baseUrl, secret, endpoint, options = {}, }) => {
90
89
  const paystackSecret = (0, exports.assertPaystackSecret)(secret);
@@ -93,21 +92,20 @@ const requestPaystack = async ({ baseUrl, secret, endpoint, options = {}, }) =>
93
92
  response = await fetch(`${baseUrl}${endpoint}`, (0, exports.buildPaystackRequestInit)(paystackSecret, options));
94
93
  }
95
94
  catch (error) {
96
- throw new common_1.BadGatewayException({
97
- message: 'Paystack request failed',
95
+ throw new shared_1.handleResponse(shared_1.PAYBA3_HTTP_STATUS.BAD_GATEWAY, 'Paystack request failed', {
98
96
  data: (0, exports.getPaystackErrorMessage)(error),
99
97
  });
100
98
  }
101
99
  const responseBody = await (0, exports.parsePaystackResponse)(response);
102
100
  if (response.status === 401) {
103
- throw new common_1.UnauthorizedException('Unauthorized request to Paystack');
101
+ throw new shared_1.handleResponse(shared_1.PAYBA3_HTTP_STATUS.UNAUTHORIZED, 'Unauthorized request to Paystack');
104
102
  }
105
103
  if (!response.ok) {
106
104
  if ((0, exports.isPaystackErrorResponse)(responseBody) &&
107
105
  responseBody.status === false) {
108
- throw new response_helper_1.handleResponse(common_1.HttpStatus.BAD_REQUEST, responseBody.message ?? 'Paystack request failed', responseBody);
106
+ throw new shared_1.handleResponse(shared_1.PAYBA3_HTTP_STATUS.BAD_REQUEST, responseBody.message ?? 'Paystack request failed', responseBody);
109
107
  }
110
- throw new response_helper_1.handleResponse(common_1.HttpStatus.INTERNAL_SERVER_ERROR, 'Request failed', responseBody);
108
+ throw new shared_1.handleResponse(shared_1.PAYBA3_HTTP_STATUS.INTERNAL_SERVER_ERROR, 'Request failed', responseBody);
111
109
  }
112
110
  return responseBody;
113
111
  };
@@ -1 +1 @@
1
- {"version":3,"file":"paystack.helper.js","sourceRoot":"","sources":["../../../../src/lib/paystack/config/paystack.helper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"paystack.helper.js","sourceRoot":"","sources":["../../../../src/lib/paystack/config/paystack.helper.ts"],"names":[],"mappings":"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"}