pi-spi-sdk 0.1.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.
- package/CHANGELOG.md +33 -0
- package/LICENSE +22 -0
- package/README.md +300 -0
- package/dist/config.d.ts +35 -0
- package/dist/config.js +4 -0
- package/dist/error-handler.d.ts +7 -0
- package/dist/error-handler.js +52 -0
- package/dist/errors.d.ts +25 -0
- package/dist/errors.js +40 -0
- package/dist/examples.d.ts +8 -0
- package/dist/examples.js +91 -0
- package/dist/generated/core/ApiError.d.ts +10 -0
- package/dist/generated/core/ApiError.js +11 -0
- package/dist/generated/core/ApiRequestOptions.d.ts +13 -0
- package/dist/generated/core/ApiRequestOptions.js +1 -0
- package/dist/generated/core/ApiResult.d.ts +7 -0
- package/dist/generated/core/ApiResult.js +1 -0
- package/dist/generated/core/CancelablePromise.d.ts +20 -0
- package/dist/generated/core/CancelablePromise.js +111 -0
- package/dist/generated/core/OpenAPI.d.ts +16 -0
- package/dist/generated/core/OpenAPI.js +11 -0
- package/dist/generated/core/request.d.ts +34 -0
- package/dist/generated/core/request.js +269 -0
- package/dist/generated/index.d.ts +78 -0
- package/dist/generated/index.js +43 -0
- package/dist/generated/models/AliasCreationReponse.d.ts +22 -0
- package/dist/generated/models/AliasCreationReponse.js +1 -0
- package/dist/generated/models/AliasCreationRequest.d.ts +11 -0
- package/dist/generated/models/AliasCreationRequest.js +1 -0
- package/dist/generated/models/AliasReponseListe.d.ts +26 -0
- package/dist/generated/models/AliasReponseListe.js +1 -0
- package/dist/generated/models/AnnulationStatut.d.ts +13 -0
- package/dist/generated/models/AnnulationStatut.js +18 -0
- package/dist/generated/models/Champs.d.ts +1 -0
- package/dist/generated/models/Champs.js +1 -0
- package/dist/generated/models/CompteOperation.d.ts +72 -0
- package/dist/generated/models/CompteOperation.js +24 -0
- package/dist/generated/models/CompteOperationListe.d.ts +18 -0
- package/dist/generated/models/CompteOperationListe.js +1 -0
- package/dist/generated/models/CompteSolde.d.ts +129 -0
- package/dist/generated/models/CompteSolde.js +71 -0
- package/dist/generated/models/CompteTransfertIntraReponse.d.ts +33 -0
- package/dist/generated/models/CompteTransfertIntraReponse.js +12 -0
- package/dist/generated/models/CompteTransfertIntraRequest.d.ts +9 -0
- package/dist/generated/models/CompteTransfertIntraRequest.js +1 -0
- package/dist/generated/models/DemandePaiementConfirmationAnnulationRaison.d.ts +14 -0
- package/dist/generated/models/DemandePaiementConfirmationAnnulationRaison.js +19 -0
- package/dist/generated/models/DemandePaiementConfirmationReponse.d.ts +41 -0
- package/dist/generated/models/DemandePaiementConfirmationReponse.js +13 -0
- package/dist/generated/models/DemandePaiementConfirmationRequest.d.ts +3 -0
- package/dist/generated/models/DemandePaiementConfirmationRequest.js +1 -0
- package/dist/generated/models/DemandePaiementConfirmationRequestAccepter.d.ts +9 -0
- package/dist/generated/models/DemandePaiementConfirmationRequestAccepter.js +1 -0
- package/dist/generated/models/DemandePaiementConfirmationRequestRejeter.d.ts +9 -0
- package/dist/generated/models/DemandePaiementConfirmationRequestRejeter.js +1 -0
- package/dist/generated/models/DemandePaiementConsultationReponse.d.ts +151 -0
- package/dist/generated/models/DemandePaiementConsultationReponse.js +27 -0
- package/dist/generated/models/DemandePaiementEnMasseConfirmationRequest.d.ts +3 -0
- package/dist/generated/models/DemandePaiementEnMasseConfirmationRequest.js +1 -0
- package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestAccepter.d.ts +9 -0
- package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestAccepter.js +1 -0
- package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestRejeter.d.ts +9 -0
- package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestRejeter.js +1 -0
- package/dist/generated/models/DemandePaiementEnMasseRequest.d.ts +74 -0
- package/dist/generated/models/DemandePaiementEnMasseRequest.js +1 -0
- package/dist/generated/models/DemandePaiementEnMasseStatutReponse.d.ts +98 -0
- package/dist/generated/models/DemandePaiementEnMasseStatutReponse.js +20 -0
- package/dist/generated/models/DemandePaiementListe.d.ts +26 -0
- package/dist/generated/models/DemandePaiementListe.js +1 -0
- package/dist/generated/models/DemandePaiementListeItem.d.ts +163 -0
- package/dist/generated/models/DemandePaiementListeItem.js +27 -0
- package/dist/generated/models/DemandePaiementReponse.d.ts +129 -0
- package/dist/generated/models/DemandePaiementReponse.js +1 -0
- package/dist/generated/models/DemandePaiementReponseRequest.d.ts +21 -0
- package/dist/generated/models/DemandePaiementReponseRequest.js +11 -0
- package/dist/generated/models/DemandePaiementRequest.d.ts +98 -0
- package/dist/generated/models/DemandePaiementRequest.js +7 -0
- package/dist/generated/models/DemandePaiementRequestBase.d.ts +42 -0
- package/dist/generated/models/DemandePaiementRequestBase.js +1 -0
- package/dist/generated/models/DemandePaiementRequestCategorie.d.ts +12 -0
- package/dist/generated/models/DemandePaiementRequestCategorie.js +17 -0
- package/dist/generated/models/DemandePaiementStatut.d.ts +13 -0
- package/dist/generated/models/DemandePaiementStatut.js +18 -0
- package/dist/generated/models/DemandePaiementStatutRaison.d.ts +46 -0
- package/dist/generated/models/DemandePaiementStatutRaison.js +51 -0
- package/dist/generated/models/ListeMeta.d.ts +14 -0
- package/dist/generated/models/ListeMeta.js +1 -0
- package/dist/generated/models/Paiement.d.ts +156 -0
- package/dist/generated/models/Paiement.js +28 -0
- package/dist/generated/models/PaiementAnnulationMotif.d.ts +17 -0
- package/dist/generated/models/PaiementAnnulationMotif.js +22 -0
- package/dist/generated/models/PaiementAnnulationReponseRequest.d.ts +11 -0
- package/dist/generated/models/PaiementAnnulationReponseRequest.js +1 -0
- package/dist/generated/models/PaiementAnnulationReponseRequestAccepter.d.ts +9 -0
- package/dist/generated/models/PaiementAnnulationReponseRequestAccepter.js +1 -0
- package/dist/generated/models/PaiementAnnulationReponseRequestRejeter.d.ts +9 -0
- package/dist/generated/models/PaiementAnnulationReponseRequestRejeter.js +1 -0
- package/dist/generated/models/PaiementAnnulationRequest.d.ts +4 -0
- package/dist/generated/models/PaiementAnnulationRequest.js +1 -0
- package/dist/generated/models/PaiementAnnulationStatutRaison.d.ts +21 -0
- package/dist/generated/models/PaiementAnnulationStatutRaison.js +26 -0
- package/dist/generated/models/PaiementEnMasseConfirmationRequest.d.ts +3 -0
- package/dist/generated/models/PaiementEnMasseConfirmationRequest.js +1 -0
- package/dist/generated/models/PaiementEnMasseConfirmationRequestAccepter.d.ts +9 -0
- package/dist/generated/models/PaiementEnMasseConfirmationRequestAccepter.js +1 -0
- package/dist/generated/models/PaiementEnMasseConfirmationRequestRejeter.d.ts +9 -0
- package/dist/generated/models/PaiementEnMasseConfirmationRequestRejeter.js +1 -0
- package/dist/generated/models/PaiementEnMasseReponseStatut.d.ts +97 -0
- package/dist/generated/models/PaiementEnMasseReponseStatut.js +20 -0
- package/dist/generated/models/PaiementEnMasseRequest.d.ts +54 -0
- package/dist/generated/models/PaiementEnMasseRequest.js +1 -0
- package/dist/generated/models/PaiementImmediatConfirmationReponse.d.ts +31 -0
- package/dist/generated/models/PaiementImmediatConfirmationReponse.js +7 -0
- package/dist/generated/models/PaiementImmediatConfirmationRequest.d.ts +3 -0
- package/dist/generated/models/PaiementImmediatConfirmationRequest.js +1 -0
- package/dist/generated/models/PaiementImmediatConfirmationRequestAccepter.d.ts +9 -0
- package/dist/generated/models/PaiementImmediatConfirmationRequestAccepter.js +1 -0
- package/dist/generated/models/PaiementImmediatConfirmationRequestRejeter.d.ts +9 -0
- package/dist/generated/models/PaiementImmediatConfirmationRequestRejeter.js +1 -0
- package/dist/generated/models/PaiementImmediatReponse.d.ts +98 -0
- package/dist/generated/models/PaiementImmediatReponse.js +7 -0
- package/dist/generated/models/PaiementImmediatRequest.d.ts +13 -0
- package/dist/generated/models/PaiementImmediatRequest.js +1 -0
- package/dist/generated/models/PaiementListe.d.ts +6 -0
- package/dist/generated/models/PaiementListe.js +1 -0
- package/dist/generated/models/PaiementRequest.d.ts +33 -0
- package/dist/generated/models/PaiementRequest.js +1 -0
- package/dist/generated/models/PaiementStatut.d.ts +13 -0
- package/dist/generated/models/PaiementStatut.js +18 -0
- package/dist/generated/models/PaiementStatutRaison.d.ts +56 -0
- package/dist/generated/models/PaiementStatutRaison.js +61 -0
- package/dist/generated/models/Problem7807.d.ts +31 -0
- package/dist/generated/models/Problem7807.js +1 -0
- package/dist/generated/models/RefDocType.d.ts +38 -0
- package/dist/generated/models/RefDocType.js +43 -0
- package/dist/generated/models/RetourStatut.d.ts +13 -0
- package/dist/generated/models/RetourStatut.js +18 -0
- package/dist/generated/models/RetourStatutRaison.d.ts +25 -0
- package/dist/generated/models/RetourStatutRaison.js +30 -0
- package/dist/generated/models/WebhookCreationRequest.d.ts +14 -0
- package/dist/generated/models/WebhookCreationRequest.js +1 -0
- package/dist/generated/models/WebhookCreationResponse.d.ts +12 -0
- package/dist/generated/models/WebhookCreationResponse.js +1 -0
- package/dist/generated/models/WebhookData.d.ts +8 -0
- package/dist/generated/models/WebhookData.js +1 -0
- package/dist/generated/models/WebhookEvent.d.ts +191 -0
- package/dist/generated/models/WebhookEvent.js +42 -0
- package/dist/generated/models/WebhookEventsList.d.ts +13 -0
- package/dist/generated/models/WebhookEventsList.js +1 -0
- package/dist/generated/models/WebhookList.d.ts +13 -0
- package/dist/generated/models/WebhookList.js +1 -0
- package/dist/generated/models/WebhookModificationRequest.d.ts +4 -0
- package/dist/generated/models/WebhookModificationRequest.js +1 -0
- package/dist/generated/models/WebhooksEvents.d.ts +12 -0
- package/dist/generated/models/WebhooksEvents.js +17 -0
- package/dist/generated/services/AliasService.d.ts +63 -0
- package/dist/generated/services/AliasService.js +84 -0
- package/dist/generated/services/ComptesService.d.ts +64 -0
- package/dist/generated/services/ComptesService.js +86 -0
- package/dist/generated/services/DemandeAnnulationService.d.ts +84 -0
- package/dist/generated/services/DemandeAnnulationService.js +99 -0
- package/dist/generated/services/DemandesDePaiementEnMasseService.d.ts +161 -0
- package/dist/generated/services/DemandesDePaiementEnMasseService.js +189 -0
- package/dist/generated/services/DemandesDePaiementService.d.ts +123 -0
- package/dist/generated/services/DemandesDePaiementService.js +161 -0
- package/dist/generated/services/NotificationService.d.ts +80 -0
- package/dist/generated/services/NotificationService.js +132 -0
- package/dist/generated/services/PaiementEnMasseService.d.ts +159 -0
- package/dist/generated/services/PaiementEnMasseService.js +187 -0
- package/dist/generated/services/PaiementImmediatService.d.ts +135 -0
- package/dist/generated/services/PaiementImmediatService.js +176 -0
- package/dist/generated/services/RetoursdeFondsService.d.ts +28 -0
- package/dist/generated/services/RetoursdeFondsService.js +37 -0
- package/dist/index.d.ts +14 -0
- package/dist/index.js +23 -0
- package/dist/query-builder.d.ts +91 -0
- package/dist/query-builder.js +187 -0
- package/dist/sdk.d.ts +88 -0
- package/dist/sdk.js +107 -0
- package/dist/services/alias.d.ts +72 -0
- package/dist/services/alias.js +82 -0
- package/dist/services/base.d.ts +9 -0
- package/dist/services/base.js +17 -0
- package/dist/services/comptes.d.ts +149 -0
- package/dist/services/comptes.js +158 -0
- package/dist/services/demandes-annulation.d.ts +97 -0
- package/dist/services/demandes-annulation.js +104 -0
- package/dist/services/demandes-paiement-en-masse.d.ts +139 -0
- package/dist/services/demandes-paiement-en-masse.js +139 -0
- package/dist/services/demandes-paiement.d.ts +144 -0
- package/dist/services/demandes-paiement.js +151 -0
- package/dist/services/paiements-en-masse.d.ts +152 -0
- package/dist/services/paiements-en-masse.js +153 -0
- package/dist/services/paiements.d.ts +135 -0
- package/dist/services/paiements.js +135 -0
- package/dist/services/retours-fonds.d.ts +94 -0
- package/dist/services/retours-fonds.js +100 -0
- package/dist/services/webhooks.d.ts +131 -0
- package/dist/services/webhooks.js +142 -0
- package/dist/types/alias.d.ts +64 -0
- package/dist/types/alias.js +73 -0
- package/dist/utils/constants.d.ts +93 -0
- package/dist/utils/constants.js +93 -0
- package/dist/utils/index.d.ts +60 -0
- package/dist/utils/index.js +115 -0
- package/package.json +81 -0
- package/scripts/post-generate.js +129 -0
- package/scripts/pre-generate.js +106 -0
|
@@ -0,0 +1,149 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,158 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,97 @@
|
|
|
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
|
+
}
|
|
@@ -0,0 +1,104 @@
|
|
|
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
|
+
export class DemandesAnnulationService extends BaseService {
|
|
37
|
+
/**
|
|
38
|
+
* Create a cancellation request
|
|
39
|
+
*
|
|
40
|
+
* **Cancellation Process:**
|
|
41
|
+
* 1. Business identifies payment to cancel
|
|
42
|
+
* 2. Creates cancellation request (must be within 90 days)
|
|
43
|
+
* 3. Payee receives cancellation request
|
|
44
|
+
* 4. Payee accepts or rejects
|
|
45
|
+
* 5. If accepted, funds are returned via fund return mechanism
|
|
46
|
+
*
|
|
47
|
+
* **Status Values:**
|
|
48
|
+
* - `INITIE`: Cancellation request sent, awaiting payee response
|
|
49
|
+
* - `ACCEPTE`: Payee accepted cancellation (funds returned)
|
|
50
|
+
* - `REJETE`: Payee rejected cancellation request
|
|
51
|
+
*
|
|
52
|
+
* **Rejection Reasons:**
|
|
53
|
+
* - `CUST`: Customer rejection (payee refuses cancellation)
|
|
54
|
+
* - `AM09`: Wrong amount
|
|
55
|
+
* - `AC06`: Blocked account
|
|
56
|
+
* - `FR01`: Fraud suspicion
|
|
57
|
+
*
|
|
58
|
+
* @param request - Cancellation request data
|
|
59
|
+
* @param request.comptePayeur - Business account number (original payer)
|
|
60
|
+
* @param request.txId - Original payment transaction ID to cancel
|
|
61
|
+
* @param request.motif - Cancellation reason code (e.g., 'CUST' for customer request)
|
|
62
|
+
* @returns Cancellation request response
|
|
63
|
+
* @throws {PiSpiValidationError} If cancellation fails validation (e.g., > 90 days, invalid txId)
|
|
64
|
+
* @throws {PiSpiNotFoundError} If payment not found
|
|
65
|
+
*
|
|
66
|
+
* @example
|
|
67
|
+
* ```typescript
|
|
68
|
+
* // Request cancellation
|
|
69
|
+
* await sdk.demandesAnnulation.create({
|
|
70
|
+
* comptePayeur: 'CIC2344256727788288822',
|
|
71
|
+
* txId: '23552722', // Payment to cancel
|
|
72
|
+
* motif: 'CUST' // Customer request
|
|
73
|
+
* });
|
|
74
|
+
* ```
|
|
75
|
+
*/
|
|
76
|
+
async create(request) {
|
|
77
|
+
return this.execute(async () => {
|
|
78
|
+
throw new Error('Service not yet generated. Run "pnpm run generate" first.');
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Get cancellation request details by transaction ID
|
|
83
|
+
*
|
|
84
|
+
* @param id - Cancellation request transaction ID
|
|
85
|
+
* @returns Cancellation request details
|
|
86
|
+
* @throws {PiSpiNotFoundError} If cancellation request not found
|
|
87
|
+
*/
|
|
88
|
+
async get(id) {
|
|
89
|
+
return this.execute(async () => {
|
|
90
|
+
throw new Error('Service not yet generated. Run "pnpm run generate" first.');
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
/**
|
|
94
|
+
* List cancellation requests with filtering and pagination
|
|
95
|
+
*
|
|
96
|
+
* @param params - Query parameters for filtering and pagination
|
|
97
|
+
* @returns Paginated list of cancellation requests
|
|
98
|
+
*/
|
|
99
|
+
async list(params) {
|
|
100
|
+
return this.execute(async () => {
|
|
101
|
+
throw new Error('Service not yet generated. Run "pnpm run generate" first.');
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
}
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bulk Payment Requests (Demandes de Paiement en Masse) service wrapper
|
|
3
|
+
*
|
|
4
|
+
* Provides methods for creating and managing bulk payment requests.
|
|
5
|
+
*
|
|
6
|
+
* **Bulk Payment Request Features:**
|
|
7
|
+
* - Send multiple payment requests in a single operation
|
|
8
|
+
* - Useful for invoicing multiple customers
|
|
9
|
+
* - Each request can have different amounts and recipients
|
|
10
|
+
* - All requests share the same `instructionId`
|
|
11
|
+
* - Can confirm entire bulk at once
|
|
12
|
+
*
|
|
13
|
+
* **Use Cases:**
|
|
14
|
+
* - Mass invoicing
|
|
15
|
+
* - Subscription billing
|
|
16
|
+
* - Bulk bill collection
|
|
17
|
+
* - Multiple invoice requests
|
|
18
|
+
*
|
|
19
|
+
* @example
|
|
20
|
+
* ```typescript
|
|
21
|
+
* // Create bulk payment requests
|
|
22
|
+
* const bulkRequests = await sdk.demandesPaiementEnMasse.create({
|
|
23
|
+
* comptePaye: 'CIC2344256727788288822',
|
|
24
|
+
* transactions: [
|
|
25
|
+
* { txId: 'INV-001', payeurAlias: 'alias1', montant: 50000, motif: 'Facture' },
|
|
26
|
+
* { txId: 'INV-002', payeurAlias: 'alias2', montant: 75000, motif: 'Facture' }
|
|
27
|
+
* ]
|
|
28
|
+
* });
|
|
29
|
+
* ```
|
|
30
|
+
*/
|
|
31
|
+
import { BaseService } from './base';
|
|
32
|
+
export declare class DemandesPaiementEnMasseService extends BaseService {
|
|
33
|
+
/**
|
|
34
|
+
* Create bulk payment requests
|
|
35
|
+
*
|
|
36
|
+
* **Bulk Request Process:**
|
|
37
|
+
* 1. Create bulk with multiple payment requests
|
|
38
|
+
* 2. All requests are created with status `INITIE`
|
|
39
|
+
* 3. Confirm bulk to send all requests to recipients
|
|
40
|
+
* 4. Each recipient receives their individual payment request
|
|
41
|
+
*
|
|
42
|
+
* **Confirmation:**
|
|
43
|
+
* - Use `confirm()` method to send all requests
|
|
44
|
+
* - Individual requests can be accepted/rejected by recipients
|
|
45
|
+
* - Each request follows standard payment request flow
|
|
46
|
+
*
|
|
47
|
+
* @param request - Bulk payment request creation data
|
|
48
|
+
* @param request.comptePaye - Business account number (payee)
|
|
49
|
+
* @param request.transactions - Array of payment request transactions
|
|
50
|
+
* @param request.transactions[].txId - Unique transaction ID (must be unique within bulk)
|
|
51
|
+
* @param request.transactions[].payeurAlias - Customer alias (payer)
|
|
52
|
+
* @param request.transactions[].montant - Amount in centimes (e.g., 50000 = 500 XOF)
|
|
53
|
+
* @param request.transactions[].motif - Payment reason/description
|
|
54
|
+
* @param request.transactions[].categorie - Request category (optional, defaults to '401')
|
|
55
|
+
* @param request.transactions[].dateLimitePaiement - Payment due date (optional)
|
|
56
|
+
* @param request.transactions[].refDocType - Reference document type (optional)
|
|
57
|
+
* @param request.transactions[].refDocNumero - Reference document number (optional)
|
|
58
|
+
* @returns Bulk payment request response
|
|
59
|
+
* @throws {PiSpiValidationError} If bulk fails validation (e.g., duplicate txId, invalid alias)
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```typescript
|
|
63
|
+
* // Create bulk invoice requests
|
|
64
|
+
* await sdk.demandesPaiementEnMasse.create({
|
|
65
|
+
* comptePaye: 'CIC2344256727788288822',
|
|
66
|
+
* transactions: [
|
|
67
|
+
* {
|
|
68
|
+
* txId: 'INV-2023-001',
|
|
69
|
+
* payeurAlias: '9b1b3499-3e50-435b-b757-ac7a83d8aa96',
|
|
70
|
+
* montant: 150000, // 1,500 XOF
|
|
71
|
+
* motif: 'Facture électricité mars 2023',
|
|
72
|
+
* categorie: '401',
|
|
73
|
+
* dateLimitePaiement: '2023-12-31T23:59:59.999Z',
|
|
74
|
+
* refDocType: 'CINV',
|
|
75
|
+
* refDocNumero: 'FACT-ELEC-202303-001'
|
|
76
|
+
* },
|
|
77
|
+
* {
|
|
78
|
+
* txId: 'INV-2023-002',
|
|
79
|
+
* payeurAlias: '8b1b2499-3e50-435b-b757-ac7a83d8aa7f',
|
|
80
|
+
* montant: 200000, // 2,000 XOF
|
|
81
|
+
* motif: 'Facture téléphone mars 2023',
|
|
82
|
+
* categorie: '401',
|
|
83
|
+
* dateLimitePaiement: '2023-12-31T23:59:59.999Z',
|
|
84
|
+
* refDocType: 'CINV',
|
|
85
|
+
* refDocNumero: 'FACT-TEL-202303-002'
|
|
86
|
+
* }
|
|
87
|
+
* ]
|
|
88
|
+
* });
|
|
89
|
+
* ```
|
|
90
|
+
*/
|
|
91
|
+
create(request: {
|
|
92
|
+
comptePaye: string;
|
|
93
|
+
transactions: Array<{
|
|
94
|
+
txId: string;
|
|
95
|
+
payeurAlias: string;
|
|
96
|
+
montant: number;
|
|
97
|
+
motif: string;
|
|
98
|
+
categorie?: string;
|
|
99
|
+
dateLimitePaiement?: string;
|
|
100
|
+
refDocType?: string;
|
|
101
|
+
refDocNumero?: string;
|
|
102
|
+
}>;
|
|
103
|
+
}): Promise<never>;
|
|
104
|
+
/**
|
|
105
|
+
* Get bulk payment request details and status
|
|
106
|
+
*
|
|
107
|
+
* **Response Includes:**
|
|
108
|
+
* - Overall bulk status
|
|
109
|
+
* - Individual request statuses
|
|
110
|
+
* - Accepted/rejected counts
|
|
111
|
+
* - Payment statuses
|
|
112
|
+
*
|
|
113
|
+
* @param instructionId - Bulk instruction ID
|
|
114
|
+
* @returns Bulk payment request details with individual request statuses
|
|
115
|
+
* @throws {PiSpiNotFoundError} If bulk payment request not found
|
|
116
|
+
*/
|
|
117
|
+
get(instructionId: string): Promise<never>;
|
|
118
|
+
/**
|
|
119
|
+
* Confirm and send bulk payment requests
|
|
120
|
+
*
|
|
121
|
+
* **Confirmation Process:**
|
|
122
|
+
* - All requests in bulk are sent to recipients
|
|
123
|
+
* - Each recipient receives their individual payment request
|
|
124
|
+
* - Recipients can accept/reject independently
|
|
125
|
+
* - Bulk status updates as recipients respond
|
|
126
|
+
*
|
|
127
|
+
* @param instructionId - Bulk instruction ID
|
|
128
|
+
* @returns Confirmation response
|
|
129
|
+
* @throws {PiSpiNotFoundError} If bulk payment request not found
|
|
130
|
+
* @throws {PiSpiError} If bulk already confirmed
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```typescript
|
|
134
|
+
* // Confirm and send all requests
|
|
135
|
+
* await sdk.demandesPaiementEnMasse.confirm('BULK-INV-2023-03');
|
|
136
|
+
* ```
|
|
137
|
+
*/
|
|
138
|
+
confirm(instructionId: string): Promise<never>;
|
|
139
|
+
}
|