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,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bulk Payments (Paiements en Masse) service wrapper
|
|
3
|
+
*
|
|
4
|
+
* Provides methods for creating and managing bulk payment operations.
|
|
5
|
+
*
|
|
6
|
+
* **Bulk Payment Features:**
|
|
7
|
+
* - Process multiple payments in a single request
|
|
8
|
+
* - Linked by unique `instructionId`
|
|
9
|
+
* - Can retry failed payments
|
|
10
|
+
* - Supports up to 10,000 transactions per bulk (recommended: 500-5,000)
|
|
11
|
+
*
|
|
12
|
+
* **Transaction Size:**
|
|
13
|
+
* - Max size per transaction: ~310 bytes
|
|
14
|
+
* - Max bulk size: ~3.1 MB for 10,000 transactions
|
|
15
|
+
* - Recommended: 500-5,000 transactions per bulk
|
|
16
|
+
*
|
|
17
|
+
* **Use Cases:**
|
|
18
|
+
* - Salary payments
|
|
19
|
+
* - Vendor payments
|
|
20
|
+
* - Bulk disbursements
|
|
21
|
+
* - Mass refunds
|
|
22
|
+
*
|
|
23
|
+
* @example
|
|
24
|
+
* ```typescript
|
|
25
|
+
* // Create bulk payment
|
|
26
|
+
* const bulkPayment = await sdk.paiementsEnMasse.createBulk({
|
|
27
|
+
* comptePayeur: 'CIC2344256727788288822',
|
|
28
|
+
* instructionId: 'BULK-2023-001',
|
|
29
|
+
* transactions: [
|
|
30
|
+
* { txId: 'TX001', payeAlias: 'alias1', montant: 100000, motif: 'Salaire' },
|
|
31
|
+
* { txId: 'TX002', payeAlias: 'alias2', montant: 150000, motif: 'Salaire' }
|
|
32
|
+
* ]
|
|
33
|
+
* });
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
import { BaseService } from './base';
|
|
37
|
+
export class PaiementsEnMasseService extends BaseService {
|
|
38
|
+
/**
|
|
39
|
+
* Create bulk payments
|
|
40
|
+
*
|
|
41
|
+
* **Bulk Processing:**
|
|
42
|
+
* - All transactions share the same `instructionId`
|
|
43
|
+
* - Each transaction needs unique `txId`
|
|
44
|
+
* - Transactions are processed in parallel
|
|
45
|
+
* - Failed transactions can be retried
|
|
46
|
+
*
|
|
47
|
+
* **Performance Considerations:**
|
|
48
|
+
* - Larger bulks take longer to process
|
|
49
|
+
* - May hit HTTP timeout for very large bulks
|
|
50
|
+
* - Recommended: 500-5,000 transactions per bulk
|
|
51
|
+
* - For >10,000 transactions, split into multiple bulks
|
|
52
|
+
*
|
|
53
|
+
* **Response Status:**
|
|
54
|
+
* - `INITIE`: Bulk created, awaiting confirmation
|
|
55
|
+
* - `ENVOYE`: Bulk sent, transactions processing
|
|
56
|
+
* - `IRREVOCABLE`: All transactions completed
|
|
57
|
+
* - `PARTIEL`: Some transactions succeeded, some failed
|
|
58
|
+
* - `REJETE`: Bulk rejected (validation failed)
|
|
59
|
+
*
|
|
60
|
+
* @param payment - Bulk payment creation data
|
|
61
|
+
* @param payment.comptePayeur - Payer account number
|
|
62
|
+
* @param payment.instructionId - Unique bulk instruction ID
|
|
63
|
+
* @param payment.transactions - Array of payment transactions
|
|
64
|
+
* @param payment.transactions[].txId - Unique transaction ID (must be unique within bulk)
|
|
65
|
+
* @param payment.transactions[].payeAlias - Payee alias (SHID, MCOD, or MBNO)
|
|
66
|
+
* @param payment.transactions[].montant - Amount in centimes
|
|
67
|
+
* @param payment.transactions[].motif - Payment reason/description
|
|
68
|
+
* @param payment.transactions[].refDocType - Reference document type (optional)
|
|
69
|
+
* @param payment.transactions[].refDocNumero - Reference document number (optional)
|
|
70
|
+
* @returns Bulk payment response with status and summary
|
|
71
|
+
* @throws {PiSpiValidationError} If bulk fails validation (e.g., duplicate txId, invalid alias)
|
|
72
|
+
* @throws {PiSpiError} If account blocked or insufficient funds
|
|
73
|
+
*
|
|
74
|
+
* @example
|
|
75
|
+
* ```typescript
|
|
76
|
+
* // Create bulk payment for salary disbursement
|
|
77
|
+
* await sdk.paiementsEnMasse.createBulk({
|
|
78
|
+
* comptePayeur: 'CIC2344256727788288822',
|
|
79
|
+
* instructionId: 'SALARY-2023-03',
|
|
80
|
+
* transactions: [
|
|
81
|
+
* {
|
|
82
|
+
* txId: 'SAL-001',
|
|
83
|
+
* payeAlias: '8b1b2499-3e50-435b-b757-ac7a83d8aa7f',
|
|
84
|
+
* montant: 500000, // 5,000 XOF
|
|
85
|
+
* motif: 'Salaire mars 2023'
|
|
86
|
+
* },
|
|
87
|
+
* {
|
|
88
|
+
* txId: 'SAL-002',
|
|
89
|
+
* payeAlias: '4r5ty499-3e50-435b-b757-ac7a83d67juio',
|
|
90
|
+
* montant: 750000, // 7,500 XOF
|
|
91
|
+
* motif: 'Salaire mars 2023'
|
|
92
|
+
* }
|
|
93
|
+
* ]
|
|
94
|
+
* });
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
async createBulk(payment) {
|
|
98
|
+
return this.execute(async () => {
|
|
99
|
+
throw new Error('Service not yet generated. Run "pnpm run generate" first.');
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Get bulk payment details and status
|
|
104
|
+
*
|
|
105
|
+
* **Response Includes:**
|
|
106
|
+
* - Overall bulk status
|
|
107
|
+
* - Transaction counts (total, succeeded, failed)
|
|
108
|
+
* - Individual transaction statuses
|
|
109
|
+
* - Failed transaction details
|
|
110
|
+
*
|
|
111
|
+
* @param instructionId - Bulk instruction ID
|
|
112
|
+
* @returns Bulk payment details with transaction statuses
|
|
113
|
+
* @throws {PiSpiNotFoundError} If bulk payment not found
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```typescript
|
|
117
|
+
* const bulk = await sdk.paiementsEnMasse.get('SALARY-2023-03');
|
|
118
|
+
* console.log('Status:', bulk.statut); // 'IRREVOCABLE'
|
|
119
|
+
* console.log('Succeeded:', bulk.nombreSuccess); // 98
|
|
120
|
+
* console.log('Failed:', bulk.nombreEchec); // 2
|
|
121
|
+
* ```
|
|
122
|
+
*/
|
|
123
|
+
async get(instructionId) {
|
|
124
|
+
return this.execute(async () => {
|
|
125
|
+
throw new Error('Service not yet generated. Run "pnpm run generate" first.');
|
|
126
|
+
});
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Retry failed payments in a bulk payment
|
|
130
|
+
*
|
|
131
|
+
* **Retry Process:**
|
|
132
|
+
* - Only failed transactions are retried
|
|
133
|
+
* - Successful transactions are not affected
|
|
134
|
+
* - Uses same `instructionId`
|
|
135
|
+
* - Can retry multiple times if needed
|
|
136
|
+
*
|
|
137
|
+
* @param instructionId - Bulk instruction ID
|
|
138
|
+
* @returns Retry response with updated status
|
|
139
|
+
* @throws {PiSpiNotFoundError} If bulk payment not found
|
|
140
|
+
* @throws {PiSpiError} If no failed transactions to retry
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```typescript
|
|
144
|
+
* // Retry failed transactions
|
|
145
|
+
* await sdk.paiementsEnMasse.retry('SALARY-2023-03');
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
async retry(instructionId) {
|
|
149
|
+
return this.execute(async () => {
|
|
150
|
+
throw new Error('Service not yet generated. Run "pnpm run generate" first.');
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Payments (Paiements) service wrapper
|
|
3
|
+
*
|
|
4
|
+
* Provides methods for creating and managing immediate payments.
|
|
5
|
+
*
|
|
6
|
+
* **Payment Types Supported:**
|
|
7
|
+
* - **Bank-to-Bank**: Payments between bank accounts via API (`categorie: 733`)
|
|
8
|
+
* - **Bank-to-Wallet**: Payments from bank accounts to mobile wallets
|
|
9
|
+
* - **Wallet-to-Wallet**: Payments between mobile wallets
|
|
10
|
+
* - **Wallet-to-Bank**: Payments from mobile wallets to bank accounts
|
|
11
|
+
*
|
|
12
|
+
* All payment types are interoperable across the UEMOA region (8 countries).
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* // Create immediate payment
|
|
17
|
+
* const payment = await sdk.paiements.create({
|
|
18
|
+
* comptePayeur: 'CIC2344256727788288822',
|
|
19
|
+
* payeAlias: '8b1b2499-3e50-435b-b757-ac7a83d8aa7f',
|
|
20
|
+
* montant: 150000, // 1,500 XOF
|
|
21
|
+
* motif: 'Paiement de services'
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
import { BaseService } from './base';
|
|
26
|
+
import type { QueryParams } from '../query-builder';
|
|
27
|
+
export declare class PaiementsService extends BaseService {
|
|
28
|
+
/**
|
|
29
|
+
* Create an immediate payment
|
|
30
|
+
*
|
|
31
|
+
* **Payment Flow:**
|
|
32
|
+
* - If `confirmation: false`: Payment is sent immediately (default)
|
|
33
|
+
* - If `confirmation: true`: Payment is initiated, returns payee info for confirmation
|
|
34
|
+
*
|
|
35
|
+
* **Supported Transaction Types:**
|
|
36
|
+
* - Bank-to-Bank (`categorie: 733`)
|
|
37
|
+
* - Bank-to-Wallet (via alias lookup)
|
|
38
|
+
* - Wallet-to-Wallet (via alias lookup)
|
|
39
|
+
* - Wallet-to-Bank (via alias lookup)
|
|
40
|
+
*
|
|
41
|
+
* **Status Values:**
|
|
42
|
+
* - `INITIE`: Waiting for confirmation (if confirmation: true)
|
|
43
|
+
* - `ENVOYE`: Payment sent successfully
|
|
44
|
+
* - `IRREVOCABLE`: Payment confirmed and cannot be reversed
|
|
45
|
+
* - `REJETE`: Payment rejected (check `statutRaison` for error code)
|
|
46
|
+
*
|
|
47
|
+
* @param payment - Payment creation data
|
|
48
|
+
* @param payment.comptePayeur - Payer account number (e.g., 'CIC2344256727788288822')
|
|
49
|
+
* @param payment.payeAlias - Payee alias (SHID, MCOD, or MBNO format)
|
|
50
|
+
* @param payment.montant - Amount in centimes (e.g., 150000 = 1,500 XOF)
|
|
51
|
+
* @param payment.motif - Payment reason/description
|
|
52
|
+
* @param payment.txId - Unique transaction ID (optional, auto-generated if not provided)
|
|
53
|
+
* @param payment.confirmation - Whether to require confirmation before sending (default: false)
|
|
54
|
+
* @param payment.categorie - Payment category/canal (default: 733 for API Business)
|
|
55
|
+
* @returns Payment response with status
|
|
56
|
+
* @throws {PiSpiValidationError} If payment fails validation (e.g., invalid alias, duplicate txId)
|
|
57
|
+
* @throws {PiSpiError} If account blocked or insufficient funds
|
|
58
|
+
*
|
|
59
|
+
* @example
|
|
60
|
+
* ```typescript
|
|
61
|
+
* // Immediate payment (no confirmation)
|
|
62
|
+
* const payment = await sdk.paiements.create({
|
|
63
|
+
* comptePayeur: 'CIC2344256727788288822',
|
|
64
|
+
* payeAlias: '8b1b2499-3e50-435b-b757-ac7a83d8aa7f', // SHID alias
|
|
65
|
+
* montant: 150000, // 1,500 XOF
|
|
66
|
+
* motif: 'Paiement de services',
|
|
67
|
+
* txId: '23552722'
|
|
68
|
+
* });
|
|
69
|
+
*
|
|
70
|
+
* // Payment with confirmation (returns payee info)
|
|
71
|
+
* const paymentWithConfirmation = await sdk.paiements.create({
|
|
72
|
+
* comptePayeur: 'CIC2344256727788288822',
|
|
73
|
+
* payeAlias: '8b1b2499-3e50-435b-b757-ac7a83d8aa7f',
|
|
74
|
+
* montant: 3000000, // 30,000 XOF
|
|
75
|
+
* confirmation: true
|
|
76
|
+
* });
|
|
77
|
+
* ```
|
|
78
|
+
*/
|
|
79
|
+
create(payment: {
|
|
80
|
+
comptePayeur: string;
|
|
81
|
+
payeAlias: string;
|
|
82
|
+
montant: number;
|
|
83
|
+
motif: string;
|
|
84
|
+
txId?: string;
|
|
85
|
+
confirmation?: boolean;
|
|
86
|
+
categorie?: string;
|
|
87
|
+
}): Promise<never>;
|
|
88
|
+
/**
|
|
89
|
+
* Get payment details by transaction ID
|
|
90
|
+
*
|
|
91
|
+
* @param txId - Transaction ID
|
|
92
|
+
* @returns Payment details including status and history
|
|
93
|
+
* @throws {PiSpiNotFoundError} If payment not found
|
|
94
|
+
*
|
|
95
|
+
* @example
|
|
96
|
+
* ```typescript
|
|
97
|
+
* const payment = await sdk.paiements.get('23552722');
|
|
98
|
+
* console.log('Status:', payment.statut); // 'IRREVOCABLE'
|
|
99
|
+
* console.log('Amount:', payment.montant); // 150000
|
|
100
|
+
* ```
|
|
101
|
+
*/
|
|
102
|
+
get(txId: string): Promise<never>;
|
|
103
|
+
/**
|
|
104
|
+
* List payments with filtering and pagination
|
|
105
|
+
*
|
|
106
|
+
* **Filter Options:**
|
|
107
|
+
* - Filter by account: `comptePayeur`
|
|
108
|
+
* - Filter by status: `statut` (INITIE, ENVOYE, IRREVOCABLE, REJETE)
|
|
109
|
+
* - Filter by dates: `dateEnvoi`, `dateIrrevocabilite`
|
|
110
|
+
* - Use QueryBuilder for advanced filtering
|
|
111
|
+
*
|
|
112
|
+
* @param params - Query parameters for filtering and pagination
|
|
113
|
+
* @returns Paginated list of payments
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```typescript
|
|
117
|
+
* // List all payments for an account
|
|
118
|
+
* const payments = await sdk.paiements.list({
|
|
119
|
+
* comptePayeur: 'CIC2344256727788288822',
|
|
120
|
+
* page: 1,
|
|
121
|
+
* size: 20
|
|
122
|
+
* });
|
|
123
|
+
*
|
|
124
|
+
* // Filter by status
|
|
125
|
+
* const completed = await sdk.paiements.list({
|
|
126
|
+
* comptePayeur: 'CIC2344256727788288822',
|
|
127
|
+
* statut: 'IRREVOCABLE'
|
|
128
|
+
* });
|
|
129
|
+
* ```
|
|
130
|
+
*/
|
|
131
|
+
list(params?: QueryParams & {
|
|
132
|
+
comptePayeur?: string;
|
|
133
|
+
statut?: string;
|
|
134
|
+
}): Promise<never>;
|
|
135
|
+
}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Payments (Paiements) service wrapper
|
|
3
|
+
*
|
|
4
|
+
* Provides methods for creating and managing immediate payments.
|
|
5
|
+
*
|
|
6
|
+
* **Payment Types Supported:**
|
|
7
|
+
* - **Bank-to-Bank**: Payments between bank accounts via API (`categorie: 733`)
|
|
8
|
+
* - **Bank-to-Wallet**: Payments from bank accounts to mobile wallets
|
|
9
|
+
* - **Wallet-to-Wallet**: Payments between mobile wallets
|
|
10
|
+
* - **Wallet-to-Bank**: Payments from mobile wallets to bank accounts
|
|
11
|
+
*
|
|
12
|
+
* All payment types are interoperable across the UEMOA region (8 countries).
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* // Create immediate payment
|
|
17
|
+
* const payment = await sdk.paiements.create({
|
|
18
|
+
* comptePayeur: 'CIC2344256727788288822',
|
|
19
|
+
* payeAlias: '8b1b2499-3e50-435b-b757-ac7a83d8aa7f',
|
|
20
|
+
* montant: 150000, // 1,500 XOF
|
|
21
|
+
* motif: 'Paiement de services'
|
|
22
|
+
* });
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
import { BaseService } from './base';
|
|
26
|
+
export class PaiementsService extends BaseService {
|
|
27
|
+
/**
|
|
28
|
+
* Create an immediate payment
|
|
29
|
+
*
|
|
30
|
+
* **Payment Flow:**
|
|
31
|
+
* - If `confirmation: false`: Payment is sent immediately (default)
|
|
32
|
+
* - If `confirmation: true`: Payment is initiated, returns payee info for confirmation
|
|
33
|
+
*
|
|
34
|
+
* **Supported Transaction Types:**
|
|
35
|
+
* - Bank-to-Bank (`categorie: 733`)
|
|
36
|
+
* - Bank-to-Wallet (via alias lookup)
|
|
37
|
+
* - Wallet-to-Wallet (via alias lookup)
|
|
38
|
+
* - Wallet-to-Bank (via alias lookup)
|
|
39
|
+
*
|
|
40
|
+
* **Status Values:**
|
|
41
|
+
* - `INITIE`: Waiting for confirmation (if confirmation: true)
|
|
42
|
+
* - `ENVOYE`: Payment sent successfully
|
|
43
|
+
* - `IRREVOCABLE`: Payment confirmed and cannot be reversed
|
|
44
|
+
* - `REJETE`: Payment rejected (check `statutRaison` for error code)
|
|
45
|
+
*
|
|
46
|
+
* @param payment - Payment creation data
|
|
47
|
+
* @param payment.comptePayeur - Payer account number (e.g., 'CIC2344256727788288822')
|
|
48
|
+
* @param payment.payeAlias - Payee alias (SHID, MCOD, or MBNO format)
|
|
49
|
+
* @param payment.montant - Amount in centimes (e.g., 150000 = 1,500 XOF)
|
|
50
|
+
* @param payment.motif - Payment reason/description
|
|
51
|
+
* @param payment.txId - Unique transaction ID (optional, auto-generated if not provided)
|
|
52
|
+
* @param payment.confirmation - Whether to require confirmation before sending (default: false)
|
|
53
|
+
* @param payment.categorie - Payment category/canal (default: 733 for API Business)
|
|
54
|
+
* @returns Payment response with status
|
|
55
|
+
* @throws {PiSpiValidationError} If payment fails validation (e.g., invalid alias, duplicate txId)
|
|
56
|
+
* @throws {PiSpiError} If account blocked or insufficient funds
|
|
57
|
+
*
|
|
58
|
+
* @example
|
|
59
|
+
* ```typescript
|
|
60
|
+
* // Immediate payment (no confirmation)
|
|
61
|
+
* const payment = await sdk.paiements.create({
|
|
62
|
+
* comptePayeur: 'CIC2344256727788288822',
|
|
63
|
+
* payeAlias: '8b1b2499-3e50-435b-b757-ac7a83d8aa7f', // SHID alias
|
|
64
|
+
* montant: 150000, // 1,500 XOF
|
|
65
|
+
* motif: 'Paiement de services',
|
|
66
|
+
* txId: '23552722'
|
|
67
|
+
* });
|
|
68
|
+
*
|
|
69
|
+
* // Payment with confirmation (returns payee info)
|
|
70
|
+
* const paymentWithConfirmation = await sdk.paiements.create({
|
|
71
|
+
* comptePayeur: 'CIC2344256727788288822',
|
|
72
|
+
* payeAlias: '8b1b2499-3e50-435b-b757-ac7a83d8aa7f',
|
|
73
|
+
* montant: 3000000, // 30,000 XOF
|
|
74
|
+
* confirmation: true
|
|
75
|
+
* });
|
|
76
|
+
* ```
|
|
77
|
+
*/
|
|
78
|
+
async create(payment) {
|
|
79
|
+
return this.execute(async () => {
|
|
80
|
+
throw new Error('Service not yet generated. Run "pnpm run generate" first.');
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* Get payment details by transaction ID
|
|
85
|
+
*
|
|
86
|
+
* @param txId - Transaction ID
|
|
87
|
+
* @returns Payment details including status and history
|
|
88
|
+
* @throws {PiSpiNotFoundError} If payment not found
|
|
89
|
+
*
|
|
90
|
+
* @example
|
|
91
|
+
* ```typescript
|
|
92
|
+
* const payment = await sdk.paiements.get('23552722');
|
|
93
|
+
* console.log('Status:', payment.statut); // 'IRREVOCABLE'
|
|
94
|
+
* console.log('Amount:', payment.montant); // 150000
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
async get(txId) {
|
|
98
|
+
return this.execute(async () => {
|
|
99
|
+
throw new Error('Service not yet generated. Run "pnpm run generate" first.');
|
|
100
|
+
});
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* List payments with filtering and pagination
|
|
104
|
+
*
|
|
105
|
+
* **Filter Options:**
|
|
106
|
+
* - Filter by account: `comptePayeur`
|
|
107
|
+
* - Filter by status: `statut` (INITIE, ENVOYE, IRREVOCABLE, REJETE)
|
|
108
|
+
* - Filter by dates: `dateEnvoi`, `dateIrrevocabilite`
|
|
109
|
+
* - Use QueryBuilder for advanced filtering
|
|
110
|
+
*
|
|
111
|
+
* @param params - Query parameters for filtering and pagination
|
|
112
|
+
* @returns Paginated list of payments
|
|
113
|
+
*
|
|
114
|
+
* @example
|
|
115
|
+
* ```typescript
|
|
116
|
+
* // List all payments for an account
|
|
117
|
+
* const payments = await sdk.paiements.list({
|
|
118
|
+
* comptePayeur: 'CIC2344256727788288822',
|
|
119
|
+
* page: 1,
|
|
120
|
+
* size: 20
|
|
121
|
+
* });
|
|
122
|
+
*
|
|
123
|
+
* // Filter by status
|
|
124
|
+
* const completed = await sdk.paiements.list({
|
|
125
|
+
* comptePayeur: 'CIC2344256727788288822',
|
|
126
|
+
* statut: 'IRREVOCABLE'
|
|
127
|
+
* });
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
async list(params) {
|
|
131
|
+
return this.execute(async () => {
|
|
132
|
+
throw new Error('Service not yet generated. Run "pnpm run generate" first.');
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fund Returns (Retours de Fonds) service wrapper
|
|
3
|
+
*
|
|
4
|
+
* Provides methods for returning funds from received payments.
|
|
5
|
+
*
|
|
6
|
+
* **Return Rules:**
|
|
7
|
+
* - Can only return funds from payments received
|
|
8
|
+
* - Must be initiated within 90 days of original payment
|
|
9
|
+
* - After 90 days, returns are no longer possible
|
|
10
|
+
* - Returns are processed instantly when sent
|
|
11
|
+
*
|
|
12
|
+
* **Use Cases:**
|
|
13
|
+
* - Refunds for returned goods
|
|
14
|
+
* - Cancellation of services
|
|
15
|
+
* - Error corrections
|
|
16
|
+
* - Customer disputes
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* // Return funds from a received payment
|
|
21
|
+
* const returnFunds = await sdk.retoursFonds.create({
|
|
22
|
+
* comptePaye: 'CIC2344256727788288822',
|
|
23
|
+
* txId: '23552722', // Original payment transaction ID
|
|
24
|
+
* montant: 150000, // Amount to return (1,500 XOF)
|
|
25
|
+
* motif: 'CUST' // Customer request reason code
|
|
26
|
+
* });
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
import { BaseService } from './base';
|
|
30
|
+
import type { QueryParams } from '../query-builder';
|
|
31
|
+
export declare class RetoursFondsService extends BaseService {
|
|
32
|
+
/**
|
|
33
|
+
* Create a fund return
|
|
34
|
+
*
|
|
35
|
+
* **Return Process:**
|
|
36
|
+
* 1. Business identifies original payment transaction
|
|
37
|
+
* 2. Creates return request (must be within 90 days)
|
|
38
|
+
* 3. Return is processed immediately
|
|
39
|
+
* 4. Funds are returned to original payer
|
|
40
|
+
*
|
|
41
|
+
* **Status Values:**
|
|
42
|
+
* - `ENVOYE`: Return sent successfully
|
|
43
|
+
* - `IRREVOCABLE`: Return confirmed and cannot be reversed
|
|
44
|
+
* - `REJETE`: Return rejected (check `statutRaison` for error code)
|
|
45
|
+
*
|
|
46
|
+
* **Rejection Reasons:**
|
|
47
|
+
* - `AM04`: Insufficient guarantee funds
|
|
48
|
+
* - `AM09`: Wrong amount
|
|
49
|
+
* - `AC06`: Blocked account
|
|
50
|
+
* - `FR01`: Fraud suspicion
|
|
51
|
+
* - `RR04`: Regulatory reason
|
|
52
|
+
*
|
|
53
|
+
* @param returnRequest - Fund return request data
|
|
54
|
+
* @param returnRequest.comptePaye - Business account number (original payee)
|
|
55
|
+
* @param returnRequest.txId - Original payment transaction ID
|
|
56
|
+
* @param returnRequest.montant - Amount to return in centimes (e.g., 150000 = 1,500 XOF)
|
|
57
|
+
* @param returnRequest.motif - Return reason code (e.g., 'CUST' for customer request)
|
|
58
|
+
* @returns Fund return response
|
|
59
|
+
* @throws {PiSpiValidationError} If return fails validation (e.g., > 90 days, invalid txId)
|
|
60
|
+
* @throws {PiSpiError} If account blocked or insufficient funds
|
|
61
|
+
*
|
|
62
|
+
* @example
|
|
63
|
+
* ```typescript
|
|
64
|
+
* // Return full payment amount
|
|
65
|
+
* await sdk.retoursFonds.create({
|
|
66
|
+
* comptePaye: 'CIC2344256727788288822',
|
|
67
|
+
* txId: '23552722', // Original payment ID
|
|
68
|
+
* montant: 150000, // 1,500 XOF
|
|
69
|
+
* motif: 'CUST' // Customer request
|
|
70
|
+
* });
|
|
71
|
+
* ```
|
|
72
|
+
*/
|
|
73
|
+
create(returnRequest: {
|
|
74
|
+
comptePaye: string;
|
|
75
|
+
txId: string;
|
|
76
|
+
montant: number;
|
|
77
|
+
motif: string;
|
|
78
|
+
}): Promise<never>;
|
|
79
|
+
/**
|
|
80
|
+
* Get fund return details by transaction ID
|
|
81
|
+
*
|
|
82
|
+
* @param id - Fund return transaction ID
|
|
83
|
+
* @returns Fund return details
|
|
84
|
+
* @throws {PiSpiNotFoundError} If return not found
|
|
85
|
+
*/
|
|
86
|
+
get(id: string): Promise<never>;
|
|
87
|
+
/**
|
|
88
|
+
* List fund returns with filtering and pagination
|
|
89
|
+
*
|
|
90
|
+
* @param params - Query parameters for filtering and pagination
|
|
91
|
+
* @returns Paginated list of fund returns
|
|
92
|
+
*/
|
|
93
|
+
list(params?: QueryParams): Promise<never>;
|
|
94
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Fund Returns (Retours de Fonds) service wrapper
|
|
3
|
+
*
|
|
4
|
+
* Provides methods for returning funds from received payments.
|
|
5
|
+
*
|
|
6
|
+
* **Return Rules:**
|
|
7
|
+
* - Can only return funds from payments received
|
|
8
|
+
* - Must be initiated within 90 days of original payment
|
|
9
|
+
* - After 90 days, returns are no longer possible
|
|
10
|
+
* - Returns are processed instantly when sent
|
|
11
|
+
*
|
|
12
|
+
* **Use Cases:**
|
|
13
|
+
* - Refunds for returned goods
|
|
14
|
+
* - Cancellation of services
|
|
15
|
+
* - Error corrections
|
|
16
|
+
* - Customer disputes
|
|
17
|
+
*
|
|
18
|
+
* @example
|
|
19
|
+
* ```typescript
|
|
20
|
+
* // Return funds from a received payment
|
|
21
|
+
* const returnFunds = await sdk.retoursFonds.create({
|
|
22
|
+
* comptePaye: 'CIC2344256727788288822',
|
|
23
|
+
* txId: '23552722', // Original payment transaction ID
|
|
24
|
+
* montant: 150000, // Amount to return (1,500 XOF)
|
|
25
|
+
* motif: 'CUST' // Customer request reason code
|
|
26
|
+
* });
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
import { BaseService } from './base';
|
|
30
|
+
export class RetoursFondsService extends BaseService {
|
|
31
|
+
/**
|
|
32
|
+
* Create a fund return
|
|
33
|
+
*
|
|
34
|
+
* **Return Process:**
|
|
35
|
+
* 1. Business identifies original payment transaction
|
|
36
|
+
* 2. Creates return request (must be within 90 days)
|
|
37
|
+
* 3. Return is processed immediately
|
|
38
|
+
* 4. Funds are returned to original payer
|
|
39
|
+
*
|
|
40
|
+
* **Status Values:**
|
|
41
|
+
* - `ENVOYE`: Return sent successfully
|
|
42
|
+
* - `IRREVOCABLE`: Return confirmed and cannot be reversed
|
|
43
|
+
* - `REJETE`: Return rejected (check `statutRaison` for error code)
|
|
44
|
+
*
|
|
45
|
+
* **Rejection Reasons:**
|
|
46
|
+
* - `AM04`: Insufficient guarantee funds
|
|
47
|
+
* - `AM09`: Wrong amount
|
|
48
|
+
* - `AC06`: Blocked account
|
|
49
|
+
* - `FR01`: Fraud suspicion
|
|
50
|
+
* - `RR04`: Regulatory reason
|
|
51
|
+
*
|
|
52
|
+
* @param returnRequest - Fund return request data
|
|
53
|
+
* @param returnRequest.comptePaye - Business account number (original payee)
|
|
54
|
+
* @param returnRequest.txId - Original payment transaction ID
|
|
55
|
+
* @param returnRequest.montant - Amount to return in centimes (e.g., 150000 = 1,500 XOF)
|
|
56
|
+
* @param returnRequest.motif - Return reason code (e.g., 'CUST' for customer request)
|
|
57
|
+
* @returns Fund return response
|
|
58
|
+
* @throws {PiSpiValidationError} If return fails validation (e.g., > 90 days, invalid txId)
|
|
59
|
+
* @throws {PiSpiError} If account blocked or insufficient funds
|
|
60
|
+
*
|
|
61
|
+
* @example
|
|
62
|
+
* ```typescript
|
|
63
|
+
* // Return full payment amount
|
|
64
|
+
* await sdk.retoursFonds.create({
|
|
65
|
+
* comptePaye: 'CIC2344256727788288822',
|
|
66
|
+
* txId: '23552722', // Original payment ID
|
|
67
|
+
* montant: 150000, // 1,500 XOF
|
|
68
|
+
* motif: 'CUST' // Customer request
|
|
69
|
+
* });
|
|
70
|
+
* ```
|
|
71
|
+
*/
|
|
72
|
+
async create(returnRequest) {
|
|
73
|
+
return this.execute(async () => {
|
|
74
|
+
throw new Error('Service not yet generated. Run "pnpm run generate" first.');
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Get fund return details by transaction ID
|
|
79
|
+
*
|
|
80
|
+
* @param id - Fund return transaction ID
|
|
81
|
+
* @returns Fund return details
|
|
82
|
+
* @throws {PiSpiNotFoundError} If return not found
|
|
83
|
+
*/
|
|
84
|
+
async get(id) {
|
|
85
|
+
return this.execute(async () => {
|
|
86
|
+
throw new Error('Service not yet generated. Run "pnpm run generate" first.');
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* List fund returns with filtering and pagination
|
|
91
|
+
*
|
|
92
|
+
* @param params - Query parameters for filtering and pagination
|
|
93
|
+
* @returns Paginated list of fund returns
|
|
94
|
+
*/
|
|
95
|
+
async list(params) {
|
|
96
|
+
return this.execute(async () => {
|
|
97
|
+
throw new Error('Service not yet generated. Run "pnpm run generate" first.');
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
}
|