pi-spi-sdk 0.1.3 → 0.2.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 (218) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +23 -1
  3. package/dist/chunk-7W56NW2S.mjs +2066 -0
  4. package/dist/generated-FM5EVVHH.mjs +84 -0
  5. package/dist/index.cjs +4754 -0
  6. package/dist/index.d.cts +4940 -0
  7. package/dist/index.d.ts +4937 -12
  8. package/dist/index.mjs +2359 -0
  9. package/dist/index.umd.js +2 -0
  10. package/dist/qrcode/index.cjs +757 -0
  11. package/dist/qrcode/index.d.cts +68 -0
  12. package/dist/qrcode/index.d.ts +20 -14
  13. package/dist/qrcode/index.mjs +712 -0
  14. package/package.json +24 -8
  15. package/dist/config.d.ts +0 -35
  16. package/dist/config.js +0 -5
  17. package/dist/error-handler.d.ts +0 -7
  18. package/dist/error-handler.js +0 -55
  19. package/dist/errors.d.ts +0 -25
  20. package/dist/errors.js +0 -48
  21. package/dist/examples.d.ts +0 -8
  22. package/dist/examples.js +0 -93
  23. package/dist/generated/core/ApiError.d.ts +0 -10
  24. package/dist/generated/core/ApiError.js +0 -15
  25. package/dist/generated/core/ApiRequestOptions.d.ts +0 -13
  26. package/dist/generated/core/ApiRequestOptions.js +0 -2
  27. package/dist/generated/core/ApiResult.d.ts +0 -7
  28. package/dist/generated/core/ApiResult.js +0 -2
  29. package/dist/generated/core/CancelablePromise.d.ts +0 -20
  30. package/dist/generated/core/CancelablePromise.js +0 -116
  31. package/dist/generated/core/OpenAPI.d.ts +0 -16
  32. package/dist/generated/core/OpenAPI.js +0 -14
  33. package/dist/generated/core/request.d.ts +0 -34
  34. package/dist/generated/core/request.js +0 -292
  35. package/dist/generated/index.d.ts +0 -78
  36. package/dist/generated/index.js +0 -86
  37. package/dist/generated/models/AliasCreationReponse.d.ts +0 -22
  38. package/dist/generated/models/AliasCreationReponse.js +0 -2
  39. package/dist/generated/models/AliasCreationRequest.d.ts +0 -11
  40. package/dist/generated/models/AliasCreationRequest.js +0 -2
  41. package/dist/generated/models/AliasReponseListe.d.ts +0 -26
  42. package/dist/generated/models/AliasReponseListe.js +0 -2
  43. package/dist/generated/models/AnnulationStatut.d.ts +0 -13
  44. package/dist/generated/models/AnnulationStatut.js +0 -21
  45. package/dist/generated/models/Champs.d.ts +0 -1
  46. package/dist/generated/models/Champs.js +0 -2
  47. package/dist/generated/models/CompteOperation.d.ts +0 -72
  48. package/dist/generated/models/CompteOperation.js +0 -27
  49. package/dist/generated/models/CompteOperationListe.d.ts +0 -18
  50. package/dist/generated/models/CompteOperationListe.js +0 -2
  51. package/dist/generated/models/CompteSolde.d.ts +0 -129
  52. package/dist/generated/models/CompteSolde.js +0 -74
  53. package/dist/generated/models/CompteTransfertIntraReponse.d.ts +0 -33
  54. package/dist/generated/models/CompteTransfertIntraReponse.js +0 -15
  55. package/dist/generated/models/CompteTransfertIntraRequest.d.ts +0 -9
  56. package/dist/generated/models/CompteTransfertIntraRequest.js +0 -2
  57. package/dist/generated/models/DemandePaiementConfirmationAnnulationRaison.d.ts +0 -14
  58. package/dist/generated/models/DemandePaiementConfirmationAnnulationRaison.js +0 -22
  59. package/dist/generated/models/DemandePaiementConfirmationReponse.d.ts +0 -41
  60. package/dist/generated/models/DemandePaiementConfirmationReponse.js +0 -16
  61. package/dist/generated/models/DemandePaiementConfirmationRequest.d.ts +0 -3
  62. package/dist/generated/models/DemandePaiementConfirmationRequest.js +0 -2
  63. package/dist/generated/models/DemandePaiementConfirmationRequestAccepter.d.ts +0 -9
  64. package/dist/generated/models/DemandePaiementConfirmationRequestAccepter.js +0 -2
  65. package/dist/generated/models/DemandePaiementConfirmationRequestRejeter.d.ts +0 -9
  66. package/dist/generated/models/DemandePaiementConfirmationRequestRejeter.js +0 -2
  67. package/dist/generated/models/DemandePaiementConsultationReponse.d.ts +0 -151
  68. package/dist/generated/models/DemandePaiementConsultationReponse.js +0 -30
  69. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequest.d.ts +0 -3
  70. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequest.js +0 -2
  71. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestAccepter.d.ts +0 -9
  72. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestAccepter.js +0 -2
  73. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestRejeter.d.ts +0 -9
  74. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestRejeter.js +0 -2
  75. package/dist/generated/models/DemandePaiementEnMasseRequest.d.ts +0 -74
  76. package/dist/generated/models/DemandePaiementEnMasseRequest.js +0 -2
  77. package/dist/generated/models/DemandePaiementEnMasseStatutReponse.d.ts +0 -98
  78. package/dist/generated/models/DemandePaiementEnMasseStatutReponse.js +0 -23
  79. package/dist/generated/models/DemandePaiementListe.d.ts +0 -26
  80. package/dist/generated/models/DemandePaiementListe.js +0 -2
  81. package/dist/generated/models/DemandePaiementListeItem.d.ts +0 -163
  82. package/dist/generated/models/DemandePaiementListeItem.js +0 -30
  83. package/dist/generated/models/DemandePaiementReponse.d.ts +0 -129
  84. package/dist/generated/models/DemandePaiementReponse.js +0 -2
  85. package/dist/generated/models/DemandePaiementReponseRequest.d.ts +0 -21
  86. package/dist/generated/models/DemandePaiementReponseRequest.js +0 -14
  87. package/dist/generated/models/DemandePaiementRequest.d.ts +0 -98
  88. package/dist/generated/models/DemandePaiementRequest.js +0 -10
  89. package/dist/generated/models/DemandePaiementRequestBase.d.ts +0 -42
  90. package/dist/generated/models/DemandePaiementRequestBase.js +0 -2
  91. package/dist/generated/models/DemandePaiementRequestCategorie.d.ts +0 -12
  92. package/dist/generated/models/DemandePaiementRequestCategorie.js +0 -20
  93. package/dist/generated/models/DemandePaiementStatut.d.ts +0 -13
  94. package/dist/generated/models/DemandePaiementStatut.js +0 -21
  95. package/dist/generated/models/DemandePaiementStatutRaison.d.ts +0 -46
  96. package/dist/generated/models/DemandePaiementStatutRaison.js +0 -54
  97. package/dist/generated/models/ListeMeta.d.ts +0 -14
  98. package/dist/generated/models/ListeMeta.js +0 -2
  99. package/dist/generated/models/Paiement.d.ts +0 -156
  100. package/dist/generated/models/Paiement.js +0 -31
  101. package/dist/generated/models/PaiementAnnulationMotif.d.ts +0 -17
  102. package/dist/generated/models/PaiementAnnulationMotif.js +0 -25
  103. package/dist/generated/models/PaiementAnnulationReponseRequest.d.ts +0 -11
  104. package/dist/generated/models/PaiementAnnulationReponseRequest.js +0 -2
  105. package/dist/generated/models/PaiementAnnulationReponseRequestAccepter.d.ts +0 -9
  106. package/dist/generated/models/PaiementAnnulationReponseRequestAccepter.js +0 -2
  107. package/dist/generated/models/PaiementAnnulationReponseRequestRejeter.d.ts +0 -9
  108. package/dist/generated/models/PaiementAnnulationReponseRequestRejeter.js +0 -2
  109. package/dist/generated/models/PaiementAnnulationRequest.d.ts +0 -4
  110. package/dist/generated/models/PaiementAnnulationRequest.js +0 -2
  111. package/dist/generated/models/PaiementAnnulationStatutRaison.d.ts +0 -21
  112. package/dist/generated/models/PaiementAnnulationStatutRaison.js +0 -29
  113. package/dist/generated/models/PaiementEnMasseConfirmationRequest.d.ts +0 -3
  114. package/dist/generated/models/PaiementEnMasseConfirmationRequest.js +0 -2
  115. package/dist/generated/models/PaiementEnMasseConfirmationRequestAccepter.d.ts +0 -9
  116. package/dist/generated/models/PaiementEnMasseConfirmationRequestAccepter.js +0 -2
  117. package/dist/generated/models/PaiementEnMasseConfirmationRequestRejeter.d.ts +0 -9
  118. package/dist/generated/models/PaiementEnMasseConfirmationRequestRejeter.js +0 -2
  119. package/dist/generated/models/PaiementEnMasseReponseStatut.d.ts +0 -97
  120. package/dist/generated/models/PaiementEnMasseReponseStatut.js +0 -23
  121. package/dist/generated/models/PaiementEnMasseRequest.d.ts +0 -54
  122. package/dist/generated/models/PaiementEnMasseRequest.js +0 -2
  123. package/dist/generated/models/PaiementImmediatConfirmationReponse.d.ts +0 -31
  124. package/dist/generated/models/PaiementImmediatConfirmationReponse.js +0 -10
  125. package/dist/generated/models/PaiementImmediatConfirmationRequest.d.ts +0 -3
  126. package/dist/generated/models/PaiementImmediatConfirmationRequest.js +0 -2
  127. package/dist/generated/models/PaiementImmediatConfirmationRequestAccepter.d.ts +0 -9
  128. package/dist/generated/models/PaiementImmediatConfirmationRequestAccepter.js +0 -2
  129. package/dist/generated/models/PaiementImmediatConfirmationRequestRejeter.d.ts +0 -9
  130. package/dist/generated/models/PaiementImmediatConfirmationRequestRejeter.js +0 -2
  131. package/dist/generated/models/PaiementImmediatReponse.d.ts +0 -98
  132. package/dist/generated/models/PaiementImmediatReponse.js +0 -10
  133. package/dist/generated/models/PaiementImmediatRequest.d.ts +0 -13
  134. package/dist/generated/models/PaiementImmediatRequest.js +0 -2
  135. package/dist/generated/models/PaiementListe.d.ts +0 -6
  136. package/dist/generated/models/PaiementListe.js +0 -2
  137. package/dist/generated/models/PaiementRequest.d.ts +0 -33
  138. package/dist/generated/models/PaiementRequest.js +0 -2
  139. package/dist/generated/models/PaiementStatut.d.ts +0 -13
  140. package/dist/generated/models/PaiementStatut.js +0 -21
  141. package/dist/generated/models/PaiementStatutRaison.d.ts +0 -56
  142. package/dist/generated/models/PaiementStatutRaison.js +0 -64
  143. package/dist/generated/models/Problem7807.d.ts +0 -31
  144. package/dist/generated/models/Problem7807.js +0 -2
  145. package/dist/generated/models/RefDocType.d.ts +0 -38
  146. package/dist/generated/models/RefDocType.js +0 -46
  147. package/dist/generated/models/RetourStatut.d.ts +0 -13
  148. package/dist/generated/models/RetourStatut.js +0 -21
  149. package/dist/generated/models/RetourStatutRaison.d.ts +0 -25
  150. package/dist/generated/models/RetourStatutRaison.js +0 -33
  151. package/dist/generated/models/WebhookCreationRequest.d.ts +0 -14
  152. package/dist/generated/models/WebhookCreationRequest.js +0 -2
  153. package/dist/generated/models/WebhookCreationResponse.d.ts +0 -12
  154. package/dist/generated/models/WebhookCreationResponse.js +0 -2
  155. package/dist/generated/models/WebhookData.d.ts +0 -8
  156. package/dist/generated/models/WebhookData.js +0 -2
  157. package/dist/generated/models/WebhookEvent.d.ts +0 -191
  158. package/dist/generated/models/WebhookEvent.js +0 -45
  159. package/dist/generated/models/WebhookEventsList.d.ts +0 -13
  160. package/dist/generated/models/WebhookEventsList.js +0 -2
  161. package/dist/generated/models/WebhookList.d.ts +0 -13
  162. package/dist/generated/models/WebhookList.js +0 -2
  163. package/dist/generated/models/WebhookModificationRequest.d.ts +0 -4
  164. package/dist/generated/models/WebhookModificationRequest.js +0 -2
  165. package/dist/generated/models/WebhooksEvents.d.ts +0 -12
  166. package/dist/generated/models/WebhooksEvents.js +0 -20
  167. package/dist/generated/services/AliasService.d.ts +0 -63
  168. package/dist/generated/services/AliasService.js +0 -88
  169. package/dist/generated/services/ComptesService.d.ts +0 -64
  170. package/dist/generated/services/ComptesService.js +0 -90
  171. package/dist/generated/services/DemandeAnnulationService.d.ts +0 -84
  172. package/dist/generated/services/DemandeAnnulationService.js +0 -103
  173. package/dist/generated/services/DemandesDePaiementEnMasseService.d.ts +0 -161
  174. package/dist/generated/services/DemandesDePaiementEnMasseService.js +0 -193
  175. package/dist/generated/services/DemandesDePaiementService.d.ts +0 -123
  176. package/dist/generated/services/DemandesDePaiementService.js +0 -165
  177. package/dist/generated/services/NotificationService.d.ts +0 -80
  178. package/dist/generated/services/NotificationService.js +0 -136
  179. package/dist/generated/services/PaiementEnMasseService.d.ts +0 -159
  180. package/dist/generated/services/PaiementEnMasseService.js +0 -191
  181. package/dist/generated/services/PaiementImmediatService.d.ts +0 -135
  182. package/dist/generated/services/PaiementImmediatService.js +0 -180
  183. package/dist/generated/services/RetoursdeFondsService.d.ts +0 -28
  184. package/dist/generated/services/RetoursdeFondsService.js +0 -41
  185. package/dist/index.js +0 -72
  186. package/dist/qrcode/index.js +0 -541
  187. package/dist/qrcode/logo.d.ts +0 -3
  188. package/dist/qrcode/logo.js +0 -142
  189. package/dist/query-builder.d.ts +0 -91
  190. package/dist/query-builder.js +0 -191
  191. package/dist/sdk.d.ts +0 -104
  192. package/dist/sdk.js +0 -147
  193. package/dist/services/alias.d.ts +0 -76
  194. package/dist/services/alias.js +0 -80
  195. package/dist/services/base.d.ts +0 -20
  196. package/dist/services/base.js +0 -67
  197. package/dist/services/comptes.d.ts +0 -149
  198. package/dist/services/comptes.js +0 -162
  199. package/dist/services/demandes-annulation.d.ts +0 -97
  200. package/dist/services/demandes-annulation.js +0 -108
  201. package/dist/services/demandes-paiement-en-masse.d.ts +0 -33
  202. package/dist/services/demandes-paiement-en-masse.js +0 -44
  203. package/dist/services/demandes-paiement.d.ts +0 -148
  204. package/dist/services/demandes-paiement.js +0 -153
  205. package/dist/services/paiements-en-masse.d.ts +0 -152
  206. package/dist/services/paiements-en-masse.js +0 -157
  207. package/dist/services/paiements.d.ts +0 -135
  208. package/dist/services/paiements.js +0 -139
  209. package/dist/services/retours-fonds.d.ts +0 -94
  210. package/dist/services/retours-fonds.js +0 -104
  211. package/dist/services/webhooks.d.ts +0 -131
  212. package/dist/services/webhooks.js +0 -146
  213. package/dist/types/alias.d.ts +0 -64
  214. package/dist/types/alias.js +0 -78
  215. package/dist/utils/constants.d.ts +0 -93
  216. package/dist/utils/constants.js +0 -96
  217. package/dist/utils/index.d.ts +0 -60
  218. package/dist/utils/index.js +0 -126
@@ -1,131 +0,0 @@
1
- /**
2
- * Webhooks (Notifications) service wrapper
3
- *
4
- * Provides methods for managing webhook configurations to receive real-time notifications
5
- * about payment events, payment requests, and fund returns.
6
- *
7
- * **Supported Events:**
8
- * - Payment events: `PAIEMENT_RECU`, `PAIEMENT_ENVOYE`, `PAIEMENT_REJETE`
9
- * - Payment request events: `RTP_RECU`, `RTP_REJETE`
10
- * - Fund return events: `RETOUR_ENVOYE`, `RETOUR_REJETE`, `RETOUR_RECU`
11
- * - Cancellation events: `ANNULATION_DEMANDE`, `ANNULATION_REJETE`
12
- *
13
- * **Webhook Security:**
14
- * - All communications must use SSL/TLS
15
- * - mTLS authentication required (certificate from BCEAO CA)
16
- * - Events are signed with HMAC for data integrity
17
- *
18
- * @example
19
- * ```typescript
20
- * // Create webhook for payment notifications
21
- * const webhook = await sdk.webhooks.create({
22
- * callbackUrl: 'https://business.example.com/api/webhooks/pi-spi',
23
- * events: ['PAIEMENT_RECU', 'PAIEMENT_ENVOYE']
24
- * });
25
- * ```
26
- */
27
- import { BaseService } from './base';
28
- import type { QueryParams } from '../query-builder';
29
- export declare class WebhooksService extends BaseService {
30
- /**
31
- * Create a webhook configuration
32
- *
33
- * **Webhook Setup:**
34
- * - URL must be HTTPS
35
- * - Server must support mTLS with BCEAO-issued certificate
36
- * - Server must validate HMAC signatures
37
- * - Server must respond with 2xx status code
38
- *
39
- * **Event Types:**
40
- * - `PAIEMENT_RECU`: Payment received
41
- * - `PAIEMENT_ENVOYE`: Payment sent (irreversible)
42
- * - `PAIEMENT_REJETE`: Payment rejected
43
- * - `RTP_RECU`: Payment request received
44
- * - `RTP_REJETE`: Payment request rejected
45
- * - `RETOUR_ENVOYE`: Fund return sent
46
- * - `RETOUR_REJETE`: Fund return rejected
47
- * - `RETOUR_RECU`: Fund return received
48
- * - `ANNULATION_DEMANDE`: Cancellation request received
49
- * - `ANNULATION_REJETE`: Cancellation request rejected
50
- *
51
- * @param webhook - Webhook configuration
52
- * @param webhook.callbackUrl - HTTPS URL to receive notifications (must support mTLS)
53
- * @param webhook.events - Array of event types to subscribe to
54
- * @param webhook.alias - Optional: Alias-specific webhook (only notifications for this alias)
55
- * @returns Created webhook configuration
56
- * @throws {PiSpiValidationError} If URL is invalid or events array is empty
57
- *
58
- * @example
59
- * ```typescript
60
- * // Webhook for all payment events
61
- * await sdk.webhooks.create({
62
- * callbackUrl: 'https://business.example.com/api/webhooks/pi-spi',
63
- * events: ['PAIEMENT_RECU', 'PAIEMENT_ENVOYE', 'PAIEMENT_REJETE']
64
- * });
65
- *
66
- * // Alias-specific webhook
67
- * await sdk.webhooks.create({
68
- * callbackUrl: 'https://business.example.com/api/webhooks/pi-spi',
69
- * events: ['PAIEMENT_RECU'],
70
- * alias: '8b1b2499-3e50-435b-b757-ac7a83d8aa7f'
71
- * });
72
- * ```
73
- */
74
- create(webhook: {
75
- callbackUrl: string;
76
- events: string[];
77
- alias?: string;
78
- }): Promise<never>;
79
- /**
80
- * List all configured webhooks
81
- *
82
- * @param params - Query parameters for pagination
83
- * @returns Paginated list of webhooks
84
- *
85
- * @example
86
- * ```typescript
87
- * const webhooks = await sdk.webhooks.list({ page: 1, size: 20 });
88
- * ```
89
- */
90
- list(params?: QueryParams): Promise<never>;
91
- /**
92
- * Get webhook details by ID
93
- *
94
- * @param id - Webhook ID
95
- * @returns Webhook details
96
- * @throws {PiSpiNotFoundError} If webhook not found
97
- */
98
- get(id: string): Promise<never>;
99
- /**
100
- * Update webhook configuration
101
- *
102
- * @param id - Webhook ID
103
- * @param webhook - Updated webhook configuration
104
- * @param webhook.callbackUrl - New callback URL (optional)
105
- * @param webhook.events - New event subscriptions (optional)
106
- * @param webhook.alias - New alias filter (optional)
107
- * @returns Updated webhook configuration
108
- * @throws {PiSpiNotFoundError} If webhook not found
109
- * @throws {PiSpiValidationError} If update fails validation
110
- *
111
- * @example
112
- * ```typescript
113
- * await sdk.webhooks.update('webhook-001', {
114
- * callbackUrl: 'https://updated-url.com/webhooks/pi-spi',
115
- * events: ['PAIEMENT_RECU', 'RTP_RECU']
116
- * });
117
- * ```
118
- */
119
- update(id: string, webhook: {
120
- callbackUrl?: string;
121
- events?: string[];
122
- alias?: string;
123
- }): Promise<never>;
124
- /**
125
- * Delete a webhook configuration
126
- *
127
- * @param id - Webhook ID
128
- * @throws {PiSpiNotFoundError} If webhook not found
129
- */
130
- delete(id: string): Promise<never>;
131
- }
@@ -1,146 +0,0 @@
1
- "use strict";
2
- /**
3
- * Webhooks (Notifications) service wrapper
4
- *
5
- * Provides methods for managing webhook configurations to receive real-time notifications
6
- * about payment events, payment requests, and fund returns.
7
- *
8
- * **Supported Events:**
9
- * - Payment events: `PAIEMENT_RECU`, `PAIEMENT_ENVOYE`, `PAIEMENT_REJETE`
10
- * - Payment request events: `RTP_RECU`, `RTP_REJETE`
11
- * - Fund return events: `RETOUR_ENVOYE`, `RETOUR_REJETE`, `RETOUR_RECU`
12
- * - Cancellation events: `ANNULATION_DEMANDE`, `ANNULATION_REJETE`
13
- *
14
- * **Webhook Security:**
15
- * - All communications must use SSL/TLS
16
- * - mTLS authentication required (certificate from BCEAO CA)
17
- * - Events are signed with HMAC for data integrity
18
- *
19
- * @example
20
- * ```typescript
21
- * // Create webhook for payment notifications
22
- * const webhook = await sdk.webhooks.create({
23
- * callbackUrl: 'https://business.example.com/api/webhooks/pi-spi',
24
- * events: ['PAIEMENT_RECU', 'PAIEMENT_ENVOYE']
25
- * });
26
- * ```
27
- */
28
- Object.defineProperty(exports, "__esModule", { value: true });
29
- exports.WebhooksService = void 0;
30
- const base_1 = require("./base");
31
- class WebhooksService extends base_1.BaseService {
32
- /**
33
- * Create a webhook configuration
34
- *
35
- * **Webhook Setup:**
36
- * - URL must be HTTPS
37
- * - Server must support mTLS with BCEAO-issued certificate
38
- * - Server must validate HMAC signatures
39
- * - Server must respond with 2xx status code
40
- *
41
- * **Event Types:**
42
- * - `PAIEMENT_RECU`: Payment received
43
- * - `PAIEMENT_ENVOYE`: Payment sent (irreversible)
44
- * - `PAIEMENT_REJETE`: Payment rejected
45
- * - `RTP_RECU`: Payment request received
46
- * - `RTP_REJETE`: Payment request rejected
47
- * - `RETOUR_ENVOYE`: Fund return sent
48
- * - `RETOUR_REJETE`: Fund return rejected
49
- * - `RETOUR_RECU`: Fund return received
50
- * - `ANNULATION_DEMANDE`: Cancellation request received
51
- * - `ANNULATION_REJETE`: Cancellation request rejected
52
- *
53
- * @param webhook - Webhook configuration
54
- * @param webhook.callbackUrl - HTTPS URL to receive notifications (must support mTLS)
55
- * @param webhook.events - Array of event types to subscribe to
56
- * @param webhook.alias - Optional: Alias-specific webhook (only notifications for this alias)
57
- * @returns Created webhook configuration
58
- * @throws {PiSpiValidationError} If URL is invalid or events array is empty
59
- *
60
- * @example
61
- * ```typescript
62
- * // Webhook for all payment events
63
- * await sdk.webhooks.create({
64
- * callbackUrl: 'https://business.example.com/api/webhooks/pi-spi',
65
- * events: ['PAIEMENT_RECU', 'PAIEMENT_ENVOYE', 'PAIEMENT_REJETE']
66
- * });
67
- *
68
- * // Alias-specific webhook
69
- * await sdk.webhooks.create({
70
- * callbackUrl: 'https://business.example.com/api/webhooks/pi-spi',
71
- * events: ['PAIEMENT_RECU'],
72
- * alias: '8b1b2499-3e50-435b-b757-ac7a83d8aa7f'
73
- * });
74
- * ```
75
- */
76
- async create(webhook) {
77
- return this.execute(async () => {
78
- throw new Error('Service not yet generated. Run "pnpm run generate" first.');
79
- });
80
- }
81
- /**
82
- * List all configured webhooks
83
- *
84
- * @param params - Query parameters for pagination
85
- * @returns Paginated list of webhooks
86
- *
87
- * @example
88
- * ```typescript
89
- * const webhooks = await sdk.webhooks.list({ page: 1, size: 20 });
90
- * ```
91
- */
92
- async list(params) {
93
- return this.execute(async () => {
94
- throw new Error('Service not yet generated. Run "pnpm run generate" first.');
95
- });
96
- }
97
- /**
98
- * Get webhook details by ID
99
- *
100
- * @param id - Webhook ID
101
- * @returns Webhook details
102
- * @throws {PiSpiNotFoundError} If webhook not found
103
- */
104
- async get(id) {
105
- return this.execute(async () => {
106
- throw new Error('Service not yet generated. Run "pnpm run generate" first.');
107
- });
108
- }
109
- /**
110
- * Update webhook configuration
111
- *
112
- * @param id - Webhook ID
113
- * @param webhook - Updated webhook configuration
114
- * @param webhook.callbackUrl - New callback URL (optional)
115
- * @param webhook.events - New event subscriptions (optional)
116
- * @param webhook.alias - New alias filter (optional)
117
- * @returns Updated webhook configuration
118
- * @throws {PiSpiNotFoundError} If webhook not found
119
- * @throws {PiSpiValidationError} If update fails validation
120
- *
121
- * @example
122
- * ```typescript
123
- * await sdk.webhooks.update('webhook-001', {
124
- * callbackUrl: 'https://updated-url.com/webhooks/pi-spi',
125
- * events: ['PAIEMENT_RECU', 'RTP_RECU']
126
- * });
127
- * ```
128
- */
129
- async update(id, webhook) {
130
- return this.execute(async () => {
131
- throw new Error('Service not yet generated. Run "pnpm run generate" first.');
132
- });
133
- }
134
- /**
135
- * Delete a webhook configuration
136
- *
137
- * @param id - Webhook ID
138
- * @throws {PiSpiNotFoundError} If webhook not found
139
- */
140
- async delete(id) {
141
- return this.execute(async () => {
142
- throw new Error('Service not yet generated. Run "pnpm run generate" first.');
143
- });
144
- }
145
- }
146
- exports.WebhooksService = WebhooksService;
@@ -1,64 +0,0 @@
1
- /**
2
- * Alias Types for PI-SPI
3
- *
4
- * The PI-SPI platform supports different types of account aliases:
5
- *
6
- * - **SHID**: A randomly generated 36-character unique payment address (UUID format).
7
- * Generated by the system when created. Available for all client types (P, C, B, G).
8
- * Example: `8b1b2499-3e50-435b-b757-ac7a83d8aa7f`
9
- *
10
- * - **MCOD**: Merchant code identifier for USSD payment support.
11
- * Available for business clients only (C, B, G). Format: alphanumeric code.
12
- * Example: `SNF00_2E4TY`
13
- *
14
- * - **MBNO**: Mobile phone number alias.
15
- * Available for individual clients (P) only. Format: phone number.
16
- * Example: `+221771234567`
17
- *
18
- * **Client Type Restrictions:**
19
- * - Type P (Individuals): Can create MBNO and SHID aliases
20
- * - Types C, B, G (Businesses): Can create SHID and MCOD aliases
21
- *
22
- * **Limits:**
23
- * - Default limit: 20 aliases per account
24
- * - Limit can be increased based on client needs
25
- */
26
- /**
27
- * Alias type values as defined in the PI-SPI API specification
28
- */
29
- export declare const AliasType: {
30
- /**
31
- * SHID - System-generated unique payment address (UUID format, 36 characters)
32
- * Available for all client types: P, C, B, G
33
- */
34
- readonly SHID: "SHID";
35
- /**
36
- * MCOD - Merchant code for USSD payment support
37
- * Available for business clients only: C, B, G
38
- */
39
- readonly MCOD: "MCOD";
40
- /**
41
- * MBNO - Mobile phone number alias
42
- * Available for individual clients only: P
43
- */
44
- readonly MBNO: "MBNO";
45
- };
46
- /**
47
- * Type representing a valid alias type
48
- */
49
- export type AliasType = (typeof AliasType)[keyof typeof AliasType];
50
- /**
51
- * Valid alias types as a tuple for runtime validation
52
- */
53
- export declare const ALIAS_TYPES: readonly ["SHID", "MCOD", "MBNO"];
54
- /**
55
- * Check if a string is a valid alias type
56
- */
57
- export declare function isValidAliasType(value: string): value is AliasType;
58
- /**
59
- * Get available alias types for a client type
60
- *
61
- * @param clientType - Client type: 'P' (Individual), 'C' (Merchant), 'B' (Business), 'G' (Government)
62
- * @returns Array of available alias types for the client type
63
- */
64
- export declare function getAvailableAliasTypes(clientType: 'P' | 'C' | 'B' | 'G'): AliasType[];
@@ -1,78 +0,0 @@
1
- "use strict";
2
- /**
3
- * Alias Types for PI-SPI
4
- *
5
- * The PI-SPI platform supports different types of account aliases:
6
- *
7
- * - **SHID**: A randomly generated 36-character unique payment address (UUID format).
8
- * Generated by the system when created. Available for all client types (P, C, B, G).
9
- * Example: `8b1b2499-3e50-435b-b757-ac7a83d8aa7f`
10
- *
11
- * - **MCOD**: Merchant code identifier for USSD payment support.
12
- * Available for business clients only (C, B, G). Format: alphanumeric code.
13
- * Example: `SNF00_2E4TY`
14
- *
15
- * - **MBNO**: Mobile phone number alias.
16
- * Available for individual clients (P) only. Format: phone number.
17
- * Example: `+221771234567`
18
- *
19
- * **Client Type Restrictions:**
20
- * - Type P (Individuals): Can create MBNO and SHID aliases
21
- * - Types C, B, G (Businesses): Can create SHID and MCOD aliases
22
- *
23
- * **Limits:**
24
- * - Default limit: 20 aliases per account
25
- * - Limit can be increased based on client needs
26
- */
27
- Object.defineProperty(exports, "__esModule", { value: true });
28
- exports.ALIAS_TYPES = exports.AliasType = void 0;
29
- exports.isValidAliasType = isValidAliasType;
30
- exports.getAvailableAliasTypes = getAvailableAliasTypes;
31
- /**
32
- * Alias type values as defined in the PI-SPI API specification
33
- */
34
- exports.AliasType = {
35
- /**
36
- * SHID - System-generated unique payment address (UUID format, 36 characters)
37
- * Available for all client types: P, C, B, G
38
- */
39
- SHID: 'SHID',
40
- /**
41
- * MCOD - Merchant code for USSD payment support
42
- * Available for business clients only: C, B, G
43
- */
44
- MCOD: 'MCOD',
45
- /**
46
- * MBNO - Mobile phone number alias
47
- * Available for individual clients only: P
48
- */
49
- MBNO: 'MBNO',
50
- };
51
- /**
52
- * Valid alias types as a tuple for runtime validation
53
- */
54
- exports.ALIAS_TYPES = [exports.AliasType.SHID, exports.AliasType.MCOD, exports.AliasType.MBNO];
55
- /**
56
- * Check if a string is a valid alias type
57
- */
58
- function isValidAliasType(value) {
59
- return exports.ALIAS_TYPES.includes(value);
60
- }
61
- /**
62
- * Get available alias types for a client type
63
- *
64
- * @param clientType - Client type: 'P' (Individual), 'C' (Merchant), 'B' (Business), 'G' (Government)
65
- * @returns Array of available alias types for the client type
66
- */
67
- function getAvailableAliasTypes(clientType) {
68
- switch (clientType) {
69
- case 'P':
70
- return [exports.AliasType.MBNO, exports.AliasType.SHID];
71
- case 'C':
72
- case 'B':
73
- case 'G':
74
- return [exports.AliasType.SHID, exports.AliasType.MCOD];
75
- default:
76
- return [];
77
- }
78
- }
@@ -1,93 +0,0 @@
1
- /**
2
- * PI-SPI Constants
3
- *
4
- * Centralized constants for API endpoints, status codes, and configuration values
5
- */
6
- export declare const PI_SPI_ENDPOINTS: {
7
- /** Production API endpoint */
8
- PRODUCTION: string;
9
- /** Sandbox API endpoint */
10
- SANDBOX: string;
11
- /** Default endpoint (sandbox) */
12
- DEFAULT: string;
13
- };
14
- export declare const PAYMENT_STATUS: {
15
- /** Payment initiated (awaiting confirmation after alias lookup) */
16
- INITIE: string;
17
- /** Payment sent (validations passed, PSP has sent the request) */
18
- ENVOYE: string;
19
- /** Payment is confirmed/irreversible */
20
- IRREVOCABLE: string;
21
- /** Payment has been rejected */
22
- REJETE: string;
23
- };
24
- export declare const ACCOUNT_STATUS: {
25
- /** Account is open */
26
- OPEN: string;
27
- /** Account is blocked */
28
- BLOCKED: string;
29
- /** Account is closed */
30
- CLOSED: string;
31
- };
32
- export declare const ACCOUNT_TYPE: {
33
- /** Current account */
34
- CURRENT: string;
35
- /** Savings account */
36
- SAVINGS: string;
37
- };
38
- export declare const CLIENT_TYPE: {
39
- /** Individual person */
40
- INDIVIDUAL: string;
41
- /** Merchant */
42
- MERCHANT: string;
43
- /** Business */
44
- BUSINESS: string;
45
- /** Government */
46
- GOVERNMENT: string;
47
- };
48
- export declare const UEMOA_COUNTRIES: {
49
- BENIN: string;
50
- BURKINA_FASO: string;
51
- IVORY_COAST: string;
52
- GUINEA_BISSAU: string;
53
- MALI: string;
54
- NIGER: string;
55
- SENEGAL: string;
56
- TOGO: string;
57
- };
58
- export declare const CURRENCY: {
59
- /** West African CFA Franc */
60
- XOF: string;
61
- /** Amounts are specified in centimes (1 XOF = 100 centimes) */
62
- CENTIMES_PER_XOF: number;
63
- };
64
- export declare const DEFAULT_LIMITS: {
65
- /** Maximum page size for paginated requests */
66
- MAX_PAGE_SIZE: number;
67
- /** Default page size */
68
- DEFAULT_PAGE_SIZE: number;
69
- /** Default aliases per account */
70
- DEFAULT_ALIASES_PER_ACCOUNT: number;
71
- };
72
- export declare const WEBHOOK_EVENTS: {
73
- /** Payment received */
74
- PAIEMENT_RECU: string;
75
- /** Payment sent */
76
- PAIEMENT_ENVOYE: string;
77
- /** Payment rejected */
78
- PAIEMENT_REJETE: string;
79
- /** Payment request (RTP) received */
80
- RTP_RECU: string;
81
- /** Payment request (RTP) rejected */
82
- RTP_REJETE: string;
83
- /** Cancellation requested */
84
- ANNULATION_DEMANDE: string;
85
- /** Cancellation rejected */
86
- ANNULATION_REJETE: string;
87
- /** Fund return sent */
88
- RETOUR_ENVOYE: string;
89
- /** Fund return rejected */
90
- RETOUR_REJETE: string;
91
- /** Fund return received */
92
- RETOUR_RECU: string;
93
- };
@@ -1,96 +0,0 @@
1
- "use strict";
2
- /**
3
- * PI-SPI Constants
4
- *
5
- * Centralized constants for API endpoints, status codes, and configuration values
6
- */
7
- Object.defineProperty(exports, "__esModule", { value: true });
8
- 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 = void 0;
9
- exports.PI_SPI_ENDPOINTS = {
10
- /** Production API endpoint */
11
- PRODUCTION: 'https://api.pi-bceao.com/piz/v1',
12
- /** Sandbox API endpoint */
13
- SANDBOX: 'https://sandbox.api.pi-bceao.com/piz/v1',
14
- /** Default endpoint (sandbox) */
15
- DEFAULT: 'https://sandbox.api.pi-bceao.com/piz/v1',
16
- };
17
- exports.PAYMENT_STATUS = {
18
- /** Payment initiated (awaiting confirmation after alias lookup) */
19
- INITIE: 'INITIE',
20
- /** Payment sent (validations passed, PSP has sent the request) */
21
- ENVOYE: 'ENVOYE',
22
- /** Payment is confirmed/irreversible */
23
- IRREVOCABLE: 'IRREVOCABLE',
24
- /** Payment has been rejected */
25
- REJETE: 'REJETE',
26
- };
27
- exports.ACCOUNT_STATUS = {
28
- /** Account is open */
29
- OPEN: 'OUVERT',
30
- /** Account is blocked */
31
- BLOCKED: 'BLOQUE',
32
- /** Account is closed */
33
- CLOSED: 'CLOTURE',
34
- };
35
- exports.ACCOUNT_TYPE = {
36
- /** Current account */
37
- CURRENT: 'CACC',
38
- /** Savings account */
39
- SAVINGS: 'SVGS',
40
- };
41
- exports.CLIENT_TYPE = {
42
- /** Individual person */
43
- INDIVIDUAL: 'P',
44
- /** Merchant */
45
- MERCHANT: 'C',
46
- /** Business */
47
- BUSINESS: 'B',
48
- /** Government */
49
- GOVERNMENT: 'G',
50
- };
51
- exports.UEMOA_COUNTRIES = {
52
- BENIN: 'BJ',
53
- BURKINA_FASO: 'BF',
54
- IVORY_COAST: 'CI',
55
- GUINEA_BISSAU: 'GW',
56
- MALI: 'ML',
57
- NIGER: 'NE',
58
- SENEGAL: 'SN',
59
- TOGO: 'TG',
60
- };
61
- exports.CURRENCY = {
62
- /** West African CFA Franc */
63
- XOF: 'XOF',
64
- /** Amounts are specified in centimes (1 XOF = 100 centimes) */
65
- CENTIMES_PER_XOF: 100,
66
- };
67
- exports.DEFAULT_LIMITS = {
68
- /** Maximum page size for paginated requests */
69
- MAX_PAGE_SIZE: 100,
70
- /** Default page size */
71
- DEFAULT_PAGE_SIZE: 20,
72
- /** Default aliases per account */
73
- DEFAULT_ALIASES_PER_ACCOUNT: 20,
74
- };
75
- exports.WEBHOOK_EVENTS = {
76
- /** Payment received */
77
- PAIEMENT_RECU: 'PAIEMENT_RECU',
78
- /** Payment sent */
79
- PAIEMENT_ENVOYE: 'PAIEMENT_ENVOYE',
80
- /** Payment rejected */
81
- PAIEMENT_REJETE: 'PAIEMENT_REJETE',
82
- /** Payment request (RTP) received */
83
- RTP_RECU: 'RTP_RECU',
84
- /** Payment request (RTP) rejected */
85
- RTP_REJETE: 'RTP_REJETE',
86
- /** Cancellation requested */
87
- ANNULATION_DEMANDE: 'ANNULATION_DEMANDE',
88
- /** Cancellation rejected */
89
- ANNULATION_REJETE: 'ANNULATION_REJETE',
90
- /** Fund return sent */
91
- RETOUR_ENVOYE: 'RETOUR_ENVOYE',
92
- /** Fund return rejected */
93
- RETOUR_REJETE: 'RETOUR_REJETE',
94
- /** Fund return received */
95
- RETOUR_RECU: 'RETOUR_RECU',
96
- };
@@ -1,60 +0,0 @@
1
- /**
2
- * Utility functions for PI-SPI operations
3
- *
4
- * Common helper functions for formatting amounts, validating inputs,
5
- * and other utility operations.
6
- */
7
- /**
8
- * Format amount from centimes to XOF
9
- * @param centimes - Amount in centimes
10
- * @returns Formatted amount string (e.g., "1 500 XOF")
11
- */
12
- export declare function formatAmount(centimes: number): string;
13
- /**
14
- * Convert XOF to centimes
15
- * @param xof - Amount in XOF
16
- * @returns Amount in centimes
17
- */
18
- export declare function xofToCentimes(xof: number): number;
19
- /**
20
- * Convert centimes to XOF
21
- * @param centimes - Amount in centimes
22
- * @returns Amount in XOF
23
- */
24
- export declare function centimesToXof(centimes: number): number;
25
- /**
26
- * Validate account number format
27
- * @param accountNumber - Account number to validate
28
- * @returns True if valid format
29
- */
30
- export declare function isValidAccountNumber(accountNumber: string): boolean;
31
- /**
32
- * Validate SHID alias format (UUID)
33
- * @param alias - Alias to validate
34
- * @returns True if valid UUID format
35
- */
36
- export declare function isValidShidAlias(alias: string): boolean;
37
- /**
38
- * Validate phone number format (for MBNO alias)
39
- * @param phoneNumber - Phone number to validate
40
- * @returns True if valid format
41
- */
42
- export declare function isValidPhoneNumber(phoneNumber: string): boolean;
43
- /**
44
- * Extract country code from account number
45
- * @param accountNumber - Account number
46
- * @returns Country code or null
47
- */
48
- export declare function getCountryFromAccount(accountNumber: string): string | null;
49
- /**
50
- * Sleep/delay utility
51
- * @param ms - Milliseconds to wait
52
- */
53
- export declare function sleep(ms: number): Promise<void>;
54
- /**
55
- * Retry a function with exponential backoff
56
- * @param fn - Function to retry
57
- * @param maxRetries - Maximum number of retries
58
- * @param initialDelay - Initial delay in milliseconds
59
- */
60
- export declare function retryWithBackoff<T>(fn: () => Promise<T>, maxRetries?: number, initialDelay?: number): Promise<T>;