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
@@ -1,176 +0,0 @@
1
- import { OpenAPI } from '../core/OpenAPI';
2
- import { request as __request } from '../core/request';
3
- export class PaiementImmediatService {
4
- /**
5
- * Envoyer un paiement
6
- * Ce point de terminaison permet au business d'effectuer des paiements.
7
- *
8
- * Le destinataire du paiement est identifié par son alias de compte.
9
- *
10
- * Le business peut définir le champ `confirmation` à `true` pour demander une validation en deux étapes : le PSP retournera d'abord le résultat de la recherche d'alias (avec le nom et le pays du bénéficiaire), puis attendra une confirmation explicite avant d'exécuter le paiement via l'endpoint `PUT /paiements/{txId}/confirmations`.
11
- *
12
- * **Timeout de confirmation** : Si le business demande une confirmation, il dispose de **24 heures** pour confirmer. Passé ce délai, la demande expire automatiquement.
13
- *
14
- * @returns PaiementImmediatReponse Paiement traité. Le champ `statut` indique le résultat :
15
- * - `INITIE` : En attente de confirmation (si `confirmation: true`)
16
- * - `ENVOYE` : Paiement envoyé avec succès (si `confirmation: false`)
17
- * - `REJETE` : Paiement rejeté. Le champ `statutRaison` contient le code d'erreur :
18
- * - `DU03` : txId dupliqué (déjà utilisé)
19
- * - `BE23` : Alias bénéficiaire invalide
20
- * - Autres codes ISO 20022
21
- *
22
- * @throws ApiError
23
- */
24
- static paiementCreer({ requestBody, }) {
25
- return __request(OpenAPI, {
26
- method: 'POST',
27
- url: '/paiements',
28
- body: requestBody,
29
- mediaType: 'application/json',
30
- errors: {
31
- 400: `La requête est malformée`,
32
- 401: `Autorisations manquantes`,
33
- 403: `Interdiction d'effectuer le paiement (erreurs métier non-retriables)`,
34
- 429: `Erreur inattendue`,
35
- 503: `Erreur inattendue du serveur`,
36
- },
37
- });
38
- }
39
- /**
40
- * Lister les paiements
41
- * Ce point de terminaison permet de lister les paiements effectués par le client.
42
- * @returns PaiementListe Succès de l'opération
43
- * @throws ApiError
44
- */
45
- static paiementLister({ payeAlias, payeCompte, payeurAlias, payeurCompte, dateEnvoi, dateIrrevocabilite, statut, categorie, montantAchat, montantRetrait, motif, refDocType, instructionId, txId, annulationStatut, annulationMotif, retourStatut, page, size, sort, fields, }) {
46
- return __request(OpenAPI, {
47
- method: 'GET',
48
- url: '/paiements',
49
- query: {
50
- 'payeAlias': payeAlias,
51
- 'payeCompte': payeCompte,
52
- 'payeurAlias': payeurAlias,
53
- 'payeurCompte': payeurCompte,
54
- 'dateEnvoi': dateEnvoi,
55
- 'dateIrrevocabilite': dateIrrevocabilite,
56
- 'statut': statut,
57
- 'categorie': categorie,
58
- 'montantAchat': montantAchat,
59
- 'montantRetrait': montantRetrait,
60
- 'motif': motif,
61
- 'refDocType': refDocType,
62
- 'instructionId': instructionId,
63
- 'txId': txId,
64
- 'annulationStatut': annulationStatut,
65
- 'annulationMotif': annulationMotif,
66
- 'retourStatut': retourStatut,
67
- 'page': page,
68
- 'size': size,
69
- 'sort': sort,
70
- 'fields': fields,
71
- },
72
- errors: {
73
- 401: `Autorisations manquantes`,
74
- 429: `Erreur inattendue`,
75
- 503: `Erreur inattendue du serveur`,
76
- },
77
- });
78
- }
79
- /**
80
- * Détails d'un paiement
81
- * Cet point de terminaison permet de consulter les details d'un paiement.
82
- *
83
- * @returns Paiement Opération effectuée avec succès
84
- * @throws ApiError
85
- */
86
- static paiementRecuperer({ txId, }) {
87
- return __request(OpenAPI, {
88
- method: 'GET',
89
- url: '/paiements/{txId}',
90
- path: {
91
- 'txId': txId,
92
- },
93
- errors: {
94
- 401: `Autorisations manquantes`,
95
- 404: `La ressource n'existe pas dans le système`,
96
- 429: `Erreur inattendue`,
97
- 503: `Erreur inattendue du serveur`,
98
- },
99
- });
100
- }
101
- /**
102
- * Confirmer le paiement
103
- * Ce point de terminaison permet d'envoyer la confirmation de l'envoi d'un paiement immédiat
104
- * après vérification du nom et du pays du bénéficiaire.
105
- *
106
- * **Idempotence** : Cet endpoint est idempotent.
107
- * - Premier appel avec `decision: true` → Lance le paiement, retourne `200 OK {statut: "ENVOYE"}`
108
- * - Appels suivants avec `decision: true` → Retourne `200 OK` avec l'état actuel (ENVOYE, IRREVOCABLE, ou REJETE) - idempotent
109
- * - Premier appel avec `decision: false` → Annule, retourne `200 OK {statut: "ANNULE"}`
110
- * - Appels suivants avec `decision: false` → Retourne `200 OK {statut: "ANNULE"}` (idempotent)
111
- * - `decision: true` après `decision: false` → Retourne `403 Forbidden` (déjà annulé)
112
- * - `decision: false` après `decision: true` → Retourne `403 Forbidden` (déjà confirmé)
113
- *
114
- * **Timeout** : La confirmation doit être envoyée dans les **24 heures** suivant la création de la demande. Passé ce délai, la demande expire automatiquement et ne peut plus être confirmée.
115
- *
116
- * **Changement de décision** : Une fois une décision prise, elle est définitive. Impossible de confirmer après avoir annulé, et vice-versa.
117
- *
118
- * @returns PaiementImmediatConfirmationReponse Paiement en cours d'envoi
119
- * @throws ApiError
120
- */
121
- static paiementConfirmer({ txId, requestBody, }) {
122
- return __request(OpenAPI, {
123
- method: 'PUT',
124
- url: '/paiements/{txId}/confirmations',
125
- path: {
126
- 'txId': txId,
127
- },
128
- body: requestBody,
129
- mediaType: 'application/json',
130
- errors: {
131
- 401: `Autorisations manquantes`,
132
- 403: `Opération interdite`,
133
- 404: `La ressource n'existe pas dans le système`,
134
- 429: `Erreur inattendue`,
135
- 503: `Erreur inattendue du serveur`,
136
- },
137
- });
138
- }
139
- /**
140
- * Vérifier un paiement
141
- * Ce point de terminaison permet de vérifier la réception d’un paiement à partir de l’`end2endId`.
142
- *
143
- * Dans certains cas, le **client business** peut ne pas avoir reçu la notification de paiement.
144
- * Le **client payeur** peut alors lui communiquer l’`end2endId` afin qu’il puisse vérifier manuellement le statut du paiement.
145
- *
146
- * Le **participant** doit, dans ce cas, vérifier dans sa base de données et s'il ne trouve pas le paiement, il doit interroger l’endpoint de PI-SPI permettant de **récupérer le statut d’un paiement**, puis **retourner ce statut** dans sa réponse.
147
- *
148
- * Le statut retourné doit être soit :
149
- * - `IRREVOCABLE` (paiement irrévocable), ou
150
- * - `REJETE` (paiement rejeté).
151
- *
152
- * Un transfert **ne peut pas** être signalé comme « en cours de traitement » dans ce contexte.
153
- *
154
- * ⚠️ **Remarques :**
155
- * - La vérification ne doit concerner que les paiements réalisés depuis **moins de 3 mois (90 jours)** afin de garantir la disponibilité de la réponse.
156
- * - La garantie de réponse n’est assurée qu’à partir de **20 secondes après l’envoi du transfert**.
157
- *
158
- * @returns Paiement Opération effectuée avec succès
159
- * @throws ApiError
160
- */
161
- static paiementVerifier({ end2EndId, }) {
162
- return __request(OpenAPI, {
163
- method: 'GET',
164
- url: '/paiements/{end2endId}/statuts',
165
- path: {
166
- 'end2endId': end2EndId,
167
- },
168
- errors: {
169
- 401: `Autorisations manquantes`,
170
- 404: `Ce paiement n'a pas été trouvé`,
171
- 429: `Erreur inattendue`,
172
- 503: `Erreur inattendue du serveur`,
173
- },
174
- });
175
- }
176
- }
@@ -1,28 +0,0 @@
1
- import type { Paiement } from '../models/Paiement';
2
- import type { CancelablePromise } from '../core/CancelablePromise';
3
- export declare class RetoursdeFondsService {
4
- /**
5
- * Retourner les fonds
6
- * Ce point de terminaison permet au business de retourner les fonds d'un paiement reçu.
7
- *
8
- * **Idempotence** : Cet endpoint est idempotent. Plusieurs appels avec le même `end2endId` produiront le même résultat.
9
- * Si le retour de fonds a déjà été envoyé et irrévocable, le champ `retourStatut` de la réponse sera `IRREVOCABLE`.
10
- * Si le retour de fonds a été envoyé et rejeté, le retour de fonds sera envoyé à nouveau.
11
- * Si le retour de fonds est en cours d'envoi, le champ `retourStatut` de la réponse sera `INITIE`.
12
- *
13
- * **Notifications webhook** : Après envoi du retour de fonds, si le business a souscrit au service de webhook, il recevra :
14
- * - Une notification `RETOUR_ENVOYE` en cas de succès du retour de fonds
15
- * - Une notification `RETOUR_REJETE` en cas de rejet de la demande
16
- *
17
- * **Vérification du statut** : Pour obtenir le statut d'un retour de fonds envoyé, vous pouvez invoquer l'endpoint `GET /paiements/{end2endId}` et le champ `retourStatut` de la réponse indiquera l'état du retour de fonds.
18
- *
19
- * @returns Paiement Retour de fonds enregistré avec succès
20
- * @throws ApiError
21
- */
22
- static retourFondsEnvoyer({ end2EndId, }: {
23
- /**
24
- * L'identifiant unique de bout en bout de la transaction
25
- */
26
- end2EndId: string;
27
- }): CancelablePromise<Paiement>;
28
- }
@@ -1,37 +0,0 @@
1
- import { OpenAPI } from '../core/OpenAPI';
2
- import { request as __request } from '../core/request';
3
- export class RetoursdeFondsService {
4
- /**
5
- * Retourner les fonds
6
- * Ce point de terminaison permet au business de retourner les fonds d'un paiement reçu.
7
- *
8
- * **Idempotence** : Cet endpoint est idempotent. Plusieurs appels avec le même `end2endId` produiront le même résultat.
9
- * Si le retour de fonds a déjà été envoyé et irrévocable, le champ `retourStatut` de la réponse sera `IRREVOCABLE`.
10
- * Si le retour de fonds a été envoyé et rejeté, le retour de fonds sera envoyé à nouveau.
11
- * Si le retour de fonds est en cours d'envoi, le champ `retourStatut` de la réponse sera `INITIE`.
12
- *
13
- * **Notifications webhook** : Après envoi du retour de fonds, si le business a souscrit au service de webhook, il recevra :
14
- * - Une notification `RETOUR_ENVOYE` en cas de succès du retour de fonds
15
- * - Une notification `RETOUR_REJETE` en cas de rejet de la demande
16
- *
17
- * **Vérification du statut** : Pour obtenir le statut d'un retour de fonds envoyé, vous pouvez invoquer l'endpoint `GET /paiements/{end2endId}` et le champ `retourStatut` de la réponse indiquera l'état du retour de fonds.
18
- *
19
- * @returns Paiement Retour de fonds enregistré avec succès
20
- * @throws ApiError
21
- */
22
- static retourFondsEnvoyer({ end2EndId, }) {
23
- return __request(OpenAPI, {
24
- method: 'PUT',
25
- url: '/paiements/{end2endId}/retours',
26
- path: {
27
- 'end2endId': end2EndId,
28
- },
29
- errors: {
30
- 401: `Autorisations manquantes`,
31
- 403: `Interdiction d'effectuer le retour de fonds`,
32
- 429: `Erreur inattendue`,
33
- 503: `Erreur inattendue du serveur`,
34
- },
35
- });
36
- }
37
- }
package/dist/index.js DELETED
@@ -1,23 +0,0 @@
1
- /**
2
- * Main entry point for PI-SPI SDK
3
- *
4
- * @module pi-spi-sdk
5
- */
6
- // Export main SDK class
7
- export { PiSpiSDK } from './sdk';
8
- // Export error classes
9
- export { PiSpiError, PiSpiValidationError, PiSpiAuthError, PiSpiNotFoundError, PiSpiRateLimitError, } from './errors';
10
- // Export query builder
11
- export { QueryBuilder } from './query-builder';
12
- // Export error handler for advanced use cases
13
- export { handleApiError } from './error-handler';
14
- // Export alias types and utilities
15
- export { AliasType, ALIAS_TYPES, isValidAliasType, getAvailableAliasTypes, } from './types/alias';
16
- // Export utility functions
17
- export { formatAmount, xofToCentimes, centimesToXof, isValidAccountNumber, isValidShidAlias, isValidPhoneNumber, getCountryFromAccount, sleep, retryWithBackoff, } from './utils';
18
- // 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';
20
- // Note: ALIAS_TYPES is exported from './types/alias' above
21
- // Re-export generated types and services (available after running generate)
22
- // These will be available once the OpenAPI codegen is run
23
- export * from './generated';
@@ -1,91 +0,0 @@
1
- /**
2
- * Query builder utility for constructing filter, pagination, and sorting parameters
3
- */
4
- export type FilterOperator = 'eq' | 'ne' | 'gt' | 'gte' | 'lt' | 'lte' | 'in' | 'contains' | 'notContains' | 'beginsWith' | 'endsWith' | 'exists';
5
- export interface FilterOptions {
6
- operator?: FilterOperator;
7
- value: string | number | boolean | string[];
8
- }
9
- export interface QueryParams {
10
- [key: string]: string | number | undefined;
11
- }
12
- export declare class QueryBuilder {
13
- private params;
14
- private filters;
15
- private sortField?;
16
- private sortOrder;
17
- /**
18
- * Add a filter condition
19
- * @param field - Field name to filter on
20
- * @param operator - Filter operator (default: 'eq')
21
- * @param value - Filter value
22
- */
23
- filter(field: string, operatorOrValue: FilterOperator | string | number | boolean, value?: string | number | boolean | string[]): this;
24
- /**
25
- * Add an equality filter (shorthand)
26
- */
27
- eq(field: string, value: string | number | boolean): this;
28
- /**
29
- * Add a "not equal" filter (shorthand)
30
- */
31
- ne(field: string, value: string | number | boolean): this;
32
- /**
33
- * Add a "greater than" filter (shorthand)
34
- */
35
- gt(field: string, value: string | number): this;
36
- /**
37
- * Add a "greater than or equal" filter (shorthand)
38
- */
39
- gte(field: string, value: string | number): this;
40
- /**
41
- * Add a "less than" filter (shorthand)
42
- */
43
- lt(field: string, value: string | number): this;
44
- /**
45
- * Add a "less than or equal" filter (shorthand)
46
- */
47
- lte(field: string, value: string | number): this;
48
- /**
49
- * Add an "in" filter (shorthand)
50
- */
51
- in(field: string, values: string[]): this;
52
- /**
53
- * Add a "contains" filter (shorthand)
54
- */
55
- contains(field: string, value: string): this;
56
- /**
57
- * Set sort field and order
58
- * @param field - Field to sort by
59
- * @param order - Sort order ('asc' or 'desc', default: 'asc')
60
- */
61
- sort(field: string, order?: 'asc' | 'desc'): this;
62
- /**
63
- * Sort in descending order (shorthand)
64
- */
65
- sortDesc(field: string): this;
66
- /**
67
- * Set page number
68
- */
69
- page(page: number | string): this;
70
- /**
71
- * Set page size
72
- */
73
- size(size: number): this;
74
- /**
75
- * Add a custom parameter
76
- */
77
- param(key: string, value: string | number): this;
78
- /**
79
- * Build the query parameters object
80
- */
81
- build(): QueryParams;
82
- /**
83
- * Build query string
84
- */
85
- buildQueryString(): string;
86
- /**
87
- * Reset the builder
88
- */
89
- reset(): this;
90
- private isOperator;
91
- }
@@ -1,187 +0,0 @@
1
- /**
2
- * Query builder utility for constructing filter, pagination, and sorting parameters
3
- */
4
- export class QueryBuilder {
5
- constructor() {
6
- this.params = {};
7
- this.filters = new Map();
8
- this.sortOrder = 'asc';
9
- }
10
- /**
11
- * Add a filter condition
12
- * @param field - Field name to filter on
13
- * @param operator - Filter operator (default: 'eq')
14
- * @param value - Filter value
15
- */
16
- filter(field, operatorOrValue, value) {
17
- let operator;
18
- let filterValue;
19
- if (value === undefined) {
20
- // If only two arguments, treat first as operator/value
21
- if (typeof operatorOrValue === 'string' && this.isOperator(operatorOrValue)) {
22
- throw new Error('Filter operator requires a value');
23
- }
24
- operator = 'eq';
25
- filterValue = operatorOrValue;
26
- }
27
- else {
28
- operator = operatorOrValue;
29
- filterValue = value;
30
- }
31
- this.filters.set(field, { operator, value: filterValue });
32
- return this;
33
- }
34
- /**
35
- * Add an equality filter (shorthand)
36
- */
37
- eq(field, value) {
38
- return this.filter(field, 'eq', value);
39
- }
40
- /**
41
- * Add a "not equal" filter (shorthand)
42
- */
43
- ne(field, value) {
44
- return this.filter(field, 'ne', value);
45
- }
46
- /**
47
- * Add a "greater than" filter (shorthand)
48
- */
49
- gt(field, value) {
50
- return this.filter(field, 'gt', value);
51
- }
52
- /**
53
- * Add a "greater than or equal" filter (shorthand)
54
- */
55
- gte(field, value) {
56
- return this.filter(field, 'gte', value);
57
- }
58
- /**
59
- * Add a "less than" filter (shorthand)
60
- */
61
- lt(field, value) {
62
- return this.filter(field, 'lt', value);
63
- }
64
- /**
65
- * Add a "less than or equal" filter (shorthand)
66
- */
67
- lte(field, value) {
68
- return this.filter(field, 'lte', value);
69
- }
70
- /**
71
- * Add an "in" filter (shorthand)
72
- */
73
- in(field, values) {
74
- return this.filter(field, 'in', values);
75
- }
76
- /**
77
- * Add a "contains" filter (shorthand)
78
- */
79
- contains(field, value) {
80
- return this.filter(field, 'contains', value);
81
- }
82
- /**
83
- * Set sort field and order
84
- * @param field - Field to sort by
85
- * @param order - Sort order ('asc' or 'desc', default: 'asc')
86
- */
87
- sort(field, order = 'asc') {
88
- this.sortField = field;
89
- this.sortOrder = order;
90
- return this;
91
- }
92
- /**
93
- * Sort in descending order (shorthand)
94
- */
95
- sortDesc(field) {
96
- return this.sort(field, 'desc');
97
- }
98
- /**
99
- * Set page number
100
- */
101
- page(page) {
102
- this.params.page = typeof page === 'string' ? page : page.toString();
103
- return this;
104
- }
105
- /**
106
- * Set page size
107
- */
108
- size(size) {
109
- if (size < 1) {
110
- throw new Error('Page size must be at least 1');
111
- }
112
- if (size > 100) {
113
- throw new Error('Page size cannot exceed 100');
114
- }
115
- this.params.size = size;
116
- return this;
117
- }
118
- /**
119
- * Add a custom parameter
120
- */
121
- param(key, value) {
122
- this.params[key] = value;
123
- return this;
124
- }
125
- /**
126
- * Build the query parameters object
127
- */
128
- build() {
129
- const result = { ...this.params };
130
- // Add filters
131
- for (const [field, { operator, value }] of this.filters.entries()) {
132
- if (operator === 'eq') {
133
- // Simple equality filters don't need operator notation
134
- result[field] = String(value);
135
- }
136
- else if (operator === 'exists') {
137
- // Exists operator uses special syntax
138
- result[`${field}[exists]`] = String(value);
139
- }
140
- else {
141
- // Other operators use bracket notation
142
- result[`${field}[${operator}]`] = Array.isArray(value) ? value.join(',') : String(value);
143
- }
144
- }
145
- // Add sort
146
- if (this.sortField) {
147
- result.sort = this.sortOrder === 'desc' ? `-${this.sortField}` : this.sortField;
148
- }
149
- return result;
150
- }
151
- /**
152
- * Build query string
153
- */
154
- buildQueryString() {
155
- const params = this.build();
156
- const pairs = Object.entries(params)
157
- .filter(([_, value]) => value !== undefined)
158
- .map(([key, value]) => `${encodeURIComponent(key)}=${encodeURIComponent(String(value))}`);
159
- return pairs.length > 0 ? `?${pairs.join('&')}` : '';
160
- }
161
- /**
162
- * Reset the builder
163
- */
164
- reset() {
165
- this.params = {};
166
- this.filters.clear();
167
- this.sortField = undefined;
168
- this.sortOrder = 'asc';
169
- return this;
170
- }
171
- isOperator(value) {
172
- return [
173
- 'eq',
174
- 'ne',
175
- 'gt',
176
- 'gte',
177
- 'lt',
178
- 'lte',
179
- 'in',
180
- 'contains',
181
- 'notContains',
182
- 'beginsWith',
183
- 'endsWith',
184
- 'exists',
185
- ].includes(value);
186
- }
187
- }
package/dist/sdk.d.ts DELETED
@@ -1,88 +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 type { PiSpiConfig } from './config';
9
- import { ComptesService } from './services/comptes';
10
- import { AliasService } from './services/alias';
11
- import { WebhooksService } from './services/webhooks';
12
- import { DemandesPaiementService } from './services/demandes-paiement';
13
- import { DemandesPaiementEnMasseService } from './services/demandes-paiement-en-masse';
14
- import { PaiementsService } from './services/paiements';
15
- import { PaiementsEnMasseService } from './services/paiements-en-masse';
16
- import { RetoursFondsService } from './services/retours-fonds';
17
- import { DemandesAnnulationService } from './services/demandes-annulation';
18
- export declare class PiSpiSDK {
19
- /**
20
- * Accounts service
21
- * Handles account-related operations: balance, operations, transfers
22
- */
23
- readonly comptes: ComptesService;
24
- /**
25
- * Aliases service
26
- * Handles account alias management
27
- */
28
- readonly alias: AliasService;
29
- /**
30
- * Webhooks service
31
- * Handles webhook configuration and management
32
- */
33
- readonly webhooks: WebhooksService;
34
- /**
35
- * Payment requests service
36
- * Handles payment request creation and management
37
- */
38
- readonly demandesPaiement: DemandesPaiementService;
39
- /**
40
- * Bulk payment requests service
41
- * Handles bulk payment request operations
42
- */
43
- readonly demandesPaiementEnMasse: DemandesPaiementEnMasseService;
44
- /**
45
- * Payments service
46
- * Handles immediate payment operations
47
- */
48
- readonly paiements: PaiementsService;
49
- /**
50
- * Bulk payments service
51
- * Handles bulk payment operations
52
- */
53
- readonly paiementsEnMasse: PaiementsEnMasseService;
54
- /**
55
- * Fund returns service
56
- * Handles fund return operations
57
- */
58
- readonly retoursFonds: RetoursFondsService;
59
- /**
60
- * Cancellation requests service
61
- * Handles payment cancellation requests
62
- */
63
- readonly demandesAnnulation: DemandesAnnulationService;
64
- /**
65
- * Initialize the PI-SPI SDK
66
- *
67
- * @param config - SDK configuration
68
- *
69
- * @example
70
- * ```typescript
71
- * const sdk = new PiSpiSDK({
72
- * baseUrl: 'https://sandbox.api.pi-bceao.com/piz/v1',
73
- * accessToken: 'your-oauth2-token',
74
- * });
75
- * ```
76
- */
77
- constructor(config: PiSpiConfig);
78
- /**
79
- * Update the access token
80
- * Useful when tokens are refreshed
81
- */
82
- setAccessToken(token: string): void;
83
- /**
84
- * Get the current base URL
85
- */
86
- getBaseUrl(): string;
87
- }
88
- export { handleApiError };