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.
- package/CHANGELOG.md +48 -0
- package/README.md +23 -1
- package/dist/chunk-7W56NW2S.mjs +2066 -0
- package/dist/generated-FM5EVVHH.mjs +84 -0
- package/dist/index.cjs +4754 -0
- package/dist/index.d.cts +4940 -0
- package/dist/index.d.ts +4937 -11
- package/dist/index.mjs +2359 -0
- package/dist/index.umd.js +2 -0
- package/dist/qrcode/index.cjs +757 -0
- package/dist/qrcode/index.d.cts +68 -0
- package/dist/qrcode/index.d.ts +68 -0
- package/dist/qrcode/index.mjs +712 -0
- package/package.json +25 -8
- package/dist/config.d.ts +0 -35
- package/dist/config.js +0 -4
- package/dist/error-handler.d.ts +0 -7
- package/dist/error-handler.js +0 -52
- package/dist/errors.d.ts +0 -25
- package/dist/errors.js +0 -40
- package/dist/examples.d.ts +0 -8
- package/dist/examples.js +0 -91
- package/dist/generated/core/ApiError.d.ts +0 -10
- package/dist/generated/core/ApiError.js +0 -11
- package/dist/generated/core/ApiRequestOptions.d.ts +0 -13
- package/dist/generated/core/ApiRequestOptions.js +0 -1
- package/dist/generated/core/ApiResult.d.ts +0 -7
- package/dist/generated/core/ApiResult.js +0 -1
- package/dist/generated/core/CancelablePromise.d.ts +0 -20
- package/dist/generated/core/CancelablePromise.js +0 -111
- package/dist/generated/core/OpenAPI.d.ts +0 -16
- package/dist/generated/core/OpenAPI.js +0 -11
- package/dist/generated/core/request.d.ts +0 -34
- package/dist/generated/core/request.js +0 -269
- package/dist/generated/index.d.ts +0 -78
- package/dist/generated/index.js +0 -43
- package/dist/generated/models/AliasCreationReponse.d.ts +0 -22
- package/dist/generated/models/AliasCreationReponse.js +0 -1
- package/dist/generated/models/AliasCreationRequest.d.ts +0 -11
- package/dist/generated/models/AliasCreationRequest.js +0 -1
- package/dist/generated/models/AliasReponseListe.d.ts +0 -26
- package/dist/generated/models/AliasReponseListe.js +0 -1
- package/dist/generated/models/AnnulationStatut.d.ts +0 -13
- package/dist/generated/models/AnnulationStatut.js +0 -18
- package/dist/generated/models/Champs.d.ts +0 -1
- package/dist/generated/models/Champs.js +0 -1
- package/dist/generated/models/CompteOperation.d.ts +0 -72
- package/dist/generated/models/CompteOperation.js +0 -24
- package/dist/generated/models/CompteOperationListe.d.ts +0 -18
- package/dist/generated/models/CompteOperationListe.js +0 -1
- package/dist/generated/models/CompteSolde.d.ts +0 -129
- package/dist/generated/models/CompteSolde.js +0 -71
- package/dist/generated/models/CompteTransfertIntraReponse.d.ts +0 -33
- package/dist/generated/models/CompteTransfertIntraReponse.js +0 -12
- package/dist/generated/models/CompteTransfertIntraRequest.d.ts +0 -9
- package/dist/generated/models/CompteTransfertIntraRequest.js +0 -1
- package/dist/generated/models/DemandePaiementConfirmationAnnulationRaison.d.ts +0 -14
- package/dist/generated/models/DemandePaiementConfirmationAnnulationRaison.js +0 -19
- package/dist/generated/models/DemandePaiementConfirmationReponse.d.ts +0 -41
- package/dist/generated/models/DemandePaiementConfirmationReponse.js +0 -13
- package/dist/generated/models/DemandePaiementConfirmationRequest.d.ts +0 -3
- package/dist/generated/models/DemandePaiementConfirmationRequest.js +0 -1
- package/dist/generated/models/DemandePaiementConfirmationRequestAccepter.d.ts +0 -9
- package/dist/generated/models/DemandePaiementConfirmationRequestAccepter.js +0 -1
- package/dist/generated/models/DemandePaiementConfirmationRequestRejeter.d.ts +0 -9
- package/dist/generated/models/DemandePaiementConfirmationRequestRejeter.js +0 -1
- package/dist/generated/models/DemandePaiementConsultationReponse.d.ts +0 -151
- package/dist/generated/models/DemandePaiementConsultationReponse.js +0 -27
- package/dist/generated/models/DemandePaiementEnMasseConfirmationRequest.d.ts +0 -3
- package/dist/generated/models/DemandePaiementEnMasseConfirmationRequest.js +0 -1
- package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestAccepter.d.ts +0 -9
- package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestAccepter.js +0 -1
- package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestRejeter.d.ts +0 -9
- package/dist/generated/models/DemandePaiementEnMasseConfirmationRequestRejeter.js +0 -1
- package/dist/generated/models/DemandePaiementEnMasseRequest.d.ts +0 -74
- package/dist/generated/models/DemandePaiementEnMasseRequest.js +0 -1
- package/dist/generated/models/DemandePaiementEnMasseStatutReponse.d.ts +0 -98
- package/dist/generated/models/DemandePaiementEnMasseStatutReponse.js +0 -20
- package/dist/generated/models/DemandePaiementListe.d.ts +0 -26
- package/dist/generated/models/DemandePaiementListe.js +0 -1
- package/dist/generated/models/DemandePaiementListeItem.d.ts +0 -163
- package/dist/generated/models/DemandePaiementListeItem.js +0 -27
- package/dist/generated/models/DemandePaiementReponse.d.ts +0 -129
- package/dist/generated/models/DemandePaiementReponse.js +0 -1
- package/dist/generated/models/DemandePaiementReponseRequest.d.ts +0 -21
- package/dist/generated/models/DemandePaiementReponseRequest.js +0 -11
- package/dist/generated/models/DemandePaiementRequest.d.ts +0 -98
- package/dist/generated/models/DemandePaiementRequest.js +0 -7
- package/dist/generated/models/DemandePaiementRequestBase.d.ts +0 -42
- package/dist/generated/models/DemandePaiementRequestBase.js +0 -1
- package/dist/generated/models/DemandePaiementRequestCategorie.d.ts +0 -12
- package/dist/generated/models/DemandePaiementRequestCategorie.js +0 -17
- package/dist/generated/models/DemandePaiementStatut.d.ts +0 -13
- package/dist/generated/models/DemandePaiementStatut.js +0 -18
- package/dist/generated/models/DemandePaiementStatutRaison.d.ts +0 -46
- package/dist/generated/models/DemandePaiementStatutRaison.js +0 -51
- package/dist/generated/models/ListeMeta.d.ts +0 -14
- package/dist/generated/models/ListeMeta.js +0 -1
- package/dist/generated/models/Paiement.d.ts +0 -156
- package/dist/generated/models/Paiement.js +0 -28
- package/dist/generated/models/PaiementAnnulationMotif.d.ts +0 -17
- package/dist/generated/models/PaiementAnnulationMotif.js +0 -22
- package/dist/generated/models/PaiementAnnulationReponseRequest.d.ts +0 -11
- package/dist/generated/models/PaiementAnnulationReponseRequest.js +0 -1
- package/dist/generated/models/PaiementAnnulationReponseRequestAccepter.d.ts +0 -9
- package/dist/generated/models/PaiementAnnulationReponseRequestAccepter.js +0 -1
- package/dist/generated/models/PaiementAnnulationReponseRequestRejeter.d.ts +0 -9
- package/dist/generated/models/PaiementAnnulationReponseRequestRejeter.js +0 -1
- package/dist/generated/models/PaiementAnnulationRequest.d.ts +0 -4
- package/dist/generated/models/PaiementAnnulationRequest.js +0 -1
- package/dist/generated/models/PaiementAnnulationStatutRaison.d.ts +0 -21
- package/dist/generated/models/PaiementAnnulationStatutRaison.js +0 -26
- package/dist/generated/models/PaiementEnMasseConfirmationRequest.d.ts +0 -3
- package/dist/generated/models/PaiementEnMasseConfirmationRequest.js +0 -1
- package/dist/generated/models/PaiementEnMasseConfirmationRequestAccepter.d.ts +0 -9
- package/dist/generated/models/PaiementEnMasseConfirmationRequestAccepter.js +0 -1
- package/dist/generated/models/PaiementEnMasseConfirmationRequestRejeter.d.ts +0 -9
- package/dist/generated/models/PaiementEnMasseConfirmationRequestRejeter.js +0 -1
- package/dist/generated/models/PaiementEnMasseReponseStatut.d.ts +0 -97
- package/dist/generated/models/PaiementEnMasseReponseStatut.js +0 -20
- package/dist/generated/models/PaiementEnMasseRequest.d.ts +0 -54
- package/dist/generated/models/PaiementEnMasseRequest.js +0 -1
- package/dist/generated/models/PaiementImmediatConfirmationReponse.d.ts +0 -31
- package/dist/generated/models/PaiementImmediatConfirmationReponse.js +0 -7
- package/dist/generated/models/PaiementImmediatConfirmationRequest.d.ts +0 -3
- package/dist/generated/models/PaiementImmediatConfirmationRequest.js +0 -1
- package/dist/generated/models/PaiementImmediatConfirmationRequestAccepter.d.ts +0 -9
- package/dist/generated/models/PaiementImmediatConfirmationRequestAccepter.js +0 -1
- package/dist/generated/models/PaiementImmediatConfirmationRequestRejeter.d.ts +0 -9
- package/dist/generated/models/PaiementImmediatConfirmationRequestRejeter.js +0 -1
- package/dist/generated/models/PaiementImmediatReponse.d.ts +0 -98
- package/dist/generated/models/PaiementImmediatReponse.js +0 -7
- package/dist/generated/models/PaiementImmediatRequest.d.ts +0 -13
- package/dist/generated/models/PaiementImmediatRequest.js +0 -1
- package/dist/generated/models/PaiementListe.d.ts +0 -6
- package/dist/generated/models/PaiementListe.js +0 -1
- package/dist/generated/models/PaiementRequest.d.ts +0 -33
- package/dist/generated/models/PaiementRequest.js +0 -1
- package/dist/generated/models/PaiementStatut.d.ts +0 -13
- package/dist/generated/models/PaiementStatut.js +0 -18
- package/dist/generated/models/PaiementStatutRaison.d.ts +0 -56
- package/dist/generated/models/PaiementStatutRaison.js +0 -61
- package/dist/generated/models/Problem7807.d.ts +0 -31
- package/dist/generated/models/Problem7807.js +0 -1
- package/dist/generated/models/RefDocType.d.ts +0 -38
- package/dist/generated/models/RefDocType.js +0 -43
- package/dist/generated/models/RetourStatut.d.ts +0 -13
- package/dist/generated/models/RetourStatut.js +0 -18
- package/dist/generated/models/RetourStatutRaison.d.ts +0 -25
- package/dist/generated/models/RetourStatutRaison.js +0 -30
- package/dist/generated/models/WebhookCreationRequest.d.ts +0 -14
- package/dist/generated/models/WebhookCreationRequest.js +0 -1
- package/dist/generated/models/WebhookCreationResponse.d.ts +0 -12
- package/dist/generated/models/WebhookCreationResponse.js +0 -1
- package/dist/generated/models/WebhookData.d.ts +0 -8
- package/dist/generated/models/WebhookData.js +0 -1
- package/dist/generated/models/WebhookEvent.d.ts +0 -191
- package/dist/generated/models/WebhookEvent.js +0 -42
- package/dist/generated/models/WebhookEventsList.d.ts +0 -13
- package/dist/generated/models/WebhookEventsList.js +0 -1
- package/dist/generated/models/WebhookList.d.ts +0 -13
- package/dist/generated/models/WebhookList.js +0 -1
- package/dist/generated/models/WebhookModificationRequest.d.ts +0 -4
- package/dist/generated/models/WebhookModificationRequest.js +0 -1
- package/dist/generated/models/WebhooksEvents.d.ts +0 -12
- package/dist/generated/models/WebhooksEvents.js +0 -17
- package/dist/generated/services/AliasService.d.ts +0 -63
- package/dist/generated/services/AliasService.js +0 -84
- package/dist/generated/services/ComptesService.d.ts +0 -64
- package/dist/generated/services/ComptesService.js +0 -86
- package/dist/generated/services/DemandeAnnulationService.d.ts +0 -84
- package/dist/generated/services/DemandeAnnulationService.js +0 -99
- package/dist/generated/services/DemandesDePaiementEnMasseService.d.ts +0 -161
- package/dist/generated/services/DemandesDePaiementEnMasseService.js +0 -189
- package/dist/generated/services/DemandesDePaiementService.d.ts +0 -123
- package/dist/generated/services/DemandesDePaiementService.js +0 -161
- package/dist/generated/services/NotificationService.d.ts +0 -80
- package/dist/generated/services/NotificationService.js +0 -132
- package/dist/generated/services/PaiementEnMasseService.d.ts +0 -159
- package/dist/generated/services/PaiementEnMasseService.js +0 -187
- package/dist/generated/services/PaiementImmediatService.d.ts +0 -135
- package/dist/generated/services/PaiementImmediatService.js +0 -176
- package/dist/generated/services/RetoursdeFondsService.d.ts +0 -28
- package/dist/generated/services/RetoursdeFondsService.js +0 -37
- package/dist/index.js +0 -23
- package/dist/query-builder.d.ts +0 -91
- package/dist/query-builder.js +0 -187
- package/dist/sdk.d.ts +0 -88
- package/dist/sdk.js +0 -107
- package/dist/services/alias.d.ts +0 -72
- package/dist/services/alias.js +0 -82
- package/dist/services/base.d.ts +0 -9
- package/dist/services/base.js +0 -17
- package/dist/services/comptes.d.ts +0 -149
- package/dist/services/comptes.js +0 -158
- package/dist/services/demandes-annulation.d.ts +0 -97
- package/dist/services/demandes-annulation.js +0 -104
- package/dist/services/demandes-paiement-en-masse.d.ts +0 -139
- package/dist/services/demandes-paiement-en-masse.js +0 -139
- package/dist/services/demandes-paiement.d.ts +0 -144
- package/dist/services/demandes-paiement.js +0 -151
- package/dist/services/paiements-en-masse.d.ts +0 -152
- package/dist/services/paiements-en-masse.js +0 -153
- package/dist/services/paiements.d.ts +0 -135
- package/dist/services/paiements.js +0 -135
- package/dist/services/retours-fonds.d.ts +0 -94
- package/dist/services/retours-fonds.js +0 -100
- package/dist/services/webhooks.d.ts +0 -131
- package/dist/services/webhooks.js +0 -142
- package/dist/types/alias.d.ts +0 -64
- package/dist/types/alias.js +0 -73
- package/dist/utils/constants.d.ts +0 -93
- package/dist/utils/constants.js +0 -93
- package/dist/utils/index.d.ts +0 -60
- package/dist/utils/index.js +0 -115
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Cancellation Requests (Demandes d'Annulation) service wrapper
|
|
3
|
-
*
|
|
4
|
-
* Provides methods for requesting cancellation of sent payments.
|
|
5
|
-
*
|
|
6
|
-
* **Cancellation Rules:**
|
|
7
|
-
* - Can only request cancellation of payments sent by the business
|
|
8
|
-
* - Must be requested within 90 days of original payment
|
|
9
|
-
* - Payee must accept the cancellation for funds to be returned
|
|
10
|
-
* - Payee can reject the cancellation request
|
|
11
|
-
* - Multiple cancellation requests can be sent for the same payment
|
|
12
|
-
*
|
|
13
|
-
* **Cancellation Flow:**
|
|
14
|
-
* 1. Business requests cancellation of a sent payment
|
|
15
|
-
* 2. Payee receives cancellation request
|
|
16
|
-
* 3. Payee can accept (triggers fund return) or reject
|
|
17
|
-
* 4. Business receives notification of payee's decision
|
|
18
|
-
*
|
|
19
|
-
* **Use Cases:**
|
|
20
|
-
* - Payment sent to wrong recipient
|
|
21
|
-
* - Duplicate payment
|
|
22
|
-
* - Service cancellation
|
|
23
|
-
* - Agreement cancellation
|
|
24
|
-
*
|
|
25
|
-
* @example
|
|
26
|
-
* ```typescript
|
|
27
|
-
* // Request cancellation of a sent payment
|
|
28
|
-
* const cancellation = await sdk.demandesAnnulation.create({
|
|
29
|
-
* comptePayeur: 'CIC2344256727788288822',
|
|
30
|
-
* txId: '23552722', // Original payment transaction ID
|
|
31
|
-
* motif: 'CUST' // Cancellation reason code
|
|
32
|
-
* });
|
|
33
|
-
* ```
|
|
34
|
-
*/
|
|
35
|
-
import { BaseService } from './base';
|
|
36
|
-
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
|
-
}
|
|
@@ -1,139 +0,0 @@
|
|
|
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
|
-
}
|
|
@@ -1,139 +0,0 @@
|
|
|
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 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
|
-
async create(request) {
|
|
92
|
-
return this.execute(async () => {
|
|
93
|
-
throw new Error('Service not yet generated. Run "pnpm run generate" first.');
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
/**
|
|
97
|
-
* Get bulk payment request details and status
|
|
98
|
-
*
|
|
99
|
-
* **Response Includes:**
|
|
100
|
-
* - Overall bulk status
|
|
101
|
-
* - Individual request statuses
|
|
102
|
-
* - Accepted/rejected counts
|
|
103
|
-
* - Payment statuses
|
|
104
|
-
*
|
|
105
|
-
* @param instructionId - Bulk instruction ID
|
|
106
|
-
* @returns Bulk payment request details with individual request statuses
|
|
107
|
-
* @throws {PiSpiNotFoundError} If bulk payment request not found
|
|
108
|
-
*/
|
|
109
|
-
async get(instructionId) {
|
|
110
|
-
return this.execute(async () => {
|
|
111
|
-
throw new Error('Service not yet generated. Run "pnpm run generate" first.');
|
|
112
|
-
});
|
|
113
|
-
}
|
|
114
|
-
/**
|
|
115
|
-
* Confirm and send bulk payment requests
|
|
116
|
-
*
|
|
117
|
-
* **Confirmation Process:**
|
|
118
|
-
* - All requests in bulk are sent to recipients
|
|
119
|
-
* - Each recipient receives their individual payment request
|
|
120
|
-
* - Recipients can accept/reject independently
|
|
121
|
-
* - Bulk status updates as recipients respond
|
|
122
|
-
*
|
|
123
|
-
* @param instructionId - Bulk instruction ID
|
|
124
|
-
* @returns Confirmation response
|
|
125
|
-
* @throws {PiSpiNotFoundError} If bulk payment request not found
|
|
126
|
-
* @throws {PiSpiError} If bulk already confirmed
|
|
127
|
-
*
|
|
128
|
-
* @example
|
|
129
|
-
* ```typescript
|
|
130
|
-
* // Confirm and send all requests
|
|
131
|
-
* await sdk.demandesPaiementEnMasse.confirm('BULK-INV-2023-03');
|
|
132
|
-
* ```
|
|
133
|
-
*/
|
|
134
|
-
async confirm(instructionId) {
|
|
135
|
-
return this.execute(async () => {
|
|
136
|
-
throw new Error('Service not yet generated. Run "pnpm run generate" first.');
|
|
137
|
-
});
|
|
138
|
-
}
|
|
139
|
-
}
|
|
@@ -1,144 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Payment Requests (Demandes de Paiement) service wrapper
|
|
3
|
-
*
|
|
4
|
-
* Provides methods for creating and managing payment requests (bills, invoices, etc.).
|
|
5
|
-
*
|
|
6
|
-
* **Payment Request Types:**
|
|
7
|
-
* - **E-commerce** (`categorie: 521`): Online payment requests with 3-minute expiry
|
|
8
|
-
* - **Point of Sale** (`categorie: 500`): Physical store payment requests
|
|
9
|
-
* - **Invoice/Bill** (`categorie: 401`): Invoice payment requests with due dates
|
|
10
|
-
* - **PICO**: Purchase with cash withdrawal (combined purchase + cashback)
|
|
11
|
-
* - **PICASH**: Cash withdrawal only
|
|
12
|
-
*
|
|
13
|
-
* **Payment Request Flow:**
|
|
14
|
-
* 1. Business creates payment request
|
|
15
|
-
* 2. Customer receives request (via alias)
|
|
16
|
-
* 3. Customer can: Accept & Pay Now, Accept & Pay Later, Reject, or Ignore
|
|
17
|
-
* 4. If accepted, payment is processed automatically
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```typescript
|
|
21
|
-
* // Create invoice payment request
|
|
22
|
-
* const request = await sdk.demandesPaiement.create({
|
|
23
|
-
* comptePaye: 'CIC2344256727788288822',
|
|
24
|
-
* payeurAlias: '9b1b3499-3e50-435b-b757-ac7a83d8aa96',
|
|
25
|
-
* montant: 150000,
|
|
26
|
-
* categorie: '401',
|
|
27
|
-
* dateLimitePaiement: '2023-12-31T23:59:59.999Z',
|
|
28
|
-
* motif: 'Facture électricité mars 2023'
|
|
29
|
-
* });
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
import { BaseService } from './base';
|
|
33
|
-
import type { QueryParams } from '../query-builder';
|
|
34
|
-
export declare class DemandesPaiementService extends BaseService {
|
|
35
|
-
/**
|
|
36
|
-
* Create a payment request
|
|
37
|
-
*
|
|
38
|
-
* **Request Types:**
|
|
39
|
-
* - **E-commerce** (`categorie: 521`): Max 3 minutes validity
|
|
40
|
-
* - **POS** (`categorie: 500`): Max 24 hours validity
|
|
41
|
-
* - **Invoice** (`categorie: 401`): Custom due date (up to 90 days)
|
|
42
|
-
*
|
|
43
|
-
* **Confirmation Options:**
|
|
44
|
-
* - `confirmation: false`: Request sent immediately (default for POS)
|
|
45
|
-
* - `confirmation: true`: Returns payer info for verification before sending
|
|
46
|
-
*
|
|
47
|
-
* **Customer Actions:**
|
|
48
|
-
* - Accept & Pay Now: Payment processed immediately
|
|
49
|
-
* - Accept & Pay Later: Payment scheduled (if dateLimiteReponse > 24h)
|
|
50
|
-
* - Reject: Request rejected with reason
|
|
51
|
-
* - Ignore: Request expires after dateLimiteReponse
|
|
52
|
-
*
|
|
53
|
-
* @param request - Payment request creation data
|
|
54
|
-
* @param request.comptePaye - Business account number (payee)
|
|
55
|
-
* @param request.payeurAlias - Customer alias (payer)
|
|
56
|
-
* @param request.montant - Amount in centimes (e.g., 150000 = 1,500 XOF)
|
|
57
|
-
* @param request.categorie - Request category: '500' (POS), '521' (E-commerce), '401' (Invoice)
|
|
58
|
-
* @param request.motif - Payment reason/description
|
|
59
|
-
* @param request.txId - Unique transaction ID (optional)
|
|
60
|
-
* @param request.dateLimitePaiement - Payment due date (required for e-commerce and invoices)
|
|
61
|
-
* @param request.dateLimiteReponse - Response deadline (default: 90 days from creation)
|
|
62
|
-
* @param request.confirmation - Whether to require confirmation (default: false for POS, true for invoices)
|
|
63
|
-
* @param request.refDocType - Reference document type (e.g., 'CINV' for invoice)
|
|
64
|
-
* @param request.refDocNumero - Reference document number (e.g., invoice number)
|
|
65
|
-
* @returns Payment request response
|
|
66
|
-
* @throws {PiSpiValidationError} If request fails validation
|
|
67
|
-
*
|
|
68
|
-
* @example
|
|
69
|
-
* ```typescript
|
|
70
|
-
* // E-commerce payment request (3-minute expiry)
|
|
71
|
-
* await sdk.demandesPaiement.create({
|
|
72
|
-
* comptePaye: 'CIC2344256727788288822',
|
|
73
|
-
* payeurAlias: '9b1b3499-3e50-435b-b757-ac7a83d8aa96',
|
|
74
|
-
* montant: 25000, // 250 XOF
|
|
75
|
-
* categorie: '521',
|
|
76
|
-
* dateLimitePaiement: '2023-02-21T15:37:00.000Z', // 3 minutes from now
|
|
77
|
-
* motif: 'Paiement du livre Manuel des écritures comptables'
|
|
78
|
-
* });
|
|
79
|
-
*
|
|
80
|
-
* // Invoice payment request
|
|
81
|
-
* await sdk.demandesPaiement.create({
|
|
82
|
-
* comptePaye: 'CIC2344256727788288822',
|
|
83
|
-
* payeurAlias: '9b1b3499-3e50-435b-b757-ac7a83d8aa96',
|
|
84
|
-
* montant: 150000, // 1,500 XOF
|
|
85
|
-
* categorie: '401',
|
|
86
|
-
* dateLimitePaiement: '2023-12-31T23:59:59.999Z',
|
|
87
|
-
* motif: 'Facture électricité mars 2023',
|
|
88
|
-
* refDocType: 'CINV',
|
|
89
|
-
* refDocNumero: 'FACT-ELEC-202303',
|
|
90
|
-
* confirmation: true
|
|
91
|
-
* });
|
|
92
|
-
* ```
|
|
93
|
-
*/
|
|
94
|
-
create(request: {
|
|
95
|
-
comptePaye: string;
|
|
96
|
-
payeurAlias: string;
|
|
97
|
-
montant: number;
|
|
98
|
-
categorie: string;
|
|
99
|
-
motif: string;
|
|
100
|
-
txId?: string;
|
|
101
|
-
dateLimitePaiement?: string;
|
|
102
|
-
dateLimiteReponse?: string;
|
|
103
|
-
confirmation?: boolean;
|
|
104
|
-
refDocType?: string;
|
|
105
|
-
refDocNumero?: string;
|
|
106
|
-
}): Promise<never>;
|
|
107
|
-
/**
|
|
108
|
-
* List payment requests with filtering and pagination
|
|
109
|
-
*
|
|
110
|
-
* @param params - Query parameters for filtering and pagination
|
|
111
|
-
* @returns Paginated list of payment requests
|
|
112
|
-
*/
|
|
113
|
-
list(params?: QueryParams): Promise<never>;
|
|
114
|
-
/**
|
|
115
|
-
* Get payment request details
|
|
116
|
-
*
|
|
117
|
-
* @param id - Payment request transaction ID
|
|
118
|
-
* @returns Payment request details
|
|
119
|
-
* @throws {PiSpiNotFoundError} If request not found
|
|
120
|
-
*/
|
|
121
|
-
get(id: string): Promise<never>;
|
|
122
|
-
/**
|
|
123
|
-
* Accept a payment request
|
|
124
|
-
*
|
|
125
|
-
* **Note:** This is typically called by the customer's payment app, not the business.
|
|
126
|
-
* The business receives notification when customer accepts.
|
|
127
|
-
*
|
|
128
|
-
* @param id - Payment request transaction ID
|
|
129
|
-
* @param immediate - Whether to pay immediately (true) or schedule payment (false)
|
|
130
|
-
* @returns Payment confirmation response
|
|
131
|
-
*/
|
|
132
|
-
accept(id: string, immediate?: boolean): Promise<never>;
|
|
133
|
-
/**
|
|
134
|
-
* Reject a payment request
|
|
135
|
-
*
|
|
136
|
-
* **Note:** This is typically called by the customer's payment app, not the business.
|
|
137
|
-
* The business receives notification when customer rejects.
|
|
138
|
-
*
|
|
139
|
-
* @param id - Payment request transaction ID
|
|
140
|
-
* @param reason - Rejection reason code (optional)
|
|
141
|
-
* @returns Rejection confirmation response
|
|
142
|
-
*/
|
|
143
|
-
reject(id: string, reason?: string): Promise<never>;
|
|
144
|
-
}
|
|
@@ -1,151 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Payment Requests (Demandes de Paiement) service wrapper
|
|
3
|
-
*
|
|
4
|
-
* Provides methods for creating and managing payment requests (bills, invoices, etc.).
|
|
5
|
-
*
|
|
6
|
-
* **Payment Request Types:**
|
|
7
|
-
* - **E-commerce** (`categorie: 521`): Online payment requests with 3-minute expiry
|
|
8
|
-
* - **Point of Sale** (`categorie: 500`): Physical store payment requests
|
|
9
|
-
* - **Invoice/Bill** (`categorie: 401`): Invoice payment requests with due dates
|
|
10
|
-
* - **PICO**: Purchase with cash withdrawal (combined purchase + cashback)
|
|
11
|
-
* - **PICASH**: Cash withdrawal only
|
|
12
|
-
*
|
|
13
|
-
* **Payment Request Flow:**
|
|
14
|
-
* 1. Business creates payment request
|
|
15
|
-
* 2. Customer receives request (via alias)
|
|
16
|
-
* 3. Customer can: Accept & Pay Now, Accept & Pay Later, Reject, or Ignore
|
|
17
|
-
* 4. If accepted, payment is processed automatically
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```typescript
|
|
21
|
-
* // Create invoice payment request
|
|
22
|
-
* const request = await sdk.demandesPaiement.create({
|
|
23
|
-
* comptePaye: 'CIC2344256727788288822',
|
|
24
|
-
* payeurAlias: '9b1b3499-3e50-435b-b757-ac7a83d8aa96',
|
|
25
|
-
* montant: 150000,
|
|
26
|
-
* categorie: '401',
|
|
27
|
-
* dateLimitePaiement: '2023-12-31T23:59:59.999Z',
|
|
28
|
-
* motif: 'Facture électricité mars 2023'
|
|
29
|
-
* });
|
|
30
|
-
* ```
|
|
31
|
-
*/
|
|
32
|
-
import { BaseService } from './base';
|
|
33
|
-
export class DemandesPaiementService extends BaseService {
|
|
34
|
-
/**
|
|
35
|
-
* Create a payment request
|
|
36
|
-
*
|
|
37
|
-
* **Request Types:**
|
|
38
|
-
* - **E-commerce** (`categorie: 521`): Max 3 minutes validity
|
|
39
|
-
* - **POS** (`categorie: 500`): Max 24 hours validity
|
|
40
|
-
* - **Invoice** (`categorie: 401`): Custom due date (up to 90 days)
|
|
41
|
-
*
|
|
42
|
-
* **Confirmation Options:**
|
|
43
|
-
* - `confirmation: false`: Request sent immediately (default for POS)
|
|
44
|
-
* - `confirmation: true`: Returns payer info for verification before sending
|
|
45
|
-
*
|
|
46
|
-
* **Customer Actions:**
|
|
47
|
-
* - Accept & Pay Now: Payment processed immediately
|
|
48
|
-
* - Accept & Pay Later: Payment scheduled (if dateLimiteReponse > 24h)
|
|
49
|
-
* - Reject: Request rejected with reason
|
|
50
|
-
* - Ignore: Request expires after dateLimiteReponse
|
|
51
|
-
*
|
|
52
|
-
* @param request - Payment request creation data
|
|
53
|
-
* @param request.comptePaye - Business account number (payee)
|
|
54
|
-
* @param request.payeurAlias - Customer alias (payer)
|
|
55
|
-
* @param request.montant - Amount in centimes (e.g., 150000 = 1,500 XOF)
|
|
56
|
-
* @param request.categorie - Request category: '500' (POS), '521' (E-commerce), '401' (Invoice)
|
|
57
|
-
* @param request.motif - Payment reason/description
|
|
58
|
-
* @param request.txId - Unique transaction ID (optional)
|
|
59
|
-
* @param request.dateLimitePaiement - Payment due date (required for e-commerce and invoices)
|
|
60
|
-
* @param request.dateLimiteReponse - Response deadline (default: 90 days from creation)
|
|
61
|
-
* @param request.confirmation - Whether to require confirmation (default: false for POS, true for invoices)
|
|
62
|
-
* @param request.refDocType - Reference document type (e.g., 'CINV' for invoice)
|
|
63
|
-
* @param request.refDocNumero - Reference document number (e.g., invoice number)
|
|
64
|
-
* @returns Payment request response
|
|
65
|
-
* @throws {PiSpiValidationError} If request fails validation
|
|
66
|
-
*
|
|
67
|
-
* @example
|
|
68
|
-
* ```typescript
|
|
69
|
-
* // E-commerce payment request (3-minute expiry)
|
|
70
|
-
* await sdk.demandesPaiement.create({
|
|
71
|
-
* comptePaye: 'CIC2344256727788288822',
|
|
72
|
-
* payeurAlias: '9b1b3499-3e50-435b-b757-ac7a83d8aa96',
|
|
73
|
-
* montant: 25000, // 250 XOF
|
|
74
|
-
* categorie: '521',
|
|
75
|
-
* dateLimitePaiement: '2023-02-21T15:37:00.000Z', // 3 minutes from now
|
|
76
|
-
* motif: 'Paiement du livre Manuel des écritures comptables'
|
|
77
|
-
* });
|
|
78
|
-
*
|
|
79
|
-
* // Invoice payment request
|
|
80
|
-
* await sdk.demandesPaiement.create({
|
|
81
|
-
* comptePaye: 'CIC2344256727788288822',
|
|
82
|
-
* payeurAlias: '9b1b3499-3e50-435b-b757-ac7a83d8aa96',
|
|
83
|
-
* montant: 150000, // 1,500 XOF
|
|
84
|
-
* categorie: '401',
|
|
85
|
-
* dateLimitePaiement: '2023-12-31T23:59:59.999Z',
|
|
86
|
-
* motif: 'Facture électricité mars 2023',
|
|
87
|
-
* refDocType: 'CINV',
|
|
88
|
-
* refDocNumero: 'FACT-ELEC-202303',
|
|
89
|
-
* confirmation: true
|
|
90
|
-
* });
|
|
91
|
-
* ```
|
|
92
|
-
*/
|
|
93
|
-
async create(request) {
|
|
94
|
-
return this.execute(async () => {
|
|
95
|
-
throw new Error('Service not yet generated. Run "pnpm run generate" first.');
|
|
96
|
-
});
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* List payment requests with filtering and pagination
|
|
100
|
-
*
|
|
101
|
-
* @param params - Query parameters for filtering and pagination
|
|
102
|
-
* @returns Paginated list of payment requests
|
|
103
|
-
*/
|
|
104
|
-
async list(params) {
|
|
105
|
-
return this.execute(async () => {
|
|
106
|
-
throw new Error('Service not yet generated. Run "pnpm run generate" first.');
|
|
107
|
-
});
|
|
108
|
-
}
|
|
109
|
-
/**
|
|
110
|
-
* Get payment request details
|
|
111
|
-
*
|
|
112
|
-
* @param id - Payment request transaction ID
|
|
113
|
-
* @returns Payment request details
|
|
114
|
-
* @throws {PiSpiNotFoundError} If request not found
|
|
115
|
-
*/
|
|
116
|
-
async get(id) {
|
|
117
|
-
return this.execute(async () => {
|
|
118
|
-
throw new Error('Service not yet generated. Run "pnpm run generate" first.');
|
|
119
|
-
});
|
|
120
|
-
}
|
|
121
|
-
/**
|
|
122
|
-
* Accept a payment request
|
|
123
|
-
*
|
|
124
|
-
* **Note:** This is typically called by the customer's payment app, not the business.
|
|
125
|
-
* The business receives notification when customer accepts.
|
|
126
|
-
*
|
|
127
|
-
* @param id - Payment request transaction ID
|
|
128
|
-
* @param immediate - Whether to pay immediately (true) or schedule payment (false)
|
|
129
|
-
* @returns Payment confirmation response
|
|
130
|
-
*/
|
|
131
|
-
async accept(id, immediate = true) {
|
|
132
|
-
return this.execute(async () => {
|
|
133
|
-
throw new Error('Service not yet generated. Run "pnpm run generate" first.');
|
|
134
|
-
});
|
|
135
|
-
}
|
|
136
|
-
/**
|
|
137
|
-
* Reject a payment request
|
|
138
|
-
*
|
|
139
|
-
* **Note:** This is typically called by the customer's payment app, not the business.
|
|
140
|
-
* The business receives notification when customer rejects.
|
|
141
|
-
*
|
|
142
|
-
* @param id - Payment request transaction ID
|
|
143
|
-
* @param reason - Rejection reason code (optional)
|
|
144
|
-
* @returns Rejection confirmation response
|
|
145
|
-
*/
|
|
146
|
-
async reject(id, reason) {
|
|
147
|
-
return this.execute(async () => {
|
|
148
|
-
throw new Error('Service not yet generated. Run "pnpm run generate" first.');
|
|
149
|
-
});
|
|
150
|
-
}
|
|
151
|
-
}
|