pi-spi-sdk 0.1.2 → 0.1.3

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 (113) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/config.js +2 -1
  3. package/dist/error-handler.js +11 -8
  4. package/dist/errors.js +13 -5
  5. package/dist/examples.js +11 -9
  6. package/dist/generated/core/ApiError.js +5 -1
  7. package/dist/generated/core/ApiRequestOptions.js +2 -1
  8. package/dist/generated/core/ApiResult.js +2 -1
  9. package/dist/generated/core/CancelablePromise.js +7 -2
  10. package/dist/generated/core/OpenAPI.js +4 -1
  11. package/dist/generated/core/request.js +75 -52
  12. package/dist/generated/index.js +82 -39
  13. package/dist/generated/models/AliasCreationReponse.js +2 -1
  14. package/dist/generated/models/AliasCreationRequest.js +2 -1
  15. package/dist/generated/models/AliasReponseListe.js +2 -1
  16. package/dist/generated/models/AnnulationStatut.js +5 -2
  17. package/dist/generated/models/Champs.js +2 -1
  18. package/dist/generated/models/CompteOperation.js +5 -2
  19. package/dist/generated/models/CompteOperationListe.js +2 -1
  20. package/dist/generated/models/CompteSolde.js +5 -2
  21. package/dist/generated/models/CompteTransfertIntraReponse.js +5 -2
  22. package/dist/generated/models/CompteTransfertIntraRequest.js +2 -1
  23. package/dist/generated/models/DemandePaiementConfirmationAnnulationRaison.js +5 -2
  24. package/dist/generated/models/DemandePaiementConfirmationReponse.js +5 -2
  25. package/dist/generated/models/DemandePaiementConfirmationRequest.js +2 -1
  26. package/dist/generated/models/DemandePaiementConfirmationRequestAccepter.js +2 -1
  27. package/dist/generated/models/DemandePaiementConfirmationRequestRejeter.js +2 -1
  28. package/dist/generated/models/DemandePaiementConsultationReponse.js +5 -2
  29. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequest.js +2 -1
  30. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestAccepter.js +2 -1
  31. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestRejeter.js +2 -1
  32. package/dist/generated/models/DemandePaiementEnMasseRequest.js +2 -1
  33. package/dist/generated/models/DemandePaiementEnMasseStatutReponse.js +5 -2
  34. package/dist/generated/models/DemandePaiementListe.js +2 -1
  35. package/dist/generated/models/DemandePaiementListeItem.js +5 -2
  36. package/dist/generated/models/DemandePaiementReponse.js +2 -1
  37. package/dist/generated/models/DemandePaiementReponseRequest.js +5 -2
  38. package/dist/generated/models/DemandePaiementRequest.js +5 -2
  39. package/dist/generated/models/DemandePaiementRequestBase.js +2 -1
  40. package/dist/generated/models/DemandePaiementRequestCategorie.js +5 -2
  41. package/dist/generated/models/DemandePaiementStatut.js +5 -2
  42. package/dist/generated/models/DemandePaiementStatutRaison.js +5 -2
  43. package/dist/generated/models/ListeMeta.js +2 -1
  44. package/dist/generated/models/Paiement.js +5 -2
  45. package/dist/generated/models/PaiementAnnulationMotif.js +5 -2
  46. package/dist/generated/models/PaiementAnnulationReponseRequest.js +2 -1
  47. package/dist/generated/models/PaiementAnnulationReponseRequestAccepter.js +2 -1
  48. package/dist/generated/models/PaiementAnnulationReponseRequestRejeter.js +2 -1
  49. package/dist/generated/models/PaiementAnnulationRequest.js +2 -1
  50. package/dist/generated/models/PaiementAnnulationStatutRaison.js +5 -2
  51. package/dist/generated/models/PaiementEnMasseConfirmationRequest.js +2 -1
  52. package/dist/generated/models/PaiementEnMasseConfirmationRequestAccepter.js +2 -1
  53. package/dist/generated/models/PaiementEnMasseConfirmationRequestRejeter.js +2 -1
  54. package/dist/generated/models/PaiementEnMasseReponseStatut.js +5 -2
  55. package/dist/generated/models/PaiementEnMasseRequest.js +2 -1
  56. package/dist/generated/models/PaiementImmediatConfirmationReponse.js +5 -2
  57. package/dist/generated/models/PaiementImmediatConfirmationRequest.js +2 -1
  58. package/dist/generated/models/PaiementImmediatConfirmationRequestAccepter.js +2 -1
  59. package/dist/generated/models/PaiementImmediatConfirmationRequestRejeter.js +2 -1
  60. package/dist/generated/models/PaiementImmediatReponse.js +5 -2
  61. package/dist/generated/models/PaiementImmediatRequest.js +2 -1
  62. package/dist/generated/models/PaiementListe.js +2 -1
  63. package/dist/generated/models/PaiementRequest.js +2 -1
  64. package/dist/generated/models/PaiementStatut.js +5 -2
  65. package/dist/generated/models/PaiementStatutRaison.js +5 -2
  66. package/dist/generated/models/Problem7807.js +2 -1
  67. package/dist/generated/models/RefDocType.js +5 -2
  68. package/dist/generated/models/RetourStatut.js +5 -2
  69. package/dist/generated/models/RetourStatutRaison.js +5 -2
  70. package/dist/generated/models/WebhookCreationRequest.js +2 -1
  71. package/dist/generated/models/WebhookCreationResponse.js +2 -1
  72. package/dist/generated/models/WebhookData.js +2 -1
  73. package/dist/generated/models/WebhookEvent.js +5 -2
  74. package/dist/generated/models/WebhookEventsList.js +2 -1
  75. package/dist/generated/models/WebhookList.js +2 -1
  76. package/dist/generated/models/WebhookModificationRequest.js +2 -1
  77. package/dist/generated/models/WebhooksEvents.js +5 -2
  78. package/dist/generated/services/AliasService.js +10 -6
  79. package/dist/generated/services/ComptesService.js +10 -6
  80. package/dist/generated/services/DemandeAnnulationService.js +9 -5
  81. package/dist/generated/services/DemandesDePaiementEnMasseService.js +10 -6
  82. package/dist/generated/services/DemandesDePaiementService.js +12 -8
  83. package/dist/generated/services/NotificationService.js +12 -8
  84. package/dist/generated/services/PaiementEnMasseService.js +10 -6
  85. package/dist/generated/services/PaiementImmediatService.js +12 -8
  86. package/dist/generated/services/RetoursdeFondsService.js +8 -4
  87. package/dist/index.d.ts +1 -0
  88. package/dist/index.js +57 -8
  89. package/dist/qrcode/index.d.ts +62 -0
  90. package/dist/qrcode/index.js +541 -0
  91. package/dist/qrcode/logo.d.ts +3 -0
  92. package/dist/qrcode/logo.js +142 -0
  93. package/dist/query-builder.js +5 -1
  94. package/dist/sdk.d.ts +16 -0
  95. package/dist/sdk.js +81 -41
  96. package/dist/services/alias.d.ts +7 -3
  97. package/dist/services/alias.js +13 -15
  98. package/dist/services/base.d.ts +12 -1
  99. package/dist/services/base.js +54 -4
  100. package/dist/services/comptes.js +6 -2
  101. package/dist/services/demandes-annulation.js +6 -2
  102. package/dist/services/demandes-paiement-en-masse.d.ts +4 -110
  103. package/dist/services/demandes-paiement-en-masse.js +21 -116
  104. package/dist/services/demandes-paiement.d.ts +5 -1
  105. package/dist/services/demandes-paiement.js +7 -5
  106. package/dist/services/paiements-en-masse.js +6 -2
  107. package/dist/services/paiements.js +6 -2
  108. package/dist/services/retours-fonds.js +6 -2
  109. package/dist/services/webhooks.js +6 -2
  110. package/dist/types/alias.js +12 -7
  111. package/dist/utils/constants.js +12 -9
  112. package/dist/utils/index.js +20 -9
  113. package/package.json +6 -5
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@
5
5
  */
6
6
  export { PiSpiSDK } from './sdk';
7
7
  export type { PiSpiConfig } from './config';
8
+ export * from './qrcode';
8
9
  export { PiSpiError, PiSpiValidationError, PiSpiAuthError, PiSpiNotFoundError, PiSpiRateLimitError, } from './errors';
9
10
  export { QueryBuilder, type QueryParams, type FilterOperator } from './query-builder';
10
11
  export { handleApiError } from './error-handler';
package/dist/index.js CHANGED
@@ -1,23 +1,72 @@
1
+ "use strict";
1
2
  /**
2
3
  * Main entry point for PI-SPI SDK
3
4
  *
4
5
  * @module pi-spi-sdk
5
6
  */
7
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
8
+ if (k2 === undefined) k2 = k;
9
+ var desc = Object.getOwnPropertyDescriptor(m, k);
10
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
11
+ desc = { enumerable: true, get: function() { return m[k]; } };
12
+ }
13
+ Object.defineProperty(o, k2, desc);
14
+ }) : (function(o, m, k, k2) {
15
+ if (k2 === undefined) k2 = k;
16
+ o[k2] = m[k];
17
+ }));
18
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
19
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
20
+ };
21
+ Object.defineProperty(exports, "__esModule", { value: true });
22
+ exports.WEBHOOK_EVENTS = exports.DEFAULT_LIMITS = exports.CURRENCY = exports.UEMOA_COUNTRIES = exports.CLIENT_TYPE = exports.ACCOUNT_TYPE = exports.ACCOUNT_STATUS = exports.PAYMENT_STATUS = exports.PI_SPI_ENDPOINTS = exports.retryWithBackoff = exports.sleep = exports.getCountryFromAccount = exports.isValidPhoneNumber = exports.isValidShidAlias = exports.isValidAccountNumber = exports.centimesToXof = exports.xofToCentimes = exports.formatAmount = exports.getAvailableAliasTypes = exports.isValidAliasType = exports.ALIAS_TYPES = exports.AliasType = exports.handleApiError = exports.QueryBuilder = exports.PiSpiRateLimitError = exports.PiSpiNotFoundError = exports.PiSpiAuthError = exports.PiSpiValidationError = exports.PiSpiError = exports.PiSpiSDK = void 0;
6
23
  // Export main SDK class
7
- export { PiSpiSDK } from './sdk';
24
+ var sdk_1 = require("./sdk");
25
+ Object.defineProperty(exports, "PiSpiSDK", { enumerable: true, get: function () { return sdk_1.PiSpiSDK; } });
26
+ // Export QR Code types and utilities
27
+ __exportStar(require("./qrcode"), exports);
8
28
  // Export error classes
9
- export { PiSpiError, PiSpiValidationError, PiSpiAuthError, PiSpiNotFoundError, PiSpiRateLimitError, } from './errors';
29
+ var errors_1 = require("./errors");
30
+ Object.defineProperty(exports, "PiSpiError", { enumerable: true, get: function () { return errors_1.PiSpiError; } });
31
+ Object.defineProperty(exports, "PiSpiValidationError", { enumerable: true, get: function () { return errors_1.PiSpiValidationError; } });
32
+ Object.defineProperty(exports, "PiSpiAuthError", { enumerable: true, get: function () { return errors_1.PiSpiAuthError; } });
33
+ Object.defineProperty(exports, "PiSpiNotFoundError", { enumerable: true, get: function () { return errors_1.PiSpiNotFoundError; } });
34
+ Object.defineProperty(exports, "PiSpiRateLimitError", { enumerable: true, get: function () { return errors_1.PiSpiRateLimitError; } });
10
35
  // Export query builder
11
- export { QueryBuilder } from './query-builder';
36
+ var query_builder_1 = require("./query-builder");
37
+ Object.defineProperty(exports, "QueryBuilder", { enumerable: true, get: function () { return query_builder_1.QueryBuilder; } });
12
38
  // Export error handler for advanced use cases
13
- export { handleApiError } from './error-handler';
39
+ var error_handler_1 = require("./error-handler");
40
+ Object.defineProperty(exports, "handleApiError", { enumerable: true, get: function () { return error_handler_1.handleApiError; } });
14
41
  // Export alias types and utilities
15
- export { AliasType, ALIAS_TYPES, isValidAliasType, getAvailableAliasTypes, } from './types/alias';
42
+ var alias_1 = require("./types/alias");
43
+ Object.defineProperty(exports, "AliasType", { enumerable: true, get: function () { return alias_1.AliasType; } });
44
+ Object.defineProperty(exports, "ALIAS_TYPES", { enumerable: true, get: function () { return alias_1.ALIAS_TYPES; } });
45
+ Object.defineProperty(exports, "isValidAliasType", { enumerable: true, get: function () { return alias_1.isValidAliasType; } });
46
+ Object.defineProperty(exports, "getAvailableAliasTypes", { enumerable: true, get: function () { return alias_1.getAvailableAliasTypes; } });
16
47
  // Export utility functions
17
- export { formatAmount, xofToCentimes, centimesToXof, isValidAccountNumber, isValidShidAlias, isValidPhoneNumber, getCountryFromAccount, sleep, retryWithBackoff, } from './utils';
48
+ var utils_1 = require("./utils");
49
+ Object.defineProperty(exports, "formatAmount", { enumerable: true, get: function () { return utils_1.formatAmount; } });
50
+ Object.defineProperty(exports, "xofToCentimes", { enumerable: true, get: function () { return utils_1.xofToCentimes; } });
51
+ Object.defineProperty(exports, "centimesToXof", { enumerable: true, get: function () { return utils_1.centimesToXof; } });
52
+ Object.defineProperty(exports, "isValidAccountNumber", { enumerable: true, get: function () { return utils_1.isValidAccountNumber; } });
53
+ Object.defineProperty(exports, "isValidShidAlias", { enumerable: true, get: function () { return utils_1.isValidShidAlias; } });
54
+ Object.defineProperty(exports, "isValidPhoneNumber", { enumerable: true, get: function () { return utils_1.isValidPhoneNumber; } });
55
+ Object.defineProperty(exports, "getCountryFromAccount", { enumerable: true, get: function () { return utils_1.getCountryFromAccount; } });
56
+ Object.defineProperty(exports, "sleep", { enumerable: true, get: function () { return utils_1.sleep; } });
57
+ Object.defineProperty(exports, "retryWithBackoff", { enumerable: true, get: function () { return utils_1.retryWithBackoff; } });
18
58
  // Export constants
19
- export { PI_SPI_ENDPOINTS, PAYMENT_STATUS, ACCOUNT_STATUS, ACCOUNT_TYPE, CLIENT_TYPE, UEMOA_COUNTRIES, CURRENCY, DEFAULT_LIMITS, WEBHOOK_EVENTS, } from './utils/constants';
59
+ var constants_1 = require("./utils/constants");
60
+ Object.defineProperty(exports, "PI_SPI_ENDPOINTS", { enumerable: true, get: function () { return constants_1.PI_SPI_ENDPOINTS; } });
61
+ Object.defineProperty(exports, "PAYMENT_STATUS", { enumerable: true, get: function () { return constants_1.PAYMENT_STATUS; } });
62
+ Object.defineProperty(exports, "ACCOUNT_STATUS", { enumerable: true, get: function () { return constants_1.ACCOUNT_STATUS; } });
63
+ Object.defineProperty(exports, "ACCOUNT_TYPE", { enumerable: true, get: function () { return constants_1.ACCOUNT_TYPE; } });
64
+ Object.defineProperty(exports, "CLIENT_TYPE", { enumerable: true, get: function () { return constants_1.CLIENT_TYPE; } });
65
+ Object.defineProperty(exports, "UEMOA_COUNTRIES", { enumerable: true, get: function () { return constants_1.UEMOA_COUNTRIES; } });
66
+ Object.defineProperty(exports, "CURRENCY", { enumerable: true, get: function () { return constants_1.CURRENCY; } });
67
+ Object.defineProperty(exports, "DEFAULT_LIMITS", { enumerable: true, get: function () { return constants_1.DEFAULT_LIMITS; } });
68
+ Object.defineProperty(exports, "WEBHOOK_EVENTS", { enumerable: true, get: function () { return constants_1.WEBHOOK_EVENTS; } });
20
69
  // Note: ALIAS_TYPES is exported from './types/alias' above
21
70
  // Re-export generated types and services (available after running generate)
22
71
  // These will be available once the OpenAPI codegen is run
23
- export * from './generated';
72
+ __exportStar(require("./generated"), exports);
@@ -0,0 +1,62 @@
1
+ export { DEFAULT_PISPI_LOGO_DATA_URL, PISPI_AMBER_LOGO_DATA_URL, PISPI_QRCODE_LOGO_DATA_URL } from './logo';
2
+ export type QrType = 'STATIC' | 'DYNAMIC';
3
+ export interface QrPayloadInput {
4
+ alias: string;
5
+ countryCode: string;
6
+ qrType: QrType;
7
+ referenceLabel: string;
8
+ amount?: number | string;
9
+ }
10
+ export interface AdditionalDataOverrides {
11
+ merchantChannel?: string;
12
+ purposeOfTransaction?: string;
13
+ /**
14
+ * Free form additional data embedded inside template 62 (id => value)
15
+ * Keys must be 2-digit strings according to EMV specification.
16
+ */
17
+ custom?: Record<string, string>;
18
+ }
19
+ export interface QrPayloadOptions {
20
+ /**
21
+ * Override default Additional Data tags.
22
+ */
23
+ additionalData?: AdditionalDataOverrides;
24
+ }
25
+ export interface QrPayloadResult {
26
+ payload: string;
27
+ }
28
+ export interface QrValidationResult {
29
+ valid: boolean;
30
+ errors: string[];
31
+ data?: QrPayloadInput;
32
+ }
33
+ export interface QrCodeSvgOptions {
34
+ size?: number;
35
+ margin?: number;
36
+ logoDataUrl?: string;
37
+ logoSizeRatio?: number;
38
+ logoPaddingRatio?: number;
39
+ logoBackgroundColor?: string;
40
+ logoBorderRadiusRatio?: number;
41
+ dotColor?: string;
42
+ backgroundColor?: string;
43
+ }
44
+ /**
45
+ * Génère la payload EMV conforme PI-SPI pour un QR Code.
46
+ */
47
+ export declare function createQrPayload(input: QrPayloadInput, options?: QrPayloadOptions): QrPayloadResult;
48
+ export declare function computeCrc16(input: string): string;
49
+ export declare function buildPayloadString(params: QrPayloadInput, options?: QrPayloadOptions): string;
50
+ export declare function generateQrCodeSvg(input: QrPayloadInput, options?: QrCodeSvgOptions): Promise<string>;
51
+ export declare const QRCode: {
52
+ createQrPayload: typeof createQrPayload;
53
+ buildPayloadString: typeof buildPayloadString;
54
+ computeCrc16: typeof computeCrc16;
55
+ generateQrCodeSvg: typeof generateQrCodeSvg;
56
+ isValidPispiQrPayload: typeof isValidPispiQrPayload;
57
+ payload: typeof buildPayloadString;
58
+ svg: typeof generateQrCodeSvg;
59
+ validate: typeof isValidPispiQrPayload;
60
+ raw: typeof createQrPayload;
61
+ };
62
+ export declare function isValidPispiQrPayload(value: string): QrValidationResult;