pi-spi-sdk 0.1.2 → 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 (215) hide show
  1. package/CHANGELOG.md +48 -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 -11
  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 +68 -0
  13. package/dist/qrcode/index.mjs +712 -0
  14. package/package.json +25 -8
  15. package/dist/config.d.ts +0 -35
  16. package/dist/config.js +0 -4
  17. package/dist/error-handler.d.ts +0 -7
  18. package/dist/error-handler.js +0 -52
  19. package/dist/errors.d.ts +0 -25
  20. package/dist/errors.js +0 -40
  21. package/dist/examples.d.ts +0 -8
  22. package/dist/examples.js +0 -91
  23. package/dist/generated/core/ApiError.d.ts +0 -10
  24. package/dist/generated/core/ApiError.js +0 -11
  25. package/dist/generated/core/ApiRequestOptions.d.ts +0 -13
  26. package/dist/generated/core/ApiRequestOptions.js +0 -1
  27. package/dist/generated/core/ApiResult.d.ts +0 -7
  28. package/dist/generated/core/ApiResult.js +0 -1
  29. package/dist/generated/core/CancelablePromise.d.ts +0 -20
  30. package/dist/generated/core/CancelablePromise.js +0 -111
  31. package/dist/generated/core/OpenAPI.d.ts +0 -16
  32. package/dist/generated/core/OpenAPI.js +0 -11
  33. package/dist/generated/core/request.d.ts +0 -34
  34. package/dist/generated/core/request.js +0 -269
  35. package/dist/generated/index.d.ts +0 -78
  36. package/dist/generated/index.js +0 -43
  37. package/dist/generated/models/AliasCreationReponse.d.ts +0 -22
  38. package/dist/generated/models/AliasCreationReponse.js +0 -1
  39. package/dist/generated/models/AliasCreationRequest.d.ts +0 -11
  40. package/dist/generated/models/AliasCreationRequest.js +0 -1
  41. package/dist/generated/models/AliasReponseListe.d.ts +0 -26
  42. package/dist/generated/models/AliasReponseListe.js +0 -1
  43. package/dist/generated/models/AnnulationStatut.d.ts +0 -13
  44. package/dist/generated/models/AnnulationStatut.js +0 -18
  45. package/dist/generated/models/Champs.d.ts +0 -1
  46. package/dist/generated/models/Champs.js +0 -1
  47. package/dist/generated/models/CompteOperation.d.ts +0 -72
  48. package/dist/generated/models/CompteOperation.js +0 -24
  49. package/dist/generated/models/CompteOperationListe.d.ts +0 -18
  50. package/dist/generated/models/CompteOperationListe.js +0 -1
  51. package/dist/generated/models/CompteSolde.d.ts +0 -129
  52. package/dist/generated/models/CompteSolde.js +0 -71
  53. package/dist/generated/models/CompteTransfertIntraReponse.d.ts +0 -33
  54. package/dist/generated/models/CompteTransfertIntraReponse.js +0 -12
  55. package/dist/generated/models/CompteTransfertIntraRequest.d.ts +0 -9
  56. package/dist/generated/models/CompteTransfertIntraRequest.js +0 -1
  57. package/dist/generated/models/DemandePaiementConfirmationAnnulationRaison.d.ts +0 -14
  58. package/dist/generated/models/DemandePaiementConfirmationAnnulationRaison.js +0 -19
  59. package/dist/generated/models/DemandePaiementConfirmationReponse.d.ts +0 -41
  60. package/dist/generated/models/DemandePaiementConfirmationReponse.js +0 -13
  61. package/dist/generated/models/DemandePaiementConfirmationRequest.d.ts +0 -3
  62. package/dist/generated/models/DemandePaiementConfirmationRequest.js +0 -1
  63. package/dist/generated/models/DemandePaiementConfirmationRequestAccepter.d.ts +0 -9
  64. package/dist/generated/models/DemandePaiementConfirmationRequestAccepter.js +0 -1
  65. package/dist/generated/models/DemandePaiementConfirmationRequestRejeter.d.ts +0 -9
  66. package/dist/generated/models/DemandePaiementConfirmationRequestRejeter.js +0 -1
  67. package/dist/generated/models/DemandePaiementConsultationReponse.d.ts +0 -151
  68. package/dist/generated/models/DemandePaiementConsultationReponse.js +0 -27
  69. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequest.d.ts +0 -3
  70. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequest.js +0 -1
  71. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestAccepter.d.ts +0 -9
  72. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestAccepter.js +0 -1
  73. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestRejeter.d.ts +0 -9
  74. package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestRejeter.js +0 -1
  75. package/dist/generated/models/DemandePaiementEnMasseRequest.d.ts +0 -74
  76. package/dist/generated/models/DemandePaiementEnMasseRequest.js +0 -1
  77. package/dist/generated/models/DemandePaiementEnMasseStatutReponse.d.ts +0 -98
  78. package/dist/generated/models/DemandePaiementEnMasseStatutReponse.js +0 -20
  79. package/dist/generated/models/DemandePaiementListe.d.ts +0 -26
  80. package/dist/generated/models/DemandePaiementListe.js +0 -1
  81. package/dist/generated/models/DemandePaiementListeItem.d.ts +0 -163
  82. package/dist/generated/models/DemandePaiementListeItem.js +0 -27
  83. package/dist/generated/models/DemandePaiementReponse.d.ts +0 -129
  84. package/dist/generated/models/DemandePaiementReponse.js +0 -1
  85. package/dist/generated/models/DemandePaiementReponseRequest.d.ts +0 -21
  86. package/dist/generated/models/DemandePaiementReponseRequest.js +0 -11
  87. package/dist/generated/models/DemandePaiementRequest.d.ts +0 -98
  88. package/dist/generated/models/DemandePaiementRequest.js +0 -7
  89. package/dist/generated/models/DemandePaiementRequestBase.d.ts +0 -42
  90. package/dist/generated/models/DemandePaiementRequestBase.js +0 -1
  91. package/dist/generated/models/DemandePaiementRequestCategorie.d.ts +0 -12
  92. package/dist/generated/models/DemandePaiementRequestCategorie.js +0 -17
  93. package/dist/generated/models/DemandePaiementStatut.d.ts +0 -13
  94. package/dist/generated/models/DemandePaiementStatut.js +0 -18
  95. package/dist/generated/models/DemandePaiementStatutRaison.d.ts +0 -46
  96. package/dist/generated/models/DemandePaiementStatutRaison.js +0 -51
  97. package/dist/generated/models/ListeMeta.d.ts +0 -14
  98. package/dist/generated/models/ListeMeta.js +0 -1
  99. package/dist/generated/models/Paiement.d.ts +0 -156
  100. package/dist/generated/models/Paiement.js +0 -28
  101. package/dist/generated/models/PaiementAnnulationMotif.d.ts +0 -17
  102. package/dist/generated/models/PaiementAnnulationMotif.js +0 -22
  103. package/dist/generated/models/PaiementAnnulationReponseRequest.d.ts +0 -11
  104. package/dist/generated/models/PaiementAnnulationReponseRequest.js +0 -1
  105. package/dist/generated/models/PaiementAnnulationReponseRequestAccepter.d.ts +0 -9
  106. package/dist/generated/models/PaiementAnnulationReponseRequestAccepter.js +0 -1
  107. package/dist/generated/models/PaiementAnnulationReponseRequestRejeter.d.ts +0 -9
  108. package/dist/generated/models/PaiementAnnulationReponseRequestRejeter.js +0 -1
  109. package/dist/generated/models/PaiementAnnulationRequest.d.ts +0 -4
  110. package/dist/generated/models/PaiementAnnulationRequest.js +0 -1
  111. package/dist/generated/models/PaiementAnnulationStatutRaison.d.ts +0 -21
  112. package/dist/generated/models/PaiementAnnulationStatutRaison.js +0 -26
  113. package/dist/generated/models/PaiementEnMasseConfirmationRequest.d.ts +0 -3
  114. package/dist/generated/models/PaiementEnMasseConfirmationRequest.js +0 -1
  115. package/dist/generated/models/PaiementEnMasseConfirmationRequestAccepter.d.ts +0 -9
  116. package/dist/generated/models/PaiementEnMasseConfirmationRequestAccepter.js +0 -1
  117. package/dist/generated/models/PaiementEnMasseConfirmationRequestRejeter.d.ts +0 -9
  118. package/dist/generated/models/PaiementEnMasseConfirmationRequestRejeter.js +0 -1
  119. package/dist/generated/models/PaiementEnMasseReponseStatut.d.ts +0 -97
  120. package/dist/generated/models/PaiementEnMasseReponseStatut.js +0 -20
  121. package/dist/generated/models/PaiementEnMasseRequest.d.ts +0 -54
  122. package/dist/generated/models/PaiementEnMasseRequest.js +0 -1
  123. package/dist/generated/models/PaiementImmediatConfirmationReponse.d.ts +0 -31
  124. package/dist/generated/models/PaiementImmediatConfirmationReponse.js +0 -7
  125. package/dist/generated/models/PaiementImmediatConfirmationRequest.d.ts +0 -3
  126. package/dist/generated/models/PaiementImmediatConfirmationRequest.js +0 -1
  127. package/dist/generated/models/PaiementImmediatConfirmationRequestAccepter.d.ts +0 -9
  128. package/dist/generated/models/PaiementImmediatConfirmationRequestAccepter.js +0 -1
  129. package/dist/generated/models/PaiementImmediatConfirmationRequestRejeter.d.ts +0 -9
  130. package/dist/generated/models/PaiementImmediatConfirmationRequestRejeter.js +0 -1
  131. package/dist/generated/models/PaiementImmediatReponse.d.ts +0 -98
  132. package/dist/generated/models/PaiementImmediatReponse.js +0 -7
  133. package/dist/generated/models/PaiementImmediatRequest.d.ts +0 -13
  134. package/dist/generated/models/PaiementImmediatRequest.js +0 -1
  135. package/dist/generated/models/PaiementListe.d.ts +0 -6
  136. package/dist/generated/models/PaiementListe.js +0 -1
  137. package/dist/generated/models/PaiementRequest.d.ts +0 -33
  138. package/dist/generated/models/PaiementRequest.js +0 -1
  139. package/dist/generated/models/PaiementStatut.d.ts +0 -13
  140. package/dist/generated/models/PaiementStatut.js +0 -18
  141. package/dist/generated/models/PaiementStatutRaison.d.ts +0 -56
  142. package/dist/generated/models/PaiementStatutRaison.js +0 -61
  143. package/dist/generated/models/Problem7807.d.ts +0 -31
  144. package/dist/generated/models/Problem7807.js +0 -1
  145. package/dist/generated/models/RefDocType.d.ts +0 -38
  146. package/dist/generated/models/RefDocType.js +0 -43
  147. package/dist/generated/models/RetourStatut.d.ts +0 -13
  148. package/dist/generated/models/RetourStatut.js +0 -18
  149. package/dist/generated/models/RetourStatutRaison.d.ts +0 -25
  150. package/dist/generated/models/RetourStatutRaison.js +0 -30
  151. package/dist/generated/models/WebhookCreationRequest.d.ts +0 -14
  152. package/dist/generated/models/WebhookCreationRequest.js +0 -1
  153. package/dist/generated/models/WebhookCreationResponse.d.ts +0 -12
  154. package/dist/generated/models/WebhookCreationResponse.js +0 -1
  155. package/dist/generated/models/WebhookData.d.ts +0 -8
  156. package/dist/generated/models/WebhookData.js +0 -1
  157. package/dist/generated/models/WebhookEvent.d.ts +0 -191
  158. package/dist/generated/models/WebhookEvent.js +0 -42
  159. package/dist/generated/models/WebhookEventsList.d.ts +0 -13
  160. package/dist/generated/models/WebhookEventsList.js +0 -1
  161. package/dist/generated/models/WebhookList.d.ts +0 -13
  162. package/dist/generated/models/WebhookList.js +0 -1
  163. package/dist/generated/models/WebhookModificationRequest.d.ts +0 -4
  164. package/dist/generated/models/WebhookModificationRequest.js +0 -1
  165. package/dist/generated/models/WebhooksEvents.d.ts +0 -12
  166. package/dist/generated/models/WebhooksEvents.js +0 -17
  167. package/dist/generated/services/AliasService.d.ts +0 -63
  168. package/dist/generated/services/AliasService.js +0 -84
  169. package/dist/generated/services/ComptesService.d.ts +0 -64
  170. package/dist/generated/services/ComptesService.js +0 -86
  171. package/dist/generated/services/DemandeAnnulationService.d.ts +0 -84
  172. package/dist/generated/services/DemandeAnnulationService.js +0 -99
  173. package/dist/generated/services/DemandesDePaiementEnMasseService.d.ts +0 -161
  174. package/dist/generated/services/DemandesDePaiementEnMasseService.js +0 -189
  175. package/dist/generated/services/DemandesDePaiementService.d.ts +0 -123
  176. package/dist/generated/services/DemandesDePaiementService.js +0 -161
  177. package/dist/generated/services/NotificationService.d.ts +0 -80
  178. package/dist/generated/services/NotificationService.js +0 -132
  179. package/dist/generated/services/PaiementEnMasseService.d.ts +0 -159
  180. package/dist/generated/services/PaiementEnMasseService.js +0 -187
  181. package/dist/generated/services/PaiementImmediatService.d.ts +0 -135
  182. package/dist/generated/services/PaiementImmediatService.js +0 -176
  183. package/dist/generated/services/RetoursdeFondsService.d.ts +0 -28
  184. package/dist/generated/services/RetoursdeFondsService.js +0 -37
  185. package/dist/index.js +0 -23
  186. package/dist/query-builder.d.ts +0 -91
  187. package/dist/query-builder.js +0 -187
  188. package/dist/sdk.d.ts +0 -88
  189. package/dist/sdk.js +0 -107
  190. package/dist/services/alias.d.ts +0 -72
  191. package/dist/services/alias.js +0 -82
  192. package/dist/services/base.d.ts +0 -9
  193. package/dist/services/base.js +0 -17
  194. package/dist/services/comptes.d.ts +0 -149
  195. package/dist/services/comptes.js +0 -158
  196. package/dist/services/demandes-annulation.d.ts +0 -97
  197. package/dist/services/demandes-annulation.js +0 -104
  198. package/dist/services/demandes-paiement-en-masse.d.ts +0 -139
  199. package/dist/services/demandes-paiement-en-masse.js +0 -139
  200. package/dist/services/demandes-paiement.d.ts +0 -144
  201. package/dist/services/demandes-paiement.js +0 -151
  202. package/dist/services/paiements-en-masse.d.ts +0 -152
  203. package/dist/services/paiements-en-masse.js +0 -153
  204. package/dist/services/paiements.d.ts +0 -135
  205. package/dist/services/paiements.js +0 -135
  206. package/dist/services/retours-fonds.d.ts +0 -94
  207. package/dist/services/retours-fonds.js +0 -100
  208. package/dist/services/webhooks.d.ts +0 -131
  209. package/dist/services/webhooks.js +0 -142
  210. package/dist/types/alias.d.ts +0 -64
  211. package/dist/types/alias.js +0 -73
  212. package/dist/utils/constants.d.ts +0 -93
  213. package/dist/utils/constants.js +0 -93
  214. package/dist/utils/index.d.ts +0 -60
  215. package/dist/utils/index.js +0 -115
package/dist/sdk.js DELETED
@@ -1,107 +0,0 @@
1
- /**
2
- * Main PI-SPI SDK class
3
- *
4
- * This is the entry point for interacting with the PI-SPI API.
5
- * Provides organized access to all API services.
6
- */
7
- import { handleApiError } from './error-handler';
8
- import { ComptesService } from './services/comptes';
9
- import { AliasService } from './services/alias';
10
- import { WebhooksService } from './services/webhooks';
11
- import { DemandesPaiementService } from './services/demandes-paiement';
12
- import { DemandesPaiementEnMasseService } from './services/demandes-paiement-en-masse';
13
- import { PaiementsService } from './services/paiements';
14
- import { PaiementsEnMasseService } from './services/paiements-en-masse';
15
- import { RetoursFondsService } from './services/retours-fonds';
16
- import { DemandesAnnulationService } from './services/demandes-annulation';
17
- // OpenAPI will be imported from generated code after running pnpm run generate
18
- // For now, we'll use a dynamic import approach
19
- let OpenAPI;
20
- // Try to import generated OpenAPI config
21
- async function loadOpenAPI() {
22
- try {
23
- const generated = await import('./generated');
24
- return generated.OpenAPI;
25
- }
26
- catch {
27
- // Return placeholder if not generated yet
28
- return {
29
- BASE: 'https://sandbox.api.pi-bceao.com/piz/v1',
30
- TOKEN: undefined,
31
- HEADERS: undefined,
32
- };
33
- }
34
- }
35
- export class PiSpiSDK {
36
- /**
37
- * Initialize the PI-SPI SDK
38
- *
39
- * @param config - SDK configuration
40
- *
41
- * @example
42
- * ```typescript
43
- * const sdk = new PiSpiSDK({
44
- * baseUrl: 'https://sandbox.api.pi-bceao.com/piz/v1',
45
- * accessToken: 'your-oauth2-token',
46
- * });
47
- * ```
48
- */
49
- constructor(config) {
50
- // Initialize OpenAPI configuration synchronously
51
- // Note: This will work better after code generation when OpenAPI is properly exported
52
- try {
53
- // In a real scenario, we'd import this properly
54
- // For now, we'll set it up directly
55
- OpenAPI = {
56
- BASE: config.baseUrl || 'https://sandbox.api.pi-bceao.com/piz/v1',
57
- TOKEN: config.accessToken,
58
- HEADERS: {
59
- ...config.headers,
60
- Authorization: `Bearer ${config.accessToken}`,
61
- },
62
- };
63
- }
64
- catch {
65
- // Fallback configuration
66
- OpenAPI = {
67
- BASE: config.baseUrl || 'https://sandbox.api.pi-bceao.com/piz/v1',
68
- TOKEN: config.accessToken,
69
- HEADERS: {
70
- ...config.headers,
71
- Authorization: `Bearer ${config.accessToken}`,
72
- },
73
- };
74
- }
75
- // Initialize services
76
- this.comptes = new ComptesService();
77
- this.alias = new AliasService();
78
- this.webhooks = new WebhooksService();
79
- this.demandesPaiement = new DemandesPaiementService();
80
- this.demandesPaiementEnMasse = new DemandesPaiementEnMasseService();
81
- this.paiements = new PaiementsService();
82
- this.paiementsEnMasse = new PaiementsEnMasseService();
83
- this.retoursFonds = new RetoursFondsService();
84
- this.demandesAnnulation = new DemandesAnnulationService();
85
- }
86
- /**
87
- * Update the access token
88
- * Useful when tokens are refreshed
89
- */
90
- setAccessToken(token) {
91
- if (OpenAPI) {
92
- OpenAPI.TOKEN = token;
93
- OpenAPI.HEADERS = {
94
- ...OpenAPI.HEADERS,
95
- Authorization: `Bearer ${token}`,
96
- };
97
- }
98
- }
99
- /**
100
- * Get the current base URL
101
- */
102
- getBaseUrl() {
103
- return OpenAPI?.BASE || 'https://sandbox.api.pi-bceao.com/piz/v1';
104
- }
105
- }
106
- // Export error handler for advanced use cases
107
- export { handleApiError };
@@ -1,72 +0,0 @@
1
- /**
2
- * Aliases service wrapper
3
- *
4
- * Provides methods for managing account aliases.
5
- *
6
- * @example
7
- * ```typescript
8
- * // Create a SHID alias (available for all client types)
9
- * const alias = await sdk.alias.create({
10
- * compte: 'CIC2344256727788288822',
11
- * type: AliasType.SHID
12
- * });
13
- * // Returns: { cle: '8b1b2499-3e50-435b-b757-ac7a83d8aa7f', type: 'SHID', ... }
14
- *
15
- * // Create an MCOD alias (business clients only)
16
- * const merchantAlias = await sdk.alias.create({
17
- * compte: 'SNC2344256727788288822',
18
- * type: AliasType.MCOD
19
- * });
20
- * // Returns: { cle: 'SNF00_2E4TY', type: 'MCOD', ... }
21
- * ```
22
- */
23
- import { BaseService } from './base';
24
- import type { QueryParams } from '../query-builder';
25
- import type { AliasType } from '../types/alias';
26
- export declare class AliasService extends BaseService {
27
- /**
28
- * Create an account alias
29
- *
30
- * **Alias Types:**
31
- * - `SHID`: System-generated unique payment address (UUID format, 36 chars). Available for all client types (P, C, B, G)
32
- * - `MCOD`: Merchant code for USSD payments. Available for business clients only (C, B, G)
33
- * - `MBNO`: Mobile phone number. Available for individuals only (P)
34
- *
35
- * **Limits:**
36
- * - Default: 20 aliases per account
37
- * - Limit can be increased based on client needs
38
- *
39
- * @param alias - Alias creation data
40
- * @param alias.compte - Account number (e.g., 'CIC2344256727788288822')
41
- * @param alias.type - Alias type: 'SHID', 'MCOD', or 'MBNO'
42
- * @returns Created alias with generated `cle` (key) value
43
- * @throws {PiSpiError} If account not found or limit exceeded
44
- *
45
- * @example
46
- * ```typescript
47
- * // For business clients (C, B, G)
48
- * await sdk.alias.create({
49
- * compte: 'SNC2344256727788288822',
50
- * type: AliasType.SHID
51
- * });
52
- * ```
53
- */
54
- create(alias: {
55
- compte: string;
56
- type: AliasType;
57
- }): Promise<never>;
58
- /**
59
- * List aliases for an account
60
- *
61
- * @param compte - Account number
62
- * @param params - Query parameters for pagination
63
- * @returns Paginated list of aliases
64
- */
65
- list(compte: string, params?: QueryParams): Promise<never>;
66
- /**
67
- * Delete an alias
68
- *
69
- * @param alias - Alias identifier
70
- */
71
- delete(alias: string): Promise<never>;
72
- }
@@ -1,82 +0,0 @@
1
- /**
2
- * Aliases service wrapper
3
- *
4
- * Provides methods for managing account aliases.
5
- *
6
- * @example
7
- * ```typescript
8
- * // Create a SHID alias (available for all client types)
9
- * const alias = await sdk.alias.create({
10
- * compte: 'CIC2344256727788288822',
11
- * type: AliasType.SHID
12
- * });
13
- * // Returns: { cle: '8b1b2499-3e50-435b-b757-ac7a83d8aa7f', type: 'SHID', ... }
14
- *
15
- * // Create an MCOD alias (business clients only)
16
- * const merchantAlias = await sdk.alias.create({
17
- * compte: 'SNC2344256727788288822',
18
- * type: AliasType.MCOD
19
- * });
20
- * // Returns: { cle: 'SNF00_2E4TY', type: 'MCOD', ... }
21
- * ```
22
- */
23
- import { BaseService } from './base';
24
- export class AliasService extends BaseService {
25
- /**
26
- * Create an account alias
27
- *
28
- * **Alias Types:**
29
- * - `SHID`: System-generated unique payment address (UUID format, 36 chars). Available for all client types (P, C, B, G)
30
- * - `MCOD`: Merchant code for USSD payments. Available for business clients only (C, B, G)
31
- * - `MBNO`: Mobile phone number. Available for individuals only (P)
32
- *
33
- * **Limits:**
34
- * - Default: 20 aliases per account
35
- * - Limit can be increased based on client needs
36
- *
37
- * @param alias - Alias creation data
38
- * @param alias.compte - Account number (e.g., 'CIC2344256727788288822')
39
- * @param alias.type - Alias type: 'SHID', 'MCOD', or 'MBNO'
40
- * @returns Created alias with generated `cle` (key) value
41
- * @throws {PiSpiError} If account not found or limit exceeded
42
- *
43
- * @example
44
- * ```typescript
45
- * // For business clients (C, B, G)
46
- * await sdk.alias.create({
47
- * compte: 'SNC2344256727788288822',
48
- * type: AliasType.SHID
49
- * });
50
- * ```
51
- */
52
- async create(alias) {
53
- return this.execute(async () => {
54
- // This will call the generated service after codegen
55
- throw new Error('Service not yet generated. Run "pnpm run generate" first.');
56
- });
57
- }
58
- /**
59
- * List aliases for an account
60
- *
61
- * @param compte - Account number
62
- * @param params - Query parameters for pagination
63
- * @returns Paginated list of aliases
64
- */
65
- async list(compte, params) {
66
- return this.execute(async () => {
67
- // This will call the generated service after codegen
68
- throw new Error('Service not yet generated. Run "pnpm run generate" first.');
69
- });
70
- }
71
- /**
72
- * Delete an alias
73
- *
74
- * @param alias - Alias identifier
75
- */
76
- async delete(alias) {
77
- return this.execute(async () => {
78
- // This will call the generated service after codegen
79
- throw new Error('Service not yet generated. Run "pnpm run generate" first.');
80
- });
81
- }
82
- }
@@ -1,9 +0,0 @@
1
- /**
2
- * Base service class with common error handling
3
- */
4
- export declare abstract class BaseService {
5
- /**
6
- * Wrap an async operation with error handling
7
- */
8
- protected execute<T>(operation: () => Promise<T>): Promise<T>;
9
- }
@@ -1,17 +0,0 @@
1
- /**
2
- * Base service class with common error handling
3
- */
4
- import { handleApiError } from '../error-handler';
5
- export class BaseService {
6
- /**
7
- * Wrap an async operation with error handling
8
- */
9
- async execute(operation) {
10
- try {
11
- return await operation();
12
- }
13
- catch (error) {
14
- handleApiError(error);
15
- }
16
- }
17
- }
@@ -1,149 +0,0 @@
1
- /**
2
- * Accounts (Comptes) service wrapper
3
- *
4
- * Provides methods for managing accounts, viewing balances,
5
- * listing operations, and performing intra-account transfers.
6
- *
7
- * @example
8
- * ```typescript
9
- * // Get account balance and details
10
- * const account = await sdk.comptes.getAccount('CIC2344256727788288822');
11
- * console.log('Balance:', account.solde); // Amount in centimes
12
- * console.log('Status:', account.statut); // 'OUVERT', 'BLOQUE', or 'CLOTURE'
13
- *
14
- * // List operations with pagination
15
- * const operations = await sdk.comptes.listOperations({
16
- * comptePayeur: 'CIC2344256727788288822',
17
- * page: 1,
18
- * size: 20
19
- * });
20
- * ```
21
- */
22
- import { BaseService } from './base';
23
- import type { QueryParams } from '../query-builder';
24
- export declare class ComptesService extends BaseService {
25
- /**
26
- * Get account details and balance
27
- *
28
- * **Returns:**
29
- * - Account type (CACC, SVGS, etc.)
30
- * - Account number
31
- * - Current balance (`solde` in centimes)
32
- * - Account status (OUVERT, BLOQUE, CLOTURE)
33
- * - Opening date
34
- * - Pre-confirmation indicator
35
- *
36
- * @param numero - Account number (e.g., 'CIC2344256727788288822')
37
- * @returns Account details including balance
38
- * @throws {PiSpiNotFoundError} If account not found
39
- * @throws {PiSpiAuthError} If authentication fails
40
- *
41
- * @example
42
- * ```typescript
43
- * const account = await sdk.comptes.getAccount('CIC2344256727788288822');
44
- * // Returns: {
45
- * // type: 'CACC',
46
- * // numero: 'CIC2344256727788288822',
47
- * // solde: 150000000, // 1,500,000 XOF in centimes
48
- * // statut: 'OUVERT',
49
- * // dateOuverture: '2023-02-21T15:30:01.250Z'
50
- * // }
51
- * ```
52
- */
53
- getAccount(numero: string): Promise<never>;
54
- /**
55
- * List account operations (transactions)
56
- *
57
- * **Filtering Options:**
58
- * - Filter by account number (`comptePayeur`, `comptePaye`)
59
- * - Filter by status (`statut`: INITIE, ENVOYE, IRREVOCABLE, REJETE)
60
- * - Filter by dates (`dateEnvoi`, `dateIrrevocabilite`)
61
- * - Use QueryBuilder for advanced filtering
62
- *
63
- * @param params - Query parameters for filtering and pagination
64
- * @param params.comptePayeur - Filter by payer account number
65
- * @param params.comptePaye - Filter by payee account number
66
- * @param params.statut - Filter by transaction status
67
- * @param params.dateEnvoi - Filter by send date
68
- * @param params.dateIrrevocabilite - Filter by irrevocability date
69
- * @param params.page - Page number (default: 1)
70
- * @param params.size - Page size (default: 20, max: 100)
71
- * @returns Paginated list of operations
72
- *
73
- * @example
74
- * ```typescript
75
- * // List all operations for an account
76
- * const operations = await sdk.comptes.listOperations({
77
- * comptePayeur: 'CIC2344256727788288822',
78
- * page: 1,
79
- * size: 20
80
- * });
81
- *
82
- * // Filter by status
83
- * const completed = await sdk.comptes.listOperations({
84
- * comptePayeur: 'CIC2344256727788288822',
85
- * statut: 'IRREVOCABLE'
86
- * });
87
- * ```
88
- */
89
- listOperations(params?: QueryParams & {
90
- comptePayeur?: string;
91
- comptePaye?: string;
92
- statut?: string;
93
- dateEnvoi?: string;
94
- dateIrrevocabilite?: string;
95
- }): Promise<never>;
96
- /**
97
- * Transfer funds between accounts owned by the same client
98
- *
99
- * **Intra-Account Transfer:**
100
- * - Transfers between accounts owned by the same legal entity
101
- * - Accounts must be at the same financial institution
102
- * - Can use account numbers or aliases
103
- *
104
- * **Transfer Methods:**
105
- * - Using account numbers: `comptePayeur` and `comptePaye`
106
- * - Using aliases: `payeurAlias` and `payeAlias`
107
- *
108
- * @param transfer - Transfer request details
109
- * @param transfer.comptePayeur - Payer account number (if using account numbers)
110
- * @param transfer.comptePaye - Payee account number (if using account numbers)
111
- * @param transfer.payeurAlias - Payer alias (if using aliases)
112
- * @param transfer.payeAlias - Payee alias (if using aliases)
113
- * @param transfer.montant - Amount in centimes (e.g., 150000 = 1,500 XOF)
114
- * @param transfer.motif - Transfer reason/description
115
- * @param transfer.txId - Unique transaction ID (optional, auto-generated if not provided)
116
- * @returns Transfer response with status
117
- * @throws {PiSpiValidationError} If transfer fails validation
118
- * @throws {PiSpiError} If account blocked or insufficient funds
119
- *
120
- * @example
121
- * ```typescript
122
- * // Transfer using account numbers
123
- * await sdk.comptes.transfer({
124
- * comptePayeur: 'CIC2344256727788288822',
125
- * comptePaye: 'SNC2344256727788288822',
126
- * montant: 150000, // 1,500 XOF
127
- * motif: 'Transfert de fonds',
128
- * txId: '23511722'
129
- * });
130
- *
131
- * // Transfer using aliases
132
- * await sdk.comptes.transfer({
133
- * payeurAlias: '8b1b2499-3e50-435b-b757-ac7a83d8aa7f',
134
- * payeAlias: '4r5ty499-3e50-435b-b757-ac7a83d67juio',
135
- * montant: 150000,
136
- * motif: 'Transfert entre comptes'
137
- * });
138
- * ```
139
- */
140
- transfer(transfer: {
141
- comptePayeur?: string;
142
- comptePaye?: string;
143
- payeurAlias?: string;
144
- payeAlias?: string;
145
- montant: number;
146
- motif?: string;
147
- txId?: string;
148
- }): Promise<never>;
149
- }
@@ -1,158 +0,0 @@
1
- /**
2
- * Accounts (Comptes) service wrapper
3
- *
4
- * Provides methods for managing accounts, viewing balances,
5
- * listing operations, and performing intra-account transfers.
6
- *
7
- * @example
8
- * ```typescript
9
- * // Get account balance and details
10
- * const account = await sdk.comptes.getAccount('CIC2344256727788288822');
11
- * console.log('Balance:', account.solde); // Amount in centimes
12
- * console.log('Status:', account.statut); // 'OUVERT', 'BLOQUE', or 'CLOTURE'
13
- *
14
- * // List operations with pagination
15
- * const operations = await sdk.comptes.listOperations({
16
- * comptePayeur: 'CIC2344256727788288822',
17
- * page: 1,
18
- * size: 20
19
- * });
20
- * ```
21
- */
22
- import { BaseService } from './base';
23
- // Import generated types and services
24
- // These will be available after running the generate script
25
- // import { CompteSolde, CompteTransfertIntraRequest, CompteTransfertIntraReponse } from '../generated';
26
- // import { DefaultService } from '../generated/services/DefaultService';
27
- export class ComptesService extends BaseService {
28
- /**
29
- * Get account details and balance
30
- *
31
- * **Returns:**
32
- * - Account type (CACC, SVGS, etc.)
33
- * - Account number
34
- * - Current balance (`solde` in centimes)
35
- * - Account status (OUVERT, BLOQUE, CLOTURE)
36
- * - Opening date
37
- * - Pre-confirmation indicator
38
- *
39
- * @param numero - Account number (e.g., 'CIC2344256727788288822')
40
- * @returns Account details including balance
41
- * @throws {PiSpiNotFoundError} If account not found
42
- * @throws {PiSpiAuthError} If authentication fails
43
- *
44
- * @example
45
- * ```typescript
46
- * const account = await sdk.comptes.getAccount('CIC2344256727788288822');
47
- * // Returns: {
48
- * // type: 'CACC',
49
- * // numero: 'CIC2344256727788288822',
50
- * // solde: 150000000, // 1,500,000 XOF in centimes
51
- * // statut: 'OUVERT',
52
- * // dateOuverture: '2023-02-21T15:30:01.250Z'
53
- * // }
54
- * ```
55
- */
56
- async getAccount(numero) {
57
- return this.execute(async () => {
58
- // This will call the generated service after codegen
59
- // return await DefaultService.compteSoldeConsulter({ numero });
60
- throw new Error('Service not yet generated. Run "pnpm run generate" first.');
61
- });
62
- }
63
- /**
64
- * List account operations (transactions)
65
- *
66
- * **Filtering Options:**
67
- * - Filter by account number (`comptePayeur`, `comptePaye`)
68
- * - Filter by status (`statut`: INITIE, ENVOYE, IRREVOCABLE, REJETE)
69
- * - Filter by dates (`dateEnvoi`, `dateIrrevocabilite`)
70
- * - Use QueryBuilder for advanced filtering
71
- *
72
- * @param params - Query parameters for filtering and pagination
73
- * @param params.comptePayeur - Filter by payer account number
74
- * @param params.comptePaye - Filter by payee account number
75
- * @param params.statut - Filter by transaction status
76
- * @param params.dateEnvoi - Filter by send date
77
- * @param params.dateIrrevocabilite - Filter by irrevocability date
78
- * @param params.page - Page number (default: 1)
79
- * @param params.size - Page size (default: 20, max: 100)
80
- * @returns Paginated list of operations
81
- *
82
- * @example
83
- * ```typescript
84
- * // List all operations for an account
85
- * const operations = await sdk.comptes.listOperations({
86
- * comptePayeur: 'CIC2344256727788288822',
87
- * page: 1,
88
- * size: 20
89
- * });
90
- *
91
- * // Filter by status
92
- * const completed = await sdk.comptes.listOperations({
93
- * comptePayeur: 'CIC2344256727788288822',
94
- * statut: 'IRREVOCABLE'
95
- * });
96
- * ```
97
- */
98
- async listOperations(params) {
99
- return this.execute(async () => {
100
- // This will call the generated service after codegen
101
- // return await DefaultService.compteTransfertIntraLister(params);
102
- throw new Error('Service not yet generated. Run "pnpm run generate" first.');
103
- });
104
- }
105
- /**
106
- * Transfer funds between accounts owned by the same client
107
- *
108
- * **Intra-Account Transfer:**
109
- * - Transfers between accounts owned by the same legal entity
110
- * - Accounts must be at the same financial institution
111
- * - Can use account numbers or aliases
112
- *
113
- * **Transfer Methods:**
114
- * - Using account numbers: `comptePayeur` and `comptePaye`
115
- * - Using aliases: `payeurAlias` and `payeAlias`
116
- *
117
- * @param transfer - Transfer request details
118
- * @param transfer.comptePayeur - Payer account number (if using account numbers)
119
- * @param transfer.comptePaye - Payee account number (if using account numbers)
120
- * @param transfer.payeurAlias - Payer alias (if using aliases)
121
- * @param transfer.payeAlias - Payee alias (if using aliases)
122
- * @param transfer.montant - Amount in centimes (e.g., 150000 = 1,500 XOF)
123
- * @param transfer.motif - Transfer reason/description
124
- * @param transfer.txId - Unique transaction ID (optional, auto-generated if not provided)
125
- * @returns Transfer response with status
126
- * @throws {PiSpiValidationError} If transfer fails validation
127
- * @throws {PiSpiError} If account blocked or insufficient funds
128
- *
129
- * @example
130
- * ```typescript
131
- * // Transfer using account numbers
132
- * await sdk.comptes.transfer({
133
- * comptePayeur: 'CIC2344256727788288822',
134
- * comptePaye: 'SNC2344256727788288822',
135
- * montant: 150000, // 1,500 XOF
136
- * motif: 'Transfert de fonds',
137
- * txId: '23511722'
138
- * });
139
- *
140
- * // Transfer using aliases
141
- * await sdk.comptes.transfer({
142
- * payeurAlias: '8b1b2499-3e50-435b-b757-ac7a83d8aa7f',
143
- * payeAlias: '4r5ty499-3e50-435b-b757-ac7a83d67juio',
144
- * montant: 150000,
145
- * motif: 'Transfert entre comptes'
146
- * });
147
- * ```
148
- */
149
- async transfer(transfer) {
150
- return this.execute(async () => {
151
- // This will call the generated service after codegen
152
- // return await DefaultService.compteTransfertIntraCreer({
153
- // requestBody: transfer
154
- // });
155
- throw new Error('Service not yet generated. Run "pnpm run generate" first.');
156
- });
157
- }
158
- }
@@ -1,97 +0,0 @@
1
- /**
2
- * Cancellation Requests (Demandes d'Annulation) service wrapper
3
- *
4
- * Provides methods for requesting cancellation of sent payments.
5
- *
6
- * **Cancellation Rules:**
7
- * - Can only request cancellation of payments sent by the business
8
- * - Must be requested within 90 days of original payment
9
- * - Payee must accept the cancellation for funds to be returned
10
- * - Payee can reject the cancellation request
11
- * - Multiple cancellation requests can be sent for the same payment
12
- *
13
- * **Cancellation Flow:**
14
- * 1. Business requests cancellation of a sent payment
15
- * 2. Payee receives cancellation request
16
- * 3. Payee can accept (triggers fund return) or reject
17
- * 4. Business receives notification of payee's decision
18
- *
19
- * **Use Cases:**
20
- * - Payment sent to wrong recipient
21
- * - Duplicate payment
22
- * - Service cancellation
23
- * - Agreement cancellation
24
- *
25
- * @example
26
- * ```typescript
27
- * // Request cancellation of a sent payment
28
- * const cancellation = await sdk.demandesAnnulation.create({
29
- * comptePayeur: 'CIC2344256727788288822',
30
- * txId: '23552722', // Original payment transaction ID
31
- * motif: 'CUST' // Cancellation reason code
32
- * });
33
- * ```
34
- */
35
- import { BaseService } from './base';
36
- import type { QueryParams } from '../query-builder';
37
- export declare class DemandesAnnulationService extends BaseService {
38
- /**
39
- * Create a cancellation request
40
- *
41
- * **Cancellation Process:**
42
- * 1. Business identifies payment to cancel
43
- * 2. Creates cancellation request (must be within 90 days)
44
- * 3. Payee receives cancellation request
45
- * 4. Payee accepts or rejects
46
- * 5. If accepted, funds are returned via fund return mechanism
47
- *
48
- * **Status Values:**
49
- * - `INITIE`: Cancellation request sent, awaiting payee response
50
- * - `ACCEPTE`: Payee accepted cancellation (funds returned)
51
- * - `REJETE`: Payee rejected cancellation request
52
- *
53
- * **Rejection Reasons:**
54
- * - `CUST`: Customer rejection (payee refuses cancellation)
55
- * - `AM09`: Wrong amount
56
- * - `AC06`: Blocked account
57
- * - `FR01`: Fraud suspicion
58
- *
59
- * @param request - Cancellation request data
60
- * @param request.comptePayeur - Business account number (original payer)
61
- * @param request.txId - Original payment transaction ID to cancel
62
- * @param request.motif - Cancellation reason code (e.g., 'CUST' for customer request)
63
- * @returns Cancellation request response
64
- * @throws {PiSpiValidationError} If cancellation fails validation (e.g., > 90 days, invalid txId)
65
- * @throws {PiSpiNotFoundError} If payment not found
66
- *
67
- * @example
68
- * ```typescript
69
- * // Request cancellation
70
- * await sdk.demandesAnnulation.create({
71
- * comptePayeur: 'CIC2344256727788288822',
72
- * txId: '23552722', // Payment to cancel
73
- * motif: 'CUST' // Customer request
74
- * });
75
- * ```
76
- */
77
- create(request: {
78
- comptePayeur: string;
79
- txId: string;
80
- motif: string;
81
- }): Promise<never>;
82
- /**
83
- * Get cancellation request details by transaction ID
84
- *
85
- * @param id - Cancellation request transaction ID
86
- * @returns Cancellation request details
87
- * @throws {PiSpiNotFoundError} If cancellation request not found
88
- */
89
- get(id: string): Promise<never>;
90
- /**
91
- * List cancellation requests with filtering and pagination
92
- *
93
- * @param params - Query parameters for filtering and pagination
94
- * @returns Paginated list of cancellation requests
95
- */
96
- list(params?: QueryParams): Promise<never>;
97
- }