pawapay-sdk 0.1.5 → 1.0.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/README.md +134 -112
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +2161 -1088
- package/package.json +8 -6
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# PawaPay SDK for Node.js
|
|
2
2
|
|
|
3
3
|
<p align="center">
|
|
4
|
-
<img src="https://
|
|
4
|
+
<img src="https://cdn.prod.website-files.com/62824591015aa314fd308df1/66cf1b87a6a22a3cb5511621_Logo-3.svg" alt="pawaPay Logo" width="220"/>
|
|
5
5
|
</p>
|
|
6
6
|
|
|
7
7
|
<p align="center">
|
|
@@ -16,23 +16,25 @@
|
|
|
16
16
|
[](https://github.com/jonace-mpelule/pawapay-sdk/issues)
|
|
17
17
|
[](https://github.com/jonace-mpelule/pawapay-sdk/commits/main)
|
|
18
18
|
|
|
19
|
-
A comprehensive TypeScript/JavaScript SDK for integrating with the pawaPay API, enabling seamless mobile money operations
|
|
19
|
+
A comprehensive TypeScript/JavaScript SDK for integrating with the pawaPay API, enabling seamless mobile money operations. This SDK supports the latest **API Version 2**.
|
|
20
20
|
|
|
21
21
|
## Features
|
|
22
22
|
- **Deposits**: Initiate, check status, and manage deposit transactions.
|
|
23
23
|
- **Payouts**: Send single or bulk payouts, check payout status, resend callbacks, and cancel enqueued payouts.
|
|
24
|
-
- **Refunds**:
|
|
25
|
-
- **
|
|
24
|
+
- **Refunds**: Initiate refunds, check refund status, and resend refund callbacks.
|
|
25
|
+
- **Remittances**: Initiate cross-border remittances, check status, and manage callbacks.
|
|
26
|
+
- **Wallets**: Retrieve wallet balances.
|
|
27
|
+
- **Statements**: Request financial statements and check their generation status.
|
|
26
28
|
- **Payment Pages**: Generate hosted payment pages for customer payments.
|
|
27
|
-
- **Toolkit**: Access configuration, available
|
|
29
|
+
- **Toolkit**: Access configuration, available providers, provider prediction, and public keys.
|
|
28
30
|
|
|
29
31
|
## Installation
|
|
30
32
|
```bash
|
|
31
|
-
npm install pawapay-sdk
|
|
33
|
+
npm install pawapay-sdk@latest
|
|
32
34
|
```
|
|
33
35
|
|
|
34
36
|
## Generating UUIDs for Transaction IDs
|
|
35
|
-
You can generate UUIDs for `depositId`, `payoutId`,
|
|
37
|
+
You can generate UUIDs for `depositId`, `payoutId`, `refundId`, etc., using the [uuid](https://www.npmjs.com/package/uuid) package (version 4):
|
|
36
38
|
|
|
37
39
|
```bash
|
|
38
40
|
npm install uuid
|
|
@@ -43,15 +45,21 @@ import { v4 as uuidv4 } from 'uuid';
|
|
|
43
45
|
|
|
44
46
|
const depositId = uuidv4();
|
|
45
47
|
const payoutId = uuidv4();
|
|
46
|
-
const refundId = uuidv4();
|
|
47
48
|
```
|
|
48
49
|
|
|
49
50
|
## Usage
|
|
51
|
+
Initialize the client with your API Key and configuration.
|
|
52
|
+
|
|
50
53
|
```typescript
|
|
51
|
-
import {
|
|
54
|
+
import { createPawaPayClient } from 'pawapay-sdk';
|
|
52
55
|
|
|
53
|
-
const client =
|
|
56
|
+
const client = createPawaPayClient('YOUR_API_KEY', {
|
|
57
|
+
apiVersion: 'v2',
|
|
58
|
+
environment: 'sandbox', // or 'live'
|
|
59
|
+
});
|
|
54
60
|
```
|
|
61
|
+
_‼️ **Note**: V1 is deprecated. Please migrate to V2 for the latest features and support._
|
|
62
|
+
|
|
55
63
|
|
|
56
64
|
## API Reference & Examples
|
|
57
65
|
|
|
@@ -59,43 +67,60 @@ const client = new PawaPayClient('YOUR_API_KEY', { environment: 'sandbox' });
|
|
|
59
67
|
- **requestDeposit(data, options?)**: Initiate a deposit.
|
|
60
68
|
```typescript
|
|
61
69
|
import { v4 as uuidv4 } from 'uuid';
|
|
62
|
-
|
|
70
|
+
import type { DepositConfig_v2 } from "pawapay-sdk";
|
|
71
|
+
|
|
72
|
+
const depositConfig: DepositConfig_v2 = {
|
|
63
73
|
depositId: uuidv4(),
|
|
64
|
-
amount:
|
|
65
|
-
currency:
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
74
|
+
amount: "100.00",
|
|
75
|
+
currency: "MWK",
|
|
76
|
+
payer: {
|
|
77
|
+
type: "MMO",
|
|
78
|
+
accountDetails: {
|
|
79
|
+
phoneNumber: "+265999644321",
|
|
80
|
+
provider: "AIRTEL_MWI",
|
|
81
|
+
},
|
|
82
|
+
},
|
|
83
|
+
customerMessage: "Payment for order #123",
|
|
84
|
+
metadata: [
|
|
85
|
+
{
|
|
86
|
+
orderId: "or_213243455332",
|
|
87
|
+
},
|
|
88
|
+
],
|
|
72
89
|
};
|
|
73
|
-
|
|
90
|
+
|
|
91
|
+
const deposit = await client.requestDeposit(depositConfig);
|
|
74
92
|
```
|
|
75
93
|
- **checkDepositStatus(depositId, options?)**: Get status of a deposit.
|
|
76
94
|
```typescript
|
|
77
|
-
const statusResponse = await client.checkDepositStatus(
|
|
95
|
+
const statusResponse = await client.checkDepositStatus("DEPOSIT_ID_UUID");
|
|
78
96
|
```
|
|
79
97
|
- **resendDepositCallback(depositId, options?)**: Resend deposit callback.
|
|
80
98
|
```typescript
|
|
81
|
-
const resendResponse = await client.resendDepositCallback(
|
|
99
|
+
const resendResponse = await client.resendDepositCallback("DEPOSIT_ID_UUID");
|
|
82
100
|
```
|
|
83
101
|
|
|
84
102
|
### Payouts
|
|
85
103
|
- **requestPayout(data, options?)**: Initiate a payout.
|
|
86
104
|
```typescript
|
|
87
105
|
import { v4 as uuidv4 } from 'uuid';
|
|
88
|
-
|
|
106
|
+
import type { RequestPayoutConfig_v2 } from "pawapay-sdk";
|
|
107
|
+
|
|
108
|
+
const payoutConfig: RequestPayoutConfig_v2 = {
|
|
89
109
|
payoutId: uuidv4(),
|
|
90
110
|
amount: '50.00',
|
|
91
111
|
currency: 'MWK',
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
112
|
+
recipient: {
|
|
113
|
+
type: "MMO",
|
|
114
|
+
accountDetails: {
|
|
115
|
+
phoneNumber: "265991234567",
|
|
116
|
+
provider: "AIRTEL_MWI"
|
|
117
|
+
}
|
|
118
|
+
},
|
|
119
|
+
customerMessage: 'Payout for service',
|
|
120
|
+
clientReferenceId: 'REF-12345',
|
|
97
121
|
metadata: []
|
|
98
122
|
};
|
|
123
|
+
|
|
99
124
|
const payoutResponse = await client.requestPayout(payoutConfig);
|
|
100
125
|
```
|
|
101
126
|
- **checkPayoutStatus(payoutId, options?)**: Get payout status.
|
|
@@ -110,76 +135,117 @@ const resendPayout = await client.resendPayoutCallback(payoutConfig.payoutId);
|
|
|
110
135
|
```typescript
|
|
111
136
|
const cancelResponse = await client.cancelEnqueuedPayout(payoutConfig.payoutId);
|
|
112
137
|
```
|
|
113
|
-
- **
|
|
138
|
+
- **initiateBulkPayout(data[], options?)**: Send multiple payouts in bulk.
|
|
114
139
|
```typescript
|
|
140
|
+
// Takes an array of RequestPayoutConfig_v2
|
|
115
141
|
const bulkPayouts = [payoutConfig, { ...payoutConfig, payoutId: uuidv4() }];
|
|
116
|
-
const bulkResponse = await client.
|
|
142
|
+
const bulkResponse = await client.initiateBulkPayout(bulkPayouts);
|
|
117
143
|
```
|
|
118
144
|
|
|
119
145
|
### Refunds
|
|
120
|
-
- **
|
|
146
|
+
- **initiateRefund(data, options?)**: Request a refund.
|
|
121
147
|
```typescript
|
|
122
148
|
import { v4 as uuidv4 } from 'uuid';
|
|
123
|
-
|
|
149
|
+
import type { RequestRefundConfig_v2 } from "pawapay-sdk";
|
|
150
|
+
|
|
151
|
+
const refundConfig: RequestRefundConfig_v2 = {
|
|
124
152
|
refundId: uuidv4(),
|
|
125
|
-
depositId:
|
|
153
|
+
depositId: "ORIGINAL_DEPOSIT_ID",
|
|
126
154
|
amount: '100.00',
|
|
155
|
+
currency: 'MWK',
|
|
156
|
+
clientReferenceId: 'REF-REFUND-001',
|
|
127
157
|
metadata: [{ fieldName: 'reason', fieldValue: 'Customer request' }]
|
|
128
158
|
};
|
|
129
|
-
|
|
159
|
+
|
|
160
|
+
const refundResponse = await client.initiateRefund(refundConfig);
|
|
130
161
|
```
|
|
131
162
|
- **checkRefundStatus(refundId, options?)**: Get refund status.
|
|
132
163
|
```typescript
|
|
133
|
-
const refundStatus = await client.checkRefundStatus(
|
|
164
|
+
const refundStatus = await client.checkRefundStatus("REFUND_ID_UUID");
|
|
134
165
|
```
|
|
135
166
|
- **resendRefundCallback(refundId, options?)**: Resend refund callback.
|
|
136
167
|
```typescript
|
|
137
|
-
const resendRefund = await client.resendRefundCallback(
|
|
168
|
+
const resendRefund = await client.resendRefundCallback("REFUND_ID_UUID");
|
|
138
169
|
```
|
|
139
170
|
|
|
171
|
+
### Remittances
|
|
172
|
+
- **initiateRemittance(data, options?)**: Initiate a cross-border remittance.
|
|
173
|
+
```typescript
|
|
174
|
+
import type { InitiateRemittanceConfig } from "pawapay-sdk";
|
|
175
|
+
// See type definition for full structure of recipient and sender objects
|
|
176
|
+
const remittanceConfig: InitiateRemittanceConfig = {
|
|
177
|
+
remittanceId: uuidv4(),
|
|
178
|
+
amount: "500.00",
|
|
179
|
+
currency: "ZMW",
|
|
180
|
+
recipient: { /* ... */ },
|
|
181
|
+
sender: { /* ... */ },
|
|
182
|
+
customerMessage: "Family Support",
|
|
183
|
+
metadata: []
|
|
184
|
+
};
|
|
185
|
+
const response = await client.initiateRemittance(remittanceConfig);
|
|
186
|
+
```
|
|
187
|
+
- **checkRemittanceStatus(remittanceId, options?)**
|
|
188
|
+
- **resendRemittanceCallback(remittanceId, options?)**
|
|
189
|
+
- **cancelEnqueuedRemittance(remittanceId, options?)**
|
|
190
|
+
|
|
140
191
|
### Payment Pages
|
|
141
|
-
- **
|
|
192
|
+
- **requestPayPage(data, options?)**: Create a hosted payment page session.
|
|
142
193
|
```typescript
|
|
143
|
-
|
|
194
|
+
import type { RequestPayPageConfig_v2 } from "pawapay-sdk";
|
|
195
|
+
|
|
196
|
+
const payPageConfig: RequestPayPageConfig_v2 = {
|
|
144
197
|
depositId: uuidv4(),
|
|
145
198
|
returnUrl: 'https://merchant.com/paymentProcessed',
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
199
|
+
customerMessage: 'Ticket purchase',
|
|
200
|
+
amountDetails: {
|
|
201
|
+
amount: '20.00',
|
|
202
|
+
currency: 'MWK'
|
|
203
|
+
},
|
|
204
|
+
phoneNumber: '265991234567',
|
|
149
205
|
language: 'EN',
|
|
150
206
|
country: 'MWI',
|
|
151
207
|
reason: 'Event ticket',
|
|
152
208
|
metadata: [{ fieldName: 'eventId', fieldValue: 'E123' }]
|
|
153
209
|
};
|
|
154
|
-
const payPageResponse = await client.
|
|
210
|
+
const payPageResponse = await client.requestPayPage(payPageConfig);
|
|
155
211
|
```
|
|
156
212
|
|
|
157
|
-
###
|
|
158
|
-
- **
|
|
213
|
+
### Statements
|
|
214
|
+
- **requestStatement(data, options?)**: Request a financial statement.
|
|
159
215
|
```typescript
|
|
160
|
-
const
|
|
216
|
+
const statementReq = {
|
|
217
|
+
wallet: { country: "MWI", currency: "MWK", provider: "AIRTEL_MWI" },
|
|
218
|
+
callbackUrl: "https://your-callback.url",
|
|
219
|
+
startDate: "2023-01-01",
|
|
220
|
+
endDate: "2023-01-31",
|
|
221
|
+
compressed: false
|
|
222
|
+
};
|
|
223
|
+
const response = await client.requestStatement(statementReq);
|
|
161
224
|
```
|
|
162
|
-
- **
|
|
225
|
+
- **getStatementStatus(statementId, options?)**: Check generation status.
|
|
226
|
+
|
|
227
|
+
### Wallets
|
|
228
|
+
- **getWalletBalances(options?)**: Get all wallet balances.
|
|
163
229
|
```typescript
|
|
164
|
-
const
|
|
230
|
+
const walletBalances = await client.getWalletBalances({});
|
|
165
231
|
```
|
|
166
232
|
|
|
167
233
|
### Toolkit
|
|
168
|
-
- **getActiveConfiguration(options?)**: Get merchant configuration
|
|
234
|
+
- **getActiveConfiguration(options?)**: Get merchant configuration.
|
|
169
235
|
```typescript
|
|
170
236
|
const config = await client.getActiveConfiguration({});
|
|
171
237
|
```
|
|
172
|
-
- **
|
|
238
|
+
- **getProviderAvailability(options?)**: List available providers and their status.
|
|
173
239
|
```typescript
|
|
174
|
-
const
|
|
240
|
+
const providers = await client.getProviderAvailability({});
|
|
175
241
|
```
|
|
176
|
-
- **
|
|
242
|
+
- **getProviderPrediction(phoneNumber, options?)**: Predict the provider for a phone number.
|
|
177
243
|
```typescript
|
|
178
|
-
const prediction = await client.
|
|
244
|
+
const prediction = await client.getProviderPrediction('265991234567');
|
|
179
245
|
```
|
|
180
|
-
- **
|
|
246
|
+
- **getPublicKeys(options?)**: Retrieve public keys for callback signature verification.
|
|
181
247
|
```typescript
|
|
182
|
-
const publicKeys = await client.
|
|
248
|
+
const publicKeys = await client.getPublicKeys({});
|
|
183
249
|
```
|
|
184
250
|
|
|
185
251
|
## Error Handling
|
|
@@ -197,67 +263,23 @@ if (response.success) {
|
|
|
197
263
|
|
|
198
264
|
## Types
|
|
199
265
|
|
|
200
|
-
The following TypeScript types are exported by the `pawapay-sdk` package
|
|
201
|
-
|
|
202
|
-
- `PawaPayError`
|
|
203
|
-
- `DepositConfig`
|
|
204
|
-
- `DepositResponse`
|
|
205
|
-
- `RequestPayoutConfig`
|
|
206
|
-
- `RequestBulkPayoutConfig`
|
|
207
|
-
- `RequestPayPageConfig`
|
|
208
|
-
- `RequestRefundConfig`
|
|
209
|
-
- `WalletBalance`
|
|
210
|
-
- `PawaPayResponse<T, E>`
|
|
211
|
-
- `BaseRequestPayoutResponse`
|
|
212
|
-
- `RequestBulkPayoutResponse`
|
|
213
|
-
- `RequestPayPageResponse`
|
|
214
|
-
- `RequestRefundResponse`
|
|
215
|
-
- `WalletBalanceResponse`
|
|
216
|
-
- `DepositCallback`
|
|
217
|
-
- `PayoutCallback`
|
|
218
|
-
- `RefundCallback`
|
|
219
|
-
- `PayPageCallback`
|
|
266
|
+
The following TypeScript types are exported by the `pawapay-sdk` package:
|
|
220
267
|
|
|
221
|
-
|
|
268
|
+
- `DepositConfig_v2`, `DepositResponse_v2`, `DepositStatusResponse_v2`
|
|
269
|
+
- `RequestPayoutConfig_v2`, `RequestPayoutResponse_v2`
|
|
270
|
+
- `RequestRefundConfig_v2`, `RequestRefundResponse_v2`
|
|
271
|
+
- `InitiateRemittanceConfig`, `InitiateRemittanceResponse`
|
|
272
|
+
- `RequestPayPageConfig_v2`
|
|
273
|
+
- `RequestStatementConfig`, `RequestStatementResponse_v2`
|
|
274
|
+
- `WalletBalance_v2`
|
|
275
|
+
- `ProviderAvailability_v2`
|
|
276
|
+
- `ProviderPrediction_v2`
|
|
277
|
+
- `PawaPayResponse`, `PawaPayError`
|
|
222
278
|
|
|
223
|
-
|
|
224
|
-
import { DepositConfig, PawaPayResponse, PawaPayError } from "pawapay-sdk";
|
|
225
|
-
```
|
|
226
|
-
|
|
227
|
-
- **checkWalletBalancesByCountry(country, options?)**: Get wallet balances for a specific country.
|
|
228
|
-
```typescript
|
|
229
|
-
const mwBalances = await client.checkWalletBalancesByCountry('MWI', {});
|
|
230
|
-
```
|
|
231
|
-
|
|
232
|
-
### Toolkit
|
|
233
|
-
- **getActiveConfiguration(options?)**: Get merchant configuration and supported correspondents.
|
|
234
|
-
```typescript
|
|
235
|
-
const config = await client.getActiveConfiguration({});
|
|
236
|
-
```
|
|
237
|
-
- **getAvailableCorrespondent(options?)**: List available correspondents and their operational status.
|
|
238
|
-
```typescript
|
|
239
|
-
const correspondents = await client.getAvailableCorrespondent({});
|
|
240
|
-
```
|
|
241
|
-
- **predictCorrespondent(msisdn, options?)**: Predict the correct correspondent for a phone number.
|
|
242
|
-
```typescript
|
|
243
|
-
const prediction = await client.predictCorrespondent('265991234567', {});
|
|
244
|
-
```
|
|
245
|
-
- **getPublicKey(options?)**: Retrieve public keys for callback signature verification.
|
|
246
|
-
```typescript
|
|
247
|
-
const publicKeys = await client.getPublicKey({});
|
|
248
|
-
```
|
|
279
|
+
**Example:**
|
|
249
280
|
|
|
250
|
-
## Error Handling
|
|
251
|
-
All methods return a `PawaPayResponse<T, E>` object:
|
|
252
281
|
```typescript
|
|
253
|
-
|
|
254
|
-
if (response.success) {
|
|
255
|
-
// Access response.data
|
|
256
|
-
console.log('Success:', response.data);
|
|
257
|
-
} else {
|
|
258
|
-
// Access response.error and response.status
|
|
259
|
-
console.error('Error:', response.error, 'Status:', response.status);
|
|
260
|
-
}
|
|
282
|
+
import { DepositConfig_v2, PawaPayResponse, PawaPayError } from "pawapay-sdk";
|
|
261
283
|
```
|
|
262
284
|
|
|
263
285
|
## Environments
|
|
@@ -270,4 +292,4 @@ if (response.success) {
|
|
|
270
292
|
- [GitHub](https://github.com/jonace-mpelule)
|
|
271
293
|
|
|
272
294
|
## License
|
|
273
|
-
MIT
|
|
295
|
+
MIT
|
package/dist/index.cjs
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
var l=Object.create;var u=Object.defineProperty;var d=Object.getOwnPropertyDescriptor;var h=Object.getOwnPropertyNames;var p=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var i=(s,e)=>u(s,"name",{value:e,configurable:!0});var q=(s,e)=>{for(var t in e)u(s,t,{get:e[t],enumerable:!0})},c=(s,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of h(e))!y.call(s,a)&&a!==t&&u(s,a,{get:()=>e[a],enumerable:!(r=d(e,a))||r.enumerable});return s};var m=(s,e,t)=>(t=s!=null?l(p(s)):{},c(e||!s||!s.__esModule?u(t,"default",{value:s,enumerable:!0}):t,s)),T=s=>c(u({},"__esModule",{value:!0}),s);var b={};q(b,{PawaPayClient:()=>o});module.exports=T(b);var n=m(require("axios"),1);var o=class{static{i(this,"PawaPayClient")}apiClient;apiKey;config;constructor(e,t){this.apiKey=e,this.config=t,this.apiClient=n.default.create({baseURL:t?.overrideUrl??t?.environment=="live"?"https://api.pawapay.io":"https://api.sandbox.pawapay.io",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`}})}async request(e,t){try{let r=await this.apiClient.request(e);return{success:!0,data:r.data,status:r.status,headers:r.headers}}catch(r){return n.default.isAxiosError(r)?{success:!1,error:r.response?.data||r.message,status:r.response?.status||500}:{success:!1,error:{errorMessage:"Unknown error occurred"},status:500}}}async requestDeposit(e,{options:t}={}){return this.request({method:"POST",url:"/deposits",data:e},t)}async checkDepositStatus(e,{options:t}={}){return this.request({method:"GET",url:`/deposits/${e}`},t)}async resendDepositCallback(e,{options:t}={}){let r={depositId:e};return this.request({method:"POST",url:"/deposits/resend-callback",data:r},t)}async requestPayout(e,{options:t}={}){return this.request({method:"POST",url:"/payouts",data:e},t)}async checkPayoutStatus(e,{options:t}={}){return this.request({method:"GET",url:`/payouts/${e}`},t)}async resendPayoutCallback(e,{options:t}={}){let r={payoutId:e};return this.request({method:"POST",url:"/payouts/resend-callback",data:r},t)}async cancelEnqueuedPayout(e,{options:t}={}){return this.request({method:"POST",url:`/payouts/fail-enqueued/${e}`},t)}async requestBulkPayout(e,{options:t}={}){return this.request({method:"POST",url:"/payouts/bulk",data:e},t)}async requestRefund(e,{options:t}={}){return this.request({method:"POST",url:"/refunds",data:e},t)}async checkRefundStatus(e,{options:t}={}){return this.request({method:"GET",url:`/refunds/${e}`},t)}async resendRefundCallback(e,{options:t}={}){return this.request({method:"POST",url:"/refund/resend-callback",data:{refundId:e}},t)}async requestPaymentPage(e,{options:t}={}){return this.request({method:"POST",url:"/v1/widget/sessions",data:e})}async checkWalletBalances({options:e}={}){return this.request({method:"GET",url:"/v1/wallet-balances"},e)}async checkWalletBalancesByCountry(e,{options:t}={}){return this.request({method:"GET",url:`/v1/wallet-balances/${e}`})}async getActiveConfiguration({options:e}={}){return this.request({method:"GET",url:"/active-conf"},e)}async getAvailableCorrespondent({options:e}={}){return this.request({method:"GET",url:"/availability"},e)}predictCorrespondent(e,{options:t}={}){let r={msisdn:e};return this.request({method:"GET",url:"/v1/predict-correspondent",data:r},t)}getPublicKey({options:e}={}){return this.request({method:"GET",url:"/public-key/https"},e)}};0&&(module.exports={PawaPayClient});
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`axios`);c=s(c);let l=require(`signale`);l=s(l);async function u(e,t,n){try{let r=await e.request({...t,...n});return{success:!0,data:r.data,status:r.status,headers:r.headers}}catch(e){return c.default.isAxiosError(e)?{success:!1,error:e.response?.data||e.message,status:e.response?.status||500}:{success:!1,error:{errorMessage:`Unknown error occurred`},status:500}}}var d=class{apiClient;constructor(e){this.apiClient=e}async resendDepositCallback(e,t){let n={depositId:e};return u(this.apiClient,{method:`POST`,url:`/deposits/resend-callback`,data:n},t.options)}async requestDeposit(e,t){return u(this.apiClient,{method:`POST`,url:`/deposits`,data:e},t.options)}async checkDepositStatus(e,t){return u(this.apiClient,{method:`GET`,url:`/deposits/${e}`},t.options)}async requestPayout(e,t){return u(this.apiClient,{method:`POST`,url:`/payouts`,data:e},t.options)}async checkPayoutStatus(e,t){return u(this.apiClient,{method:`GET`,url:`/payouts/${e}`},t.options)}async resendPayoutCallback(e,t){let n={payoutId:e};return u(this.apiClient,{method:`POST`,url:`/payouts/resend-callback`,data:n},t.options)}async cancelEnqueuedPayout(e,t){return u(this.apiClient,{method:`POST`,url:`/payouts/fail-enqueued/${e}`},t.options)}async initiateBulkPayout(e,t){return u(this.apiClient,{method:`POST`,url:`/payouts/bulk`,data:e},t.options)}async initiateRefund(e,t){return u(this.apiClient,{method:`POST`,url:`/refunds`,data:e},t.options)}async checkRefundStatus(e,t){return u(this.apiClient,{method:`GET`,url:`/refunds/${e}`},t.options)}async resendRefundCallback(e,t){return u(this.apiClient,{method:`POST`,url:`/refund/resend-callback`,data:{refundId:e}},t.options)}async requestPayPage(e,t){return u(this.apiClient,{method:`POST`,url:`/v1/widget/sessions`,data:e},t.options)}async getWalletBalances(e){return u(this.apiClient,{method:`GET`,url:`/v1/wallet-balances`},e.options)}async getWalletBalancesByCountry(e,t){return u(this.apiClient,{method:`GET`,url:`/v1/wallet-balances/${e}`},t.options)}async getActiveConfiguration(e){return u(this.apiClient,{method:`GET`,url:`/active-conf`},e.options)}async resendDepositCallbackV1(e,t){let n={depositId:e};return u(this.apiClient,{method:`POST`,url:`/deposits/resend-callback`,data:n},t.options)}async getProviderAvailability(e){return u(this.apiClient,{method:`GET`,url:`/availability`},e.options)}async getProviderPrediction(e,t){let n={msisdn:e};return u(this.apiClient,{method:`GET`,url:`/v1/predict-correspondent`,data:n},t.options)}async getPublicKeys(e){return u(this.apiClient,{method:`GET`,url:`/public-key/https`},e.options)}},f={v1:{},v2:{deposits:{requestDeposit:`/deposits`,getDepositStatus:e=>`/deposits/${e}`,resendDepositCallback:e=>`/deposits/resend-callback/${e}`},payouts:{requestPayout:`/payouts`,getPayoutStatus:e=>`/payouts/${e}`,resendPayoutCallback:e=>`/payouts/resend-callback/${e}`,cancelPayout:e=>`/payouts/fail-enqueued/${e}`,initiateBulkPayout:`/payouts/bulk`},refunds:{initiateRefund:`/refunds`,checkRefundStatus:e=>`/refunds/${e}`,resendRefundCallback:e=>`/refunds/resend-callback/${e}`},remittences:{initiateRemittance:`/remittances`,cancelEnqueuedRemittance:e=>`/remittances/fail-enqueued/${e}`,getRemittanceStatus:e=>`/remittances/${e}`,resendRemittenceCallback:e=>`/remittances/resend-callback/${e}`},requestPayPage:`/paymentpage`,financial:{getWalletBalances:`/wallet-balances`,getStatementStatus:e=>`/statements/${e}`,requestStatement:`/statements`},toolkit:{getActiveConfiguration:`/active-conf`,getProviderAvailability:`/availability`,getProviderPrediction:`/predict-provider`,getPublicKeys:`/public-key/http`}}},p=class{apiClient;constructor(e){this.apiClient=e}requestDeposit(e,t){return u(this.apiClient,{method:`POST`,url:f.v2.deposits.requestDeposit,data:e},t.options)}checkDepositStatus(e,t){return u(this.apiClient,{method:`GET`,url:f.v2.deposits.getDepositStatus(e)},t.options)}async resendDepositCallback(e,t){return u(this.apiClient,{method:`POST`,url:f.v2.deposits.resendDepositCallback(e)},t.options)}async requestPayout(e,t){return u(this.apiClient,{method:`POST`,data:e,url:f.v2.payouts.requestPayout},t.options)}async checkPayoutStatus(e,t){return u(this.apiClient,{method:`GET`,url:`/payouts/${e}`},t.options)}async cancelEnqueuedPayout(e,t){return u(this.apiClient,{method:`DELETE`,url:f.v2.payouts.cancelPayout(e)},t.options)}async resendPayoutCallback(e,t){return u(this.apiClient,{method:`POST`,url:`/payouts/${e}/resend-callback`},t.options)}async initiateBulkPayout(e,t){return u(this.apiClient,{method:`POST`,data:e,url:f.v2.payouts.initiateBulkPayout},t.options)}async initiateRefund(e,t){return u(this.apiClient,{method:`POST`,data:e,url:f.v2.refunds.initiateRefund},t.options)}async checkRefundStatus(e,t){return u(this.apiClient,{method:`GET`,url:f.v2.refunds.checkRefundStatus(e)},t.options)}async resendRefundCallback(e,t){return u(this.apiClient,{method:`POST`,url:f.v2.refunds.resendRefundCallback(e)},t.options)}async initiateRemittance(e,t){return u(this.apiClient,{method:`POST`,data:e,url:f.v2.remittences.initiateRemittance},t.options)}async resendRemittanceCallback(e,t){return u(this.apiClient,{method:`POST`,url:f.v2.remittences.resendRemittenceCallback(e)},t.options)}async checkRemittanceStatus(e,t){return u(this.apiClient,{method:`GET`,url:f.v2.remittences.getRemittanceStatus(e)},t.options)}async cancelEnqueuedRemittance(e,t){return u(this.apiClient,{method:`POST`,url:f.v2.remittences.cancelEnqueuedRemittance(e)},t.options)}async requestPayPage(e,t){return u(this.apiClient,{method:`POST`,data:e,url:f.v2.requestPayPage},t.options)}async getWalletBalances(e){return u(this.apiClient,{method:`GET`,url:f.v2.financial.getWalletBalances},e.options)}async requestStatement(e,t){return u(this.apiClient,{method:`POST`,url:f.v2.financial.requestStatement,data:e},t.options)}async getStatementStatus(e,t){return u(this.apiClient,{method:`GET`,url:f.v2.financial.getStatementStatus(e)},t.options)}async getActiveConfiguration(e){return u(this.apiClient,{method:`GET`,url:f.v2.toolkit.getActiveConfiguration},e.options)}async getProviderAvailability(e){return u(this.apiClient,{method:`GET`,url:f.v2.toolkit.getProviderAvailability},e.options)}async getProviderPrediction(e,t){return u(this.apiClient,{method:`POST`,data:{phoneNumber:e},url:f.v2.toolkit.getProviderPrediction},t.options)}async getPublicKeys(e){return u(this.apiClient,{method:`GET`,url:f.v2.toolkit.getPublicKeys},e.options)}},m=class{apiClient;apiKey;config;v1_Implementation;v2_Implementation;constructor(e,t){this.apiKey=e,this.config={apiVersion:t?.apiVersion??`v2`,...t},this.config.apiVersion===`v1`&&l.default.warn(`⚠️ Pawapay v1 is deprecated. Upgrade to v2.`);let n=this.config.apiVersion===`v2`?this.config.environment===`live`?`https://api.pawapay.io/v2`:`https://api.sandbox.pawapay.io/v2`:this.config.environment===`live`?`https://api.pawapay.io`:`https://api.sandbox.pawapay.io`;this.apiClient=c.default.create({baseURL:n,headers:{"Content-Type":`application/json`,Authorization:`Bearer ${this.apiKey}`}}),this.v1_Implementation=new d(this.apiClient),this.v2_Implementation=new p(this.apiClient),this.config.apiVersion===`v1`&&(this.requestDeposit=this.v1_Implementation.requestDeposit,this.checkDepositStatus=this.v1_Implementation.checkDepositStatus,this.resendDepositCallback=this.v1_Implementation.resendDepositCallback,this.checkPayoutStatus=this.v1_Implementation.checkPayoutStatus,this.requestPayout=this.v1_Implementation.requestPayout,this.cancelEnqueuedPayout=this.v1_Implementation.cancelEnqueuedPayout,this.resendPayoutCallback=this.v1_Implementation.resendPayoutCallback,this.initiateRefund=this.v1_Implementation.initiateRefund,this.initiateBulkPayout=this.v1_Implementation.initiateBulkPayout,this.checkRefundStatus=this.v1_Implementation.checkRefundStatus,this.resendRefundCallback=this.v1_Implementation.resendRefundCallback,this.requestPayPage=this.v1_Implementation.requestPayPage,this.getWalletBalances=this.v1_Implementation.getWalletBalances,this.getWalletBalancesByCountry=this.v1_Implementation.getWalletBalancesByCountry,this.getActiveConfiguration=this.v1_Implementation.getActiveConfiguration,this.getProviderAvailability=this.v1_Implementation.getProviderAvailability,this.getProviderPrediction=this.v1_Implementation.getProviderPrediction,this.getPublicKeys=this.v1_Implementation.getPublicKeys),this.config.apiVersion===`v2`&&(this.requestDeposit=this.v2_Implementation.requestDeposit,this.checkDepositStatus=this.v2_Implementation.checkDepositStatus,this.resendDepositCallback=this.v2_Implementation.resendDepositCallback,this.checkPayoutStatus=this.v2_Implementation.checkPayoutStatus,this.requestPayout=this.v2_Implementation.requestPayout,this.cancelEnqueuedPayout=this.v2_Implementation.cancelEnqueuedPayout,this.resendPayoutCallback=this.v2_Implementation.resendPayoutCallback,this.initiateBulkPayout=this.v2_Implementation.initiateBulkPayout,this.initiateRefund=this.v2_Implementation.initiateRefund,this.checkRefundStatus=this.v2_Implementation.checkRefundStatus,this.resendRefundCallback=this.v2_Implementation.resendRefundCallback,this.initiateRemittance=this.v2_Implementation.initiateRemittance,this.resendRemittanceCallback=this.v2_Implementation.resendRemittanceCallback,this.checkRemittanceStatus=this.v2_Implementation.checkRemittanceStatus,this.cancelEnqueuedRemittance=this.v2_Implementation.cancelEnqueuedRemittance,this.requestPayPage=this.v2_Implementation.requestPayPage,this.getWalletBalances=this.v2_Implementation.getWalletBalances,this.requestStatement=this.v2_Implementation.requestStatement,this.getStatementStatus=this.v2_Implementation.getStatementStatus,this.getActiveConfiguration=this.v2_Implementation.getActiveConfiguration,this.getProviderAvailability=this.v2_Implementation.getProviderAvailability,this.getProviderPrediction=this.v2_Implementation.getProviderPrediction,this.getPublicKeys=this.v2_Implementation.getPublicKeys)}requestDeposit;checkDepositStatus;resendDepositCallback;checkPayoutStatus;requestPayout;cancelEnqueuedPayout;resendPayoutCallback;initiateBulkPayout;initiateRefund;checkRefundStatus;resendRefundCallback;initiateRemittance;resendRemittanceCallback;checkRemittanceStatus;cancelEnqueuedRemittance;requestPayPage;getWalletBalances;getWalletBalancesByCountry;requestStatement;getStatementStatus;getActiveConfiguration;getProviderAvailability;getProviderPrediction;getPublicKeys};function h(e,t){let n=new m(e,{apiVersion:`v1`,environment:t.environment}),r=new m(e,{apiVersion:`v2`,environment:t.environment});return t?.apiVersion===`v1`?{requestDeposit:n.requestDeposit.bind(n),checkDepositStatus:n.checkDepositStatus.bind(n),resendDepositCallback:n.resendDepositCallback.bind(n),requestPayout:n.requestPayout.bind(n),checkPayoutStatus:n.checkPayoutStatus.bind(n),resendPayoutCallback:n.resendPayoutCallback.bind(n),cancelEnqueuedPayout:n.cancelEnqueuedPayout.bind(n),initiateBulkPayout:n.initiateBulkPayout.bind(n),initiateRefund:n.initiateRefund.bind(n),checkRefundStatus:n.checkRefundStatus.bind(n),resendRefundCallback:n.resendRefundCallback.bind(n),requestPayPage:n.requestPayPage.bind(n),getWalletBalances:n.getWalletBalances.bind(n),getWalletBalancesByCountry:n.getWalletBalancesByCountry.bind(n),getActiveConfiguration:n.getActiveConfiguration.bind(n),getProviderAvailability:n.getProviderAvailability.bind(n),getProviderPrediction:n.getProviderPrediction.bind(n),getPublicKeys:n.getPublicKeys.bind(n)}:{requestDeposit:r.requestDeposit.bind(n),checkDepositStatus:r.checkDepositStatus.bind(n),resendDepositCallback:r.resendDepositCallback.bind(n),requestPayout:r.requestPayout.bind(n),checkPayoutStatus:r.checkPayoutStatus.bind(n),resendPayoutCallback:r.resendPayoutCallback.bind(n),cancelEnqueuedPayout:r.cancelEnqueuedPayout.bind(n),initiateBulkPayout:r.initiateBulkPayout.bind(n),initiateRefund:r.initiateRefund.bind(n),checkRefundStatus:r.checkRefundStatus.bind(n),resendRefundCallback:r.resendRefundCallback.bind(n),requestPayPage:r.requestPayPage.bind(n),getWalletBalances:r.getWalletBalances.bind(n),getActiveConfiguration:r.getActiveConfiguration.bind(n),getProviderAvailability:r.getProviderAvailability.bind(n),getProviderPrediction:r.getProviderPrediction.bind(n),getPublicKeys:r.getPublicKeys.bind(n),initiateRemittance:r.initiateRemittance.bind(n),resendRemittanceCallback:r.resendRemittanceCallback.bind(n),checkRemittanceStatus:r.checkRemittanceStatus.bind(n),cancelEnqueuedRemittance:r.cancelEnqueuedRemittance.bind(n),requestStatement:r.requestStatement.bind(n),getStatementStatus:r.getStatementStatus.bind(n)}}exports.createPawaPayClient=h;
|
|
2
2
|
//# sourceMappingURL=index.cjs.map
|
package/dist/index.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/client.ts"],"sourcesContent":["export * from \"./client.ts\"\nexport type {\n PawaPayError,\n DepositConfig,\n DepositResponse,\n RequestPayPageConfig,\n RequestPayPageResponse,\n RequestRefundConfig,\n RequestRefundResponse,\n WalletBalance,\n ActiveConfigurationResponse,\n AvailableCorrespondentResponse,\n PredictCorrespondentResponse,\n PublicKeysResponse,\n ResendDepositResponse,\n PayoutCallback,\n PawaPayResponse,\n RequestOptions,\n DepositStatus,\n ResendRefundCallbackResponse,\n RequestPayoutConfig,\n RequestPayoutRespose,\n CheckPayoutStatusResponse,\n CancelEnqueuedPayoutResponse,\n RequestBulkPayoutConfig,\n RequestBuildPayoutResponse,\n ResendPayoutCallbackResponse,\n RefundCallback,\n CheckRefundStatusResponse\n} from \"./types/index.t.ts\"","import axios, { AxiosInstance, AxiosRequestConfig } from 'axios';\nimport {\n DepositConfig,\n PawaPayError,\n DepositResponse,\n PawaPayResponse,\n RequestOptions,\n DepositStatus,\n ResendDepositResponse,\n WalletBalance,\n PublicKeysResponse,\n ActiveConfigurationResponse,\n AvailableCorrespondentResponse,\n PredictCorrespondentResponse,\n RequestPayPageConfig,\n RequestPayPageResponse,\n RequestRefundConfig,\n RequestRefundResponse,\n ResendRefundCallbackResponse,\n RequestPayoutConfig,\n RequestPayoutRespose,\n CheckPayoutStatusResponse,\n CancelEnqueuedPayoutResponse,\n RequestBulkPayoutConfig,\n RequestBuildPayoutResponse,\n ResendPayoutCallbackResponse,\n CheckRefundStatusResponse\n} from './types/index.t.ts';\n\n\n\ntype ClientConfig = {\n environment?: \"live\" | \"sandbox\",\n overrideUrl?: string\n}\n\nexport class PawaPayClient {\n private apiClient: AxiosInstance;\n protected apiKey: string;\n private config?: ClientConfig;\n\n constructor(apiKey: string, config?: ClientConfig,) {\n this.apiKey = apiKey;\n this.config = config\n this.apiClient = axios.create({\n baseURL: config?.overrideUrl ?? config?.environment == \"live\" ? 'https://api.pawapay.io' : 'https://api.sandbox.pawapay.io',\n headers: {\n 'Content-Type': 'application/json',\n 'Authorization': `Bearer ${this.apiKey}`\n }\n });\n }\n\n private async request<T, E>(config: AxiosRequestConfig, options?: RequestOptions)\n : Promise<PawaPayResponse<T, E>> {\n try {\n const response = await this.apiClient.request<T>(config);\n return {\n success: true,\n data: response.data,\n status: response.status,\n headers: response.headers\n }\n } catch (error) {\n if (axios.isAxiosError(error)) {\n return {\n success: false,\n error: error.response?.data || error.message,\n status: error.response?.status || 500\n }\n }\n return {\n success: false,\n error: {\n errorMessage: 'Unknown error occurred'\n } as E,\n status: 500\n };\n }\n }\n\n // --- Deposits\n\n async requestDeposit(data: DepositConfig, { options }: { options?: RequestOptions } = {})\n : Promise<PawaPayResponse<DepositResponse, PawaPayError>> {\n\n return this.request({\n method: 'POST',\n url: '/deposits',\n data,\n }, options)\n }\n\n\n async checkDepositStatus(depositId: string, { options }: { options?: RequestOptions } = {})\n : Promise<PawaPayResponse<DepositStatus[], PawaPayError>> {\n return this.request({\n method: 'GET',\n url: `/deposits/${depositId}`\n }, options)\n }\n\n async resendDepositCallback(depositId: string, { options }: { options?: RequestOptions } = {})\n : Promise<PawaPayResponse<ResendDepositResponse, PawaPayError>> {\n const data = { depositId }\n return this.request({\n method: 'POST',\n url: '/deposits/resend-callback',\n data,\n }, options)\n }\n\n // --- PAYOUTS\n\n async requestPayout(data: RequestPayoutConfig, { options }: { options?: RequestOptions } = {})\n : Promise<PawaPayResponse<RequestPayoutRespose, PawaPayError>> {\n return this.request({\n method: 'POST',\n url: '/payouts',\n data\n }, options)\n }\n\n async checkPayoutStatus(payoutId: string, { options }: { options?: RequestOptions } = {})\n : Promise<PawaPayResponse<CheckPayoutStatusResponse[], PawaPayError>> {\n return this.request({\n method: 'GET',\n url: `/payouts/${payoutId}`\n }, options)\n }\n\n async resendPayoutCallback(payoutId: string, { options }: { options?: RequestOptions } = {})\n : Promise<PawaPayResponse<ResendPayoutCallbackResponse, PawaPayError>> {\n const data = { payoutId }\n return this.request({\n method: 'POST',\n url: '/payouts/resend-callback',\n data\n }, options)\n }\n\n async cancelEnqueuedPayout(payoutId: string, { options }: { options?: RequestOptions } = {})\n : Promise<PawaPayResponse<CancelEnqueuedPayoutResponse, PawaPayError>> {\n return this.request({\n method: 'POST',\n url: `/payouts/fail-enqueued/${payoutId}`,\n }, options)\n }\n\n async requestBulkPayout(data: RequestBulkPayoutConfig[], { options }: { options?: RequestOptions } = {})\n : Promise<PawaPayResponse<RequestBuildPayoutResponse[], PawaPayError>> {\n return this.request({\n method: 'POST',\n url: '/payouts/bulk',\n data,\n }, options)\n }\n\n // --- REFUND\n async requestRefund(refundConfig: RequestRefundConfig, { options }: { options?: RequestOptions } = {})\n : Promise<PawaPayResponse<RequestRefundResponse, PawaPayError>> {\n return this.request({\n method: \"POST\",\n url: '/refunds',\n data: refundConfig\n }, options)\n }\n\n async checkRefundStatus(refundId: string, { options }: { options?: RequestOptions } = {})\n : Promise<PawaPayResponse<CheckRefundStatusResponse[], PawaPayError>> {\n return this.request({\n method: 'GET',\n url: `/refunds/${refundId}`\n }, options)\n }\n\n async resendRefundCallback(refundId: string, { options }: { options?: RequestOptions } = {})\n : Promise<PawaPayResponse<ResendRefundCallbackResponse, PawaPayError>> {\n return this.request({\n method: 'POST',\n url: '/refund/resend-callback',\n data: { refundId }\n }, options)\n }\n\n // --- PAYMENT PAGE\n\n async requestPaymentPage(payload: RequestPayPageConfig, { options }: { options?: RequestOptions } = {})\n : Promise<PawaPayResponse<RequestPayPageResponse, PawaPayError>> {\n return this.request({\n method: 'POST',\n url: '/v1/widget/sessions',\n data: payload\n })\n }\n\n // --- WALLETS\n\n async checkWalletBalances({ options }: { options?: RequestOptions } = {})\n : Promise<PawaPayResponse<WalletBalance, PawaPayError>> {\n return this.request({\n method: 'GET',\n url: '/v1/wallet-balances'\n }, options)\n }\n\n async checkWalletBalancesByCountry(country: string, { options }: { options?: RequestOptions } = {})\n : Promise<PawaPayResponse<WalletBalance, PawaPayError>> {\n return this.request({\n method: 'GET',\n url: `/v1/wallet-balances/${country}`\n })\n }\n\n // --- TOOLKIT\n\n async getActiveConfiguration({ options }: { options?: RequestOptions } = {})\n : Promise<PawaPayResponse<ActiveConfigurationResponse, PawaPayError>> {\n return this.request({\n method: `GET`,\n url: `/active-conf`\n }, options)\n }\n\n async getAvailableCorrespondent({ options }: { options?: RequestOptions } = {})\n : Promise<PawaPayResponse<AvailableCorrespondentResponse[], PawaPayError>> {\n return this.request({\n method: 'GET',\n url: '/availability'\n }, options)\n }\n\n predictCorrespondent(msisdn: string, { options }: { options?: RequestOptions } = {})\n : Promise<PawaPayResponse<PredictCorrespondentResponse, PawaPayError>> {\n const data = { msisdn }\n return this.request({\n method: 'GET',\n url: '/v1/predict-correspondent',\n data\n }, options)\n }\n\n getPublicKey({ options }: { options?: RequestOptions } = {})\n : Promise<PawaPayResponse<PublicKeysResponse[], PawaPayError>> {\n return this.request({\n method: 'GET',\n url: '/public-key/https'\n }, options)\n }\n}"],"mappings":"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","names":["index_exports","__export","PawaPayClient","__toCommonJS","import_axios","PawaPayClient","apiClient","apiKey","config","constructor","axios","create","baseURL","overrideUrl","environment","headers","request","options","response","success","data","status","error","isAxiosError","message","errorMessage","requestDeposit","method","url","checkDepositStatus","depositId","resendDepositCallback","requestPayout","checkPayoutStatus","payoutId","resendPayoutCallback","cancelEnqueuedPayout","requestBulkPayout","requestRefund","refundConfig","checkRefundStatus","refundId","resendRefundCallback","requestPaymentPage","payload","checkWalletBalances","checkWalletBalancesByCountry","country","getActiveConfiguration","getAvailableCorrespondent","predictCorrespondent","msisdn","getPublicKey"]}
|
|
1
|
+
{"version":3,"file":"index.cjs","names":["Endpoints"],"sources":["../src/fn/axios.fn.ts","../src/fn/v1_implementations.ts","../src/helpers/endpoints.ts","../src/fn/v2_implementations.ts","../src/client.ts","../src/types/factory.ts"],"sourcesContent":["import axios, { type AxiosInstance, type AxiosRequestConfig } from \"axios\";\nimport type { PawaPayResponse, RequestOptions } from \"@/types/index.t.ts\";\n\nexport default async function request<T, E>(\n apiInstance: AxiosInstance,\n config: AxiosRequestConfig,\n options?: RequestOptions,\n): Promise<PawaPayResponse<T, E>> {\n try {\n const response = await apiInstance.request<T>({\n ...config,\n ...options,\n });\n return {\n success: true,\n data: response.data,\n status: response.status,\n headers: response.headers,\n };\n } catch (error) {\n if (axios.isAxiosError(error)) {\n return {\n success: false,\n error: error.response?.data || error.message,\n status: error.response?.status || 500,\n };\n }\n return {\n success: false,\n error: {\n errorMessage: \"Unknown error occurred\",\n } as E,\n status: 500,\n };\n }\n}\n","import type { AxiosInstance } from \"axios\";\nimport type {\n ActiveConfigurationResponse,\n AvailableCorrespondentResponse,\n CancelEnqueuedPayoutResponse,\n CheckPayoutStatusResponse,\n CheckRefundStatusResponse,\n DepositConfig,\n DepositResponse,\n DepositStatus,\n PawaPayError,\n PawaPayResponse,\n PredictCorrespondentResponse,\n PublicKeysResponse,\n RequestBuildPayoutResponse,\n RequestBulkPayoutConfig,\n RequestOptions,\n RequestPayoutConfig,\n RequestPayoutRespose,\n RequestPayPageConfig,\n RequestPayPageResponse,\n RequestRefundConfig,\n RequestRefundResponse,\n ResendDepositResponse,\n ResendPayoutCallbackResponse,\n ResendRefundCallbackResponse,\n WalletBalance,\n} from \"@/types/index.t.ts\";\n\nimport type { V1Methods } from \"@/types/methods.t.ts\";\n\nimport request from \"./axios.fn.ts\";\n\nexport default class V1_Implementations implements V1Methods {\n apiClient: AxiosInstance;\n\n constructor(apiClient: AxiosInstance) {\n this.apiClient = apiClient;\n }\n\n async resendDepositCallback(\n depositId: string,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<ResendDepositResponse, PawaPayError>> {\n const data = { depositId };\n return request(\n this.apiClient,\n {\n method: \"POST\",\n url: \"/deposits/resend-callback\",\n data,\n },\n args.options,\n );\n }\n\n async requestDeposit(\n data: DepositConfig,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<DepositResponse, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"POST\",\n url: \"/deposits\",\n data,\n },\n args.options,\n );\n }\n\n async checkDepositStatus(\n depositId: string,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<DepositStatus[], PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"GET\",\n url: `/deposits/${depositId}`,\n },\n args.options,\n );\n }\n\n async requestPayout(\n data: RequestPayoutConfig,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<RequestPayoutRespose, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"POST\",\n url: \"/payouts\",\n data,\n },\n args.options,\n );\n }\n\n async checkPayoutStatus(\n payoutId: string,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<CheckPayoutStatusResponse[], PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"GET\",\n url: `/payouts/${payoutId}`,\n },\n args.options,\n );\n }\n\n async resendPayoutCallback(\n payoutId: string,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<ResendPayoutCallbackResponse, PawaPayError>> {\n const data = { payoutId };\n return request(\n this.apiClient,\n {\n method: \"POST\",\n url: \"/payouts/resend-callback\",\n data,\n },\n args.options,\n );\n }\n\n async cancelEnqueuedPayout(\n payoutId: string,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<CancelEnqueuedPayoutResponse, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"POST\",\n url: `/payouts/fail-enqueued/${payoutId}`,\n },\n args.options,\n );\n }\n\n async initiateBulkPayout(\n data: RequestBulkPayoutConfig[],\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<RequestBuildPayoutResponse[], PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"POST\",\n url: \"/payouts/bulk\",\n data,\n },\n args.options,\n );\n }\n // --- REFUND\n async initiateRefund(\n refundConfig: RequestRefundConfig,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<RequestRefundResponse, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"POST\",\n url: \"/refunds\",\n data: refundConfig,\n },\n args.options,\n );\n }\n async checkRefundStatus(\n refundId: string,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<CheckRefundStatusResponse[], PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"GET\",\n url: `/refunds/${refundId}`,\n },\n args.options,\n );\n }\n\n async resendRefundCallback(\n refundId: string,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<ResendRefundCallbackResponse, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"POST\",\n url: \"/refund/resend-callback\",\n data: { refundId },\n },\n args.options,\n );\n }\n\n // --- PAYMENT PAGE\n\n async requestPayPage(\n payload: RequestPayPageConfig,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<RequestPayPageResponse, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"POST\",\n url: \"/v1/widget/sessions\",\n data: payload,\n },\n args.options,\n );\n }\n // --- WALLETS\n\n async getWalletBalances(args?: {\n options?: RequestOptions;\n }): Promise<PawaPayResponse<WalletBalance, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"GET\",\n url: \"/v1/wallet-balances\",\n },\n args.options,\n );\n }\n\n async getWalletBalancesByCountry(\n country: string,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<WalletBalance, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"GET\",\n url: `/v1/wallet-balances/${country}`,\n },\n args.options,\n );\n }\n\n // --- TOOLKIT\n\n async getActiveConfiguration(args?: {\n options?: RequestOptions;\n }): Promise<PawaPayResponse<ActiveConfigurationResponse, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: `GET`,\n url: `/active-conf`,\n },\n args.options,\n );\n }\n\n async resendDepositCallbackV1(\n depositId: string,\n args?: {\n options?: RequestOptions;\n },\n ): Promise<PawaPayResponse<ResendDepositResponse, PawaPayError>> {\n const data = { depositId };\n return request(\n this.apiClient,\n {\n method: \"POST\",\n url: \"/deposits/resend-callback\",\n data,\n },\n args.options,\n );\n }\n\n async getProviderAvailability(args?: {\n options?: RequestOptions;\n }): Promise<PawaPayResponse<AvailableCorrespondentResponse[], PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"GET\",\n url: \"/availability\",\n },\n args.options,\n );\n }\n\n async getProviderPrediction(\n msisdn: string,\n args?: {\n options?: RequestOptions;\n },\n ): Promise<PawaPayResponse<PredictCorrespondentResponse, PawaPayError>> {\n const data = { msisdn };\n return request(\n this.apiClient,\n {\n method: \"GET\",\n url: \"/v1/predict-correspondent\",\n data,\n },\n args.options,\n );\n }\n\n async getPublicKeys(args?: {\n options?: RequestOptions;\n }): Promise<PawaPayResponse<PublicKeysResponse[], PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"GET\",\n url: \"/public-key/https\",\n },\n args.options,\n );\n }\n}\n","const Endpoints = {\n v1: {},\n v2: {\n deposits: {\n requestDeposit: \"/deposits\",\n getDepositStatus: (depositId: string) => `/deposits/${depositId}`,\n resendDepositCallback: (depositId: string) =>\n `/deposits/resend-callback/${depositId}`,\n },\n\n payouts: {\n requestPayout: \"/payouts\",\n getPayoutStatus: (payoutId: string) => `/payouts/${payoutId}`,\n resendPayoutCallback: (payoutId: string) =>\n `/payouts/resend-callback/${payoutId}`,\n cancelPayout: (payoutId: string) => `/payouts/fail-enqueued/${payoutId}`,\n initiateBulkPayout: \"/payouts/bulk\",\n },\n\n refunds: {\n initiateRefund: \"/refunds\",\n checkRefundStatus: (refundId: string) => `/refunds/${refundId}`,\n resendRefundCallback: (refundId: string) =>\n `/refunds/resend-callback/${refundId}`,\n },\n\n remittences: {\n initiateRemittance: \"/remittances\",\n cancelEnqueuedRemittance: (remittanceId: string) =>\n `/remittances/fail-enqueued/${remittanceId}`,\n getRemittanceStatus: (remittanceId: string) =>\n `/remittances/${remittanceId}`,\n resendRemittenceCallback: (remittanceId: string) =>\n `/remittances/resend-callback/${remittanceId}`,\n },\n\n requestPayPage: \"/paymentpage\",\n\n financial: {\n getWalletBalances: \"/wallet-balances\",\n getStatementStatus: (statementId: string) => `/statements/${statementId}`,\n requestStatement: \"/statements\",\n },\n\n toolkit: {\n getActiveConfiguration: \"/active-conf\",\n getProviderAvailability: \"/availability\",\n getProviderPrediction: \"/predict-provider\",\n getPublicKeys: \"/public-key/http\",\n },\n },\n};\n\nexport default Endpoints;\n","/** biome-ignore-all lint/correctness/noUnusedImports: <''> */\nimport type { AxiosInstance } from \"axios\";\nimport Endpoints from \"@/helpers/endpoints.ts\";\nimport type { ResendDepositCallbackResponse_v2 } from \"@/types/v2/deposits.t.ts\";\nimport type {\n PawaPayError,\n PawaPayResponse,\n PublicKeysResponse,\n RequestOptions,\n RequestPayPageResponse,\n} from \"@/types/index.t.ts\";\nimport type { V2Methods } from \"@/types/methods.t.ts\";\nimport type { ActiveConfiguration } from \"@/types/v2/active-conf.t.ts\";\nimport type {\n DepositConfig_v2,\n DepositResponse_v2,\n DepositStatusResponse_v2,\n} from \"@/types/v2/deposits.t.ts\";\nimport type {\n BulkPayoutResponse_v2,\n CancelEnqueuedPayoutResponse_v2,\n CheckPayoutStatus_v2,\n RequestPayoutConfig_v2,\n RequestPayoutResponse_v2,\n ResendPayoutCallbackResponse_v2,\n} from \"@/types/v2/payouts.t.ts\";\nimport type { RequestPayPageConfig_v2 } from \"@/types/v2/paypage.t.ts\";\nimport type {\n RefundStatusResponse_v2,\n RequestRefundConfig_v2,\n RequestRefundResponse_v2,\n ResendRefundCallbackResponse_v2,\n} from \"@/types/v2/refunds.t.ts\";\nimport type {\n CancelEnqueuedRemittanceResponse,\n CheckRemittanceStatusResponse,\n InitiateRemittanceConfig,\n InitiateRemittanceResponse,\n ResendRemittanceCallbackResponse,\n} from \"@/types/v2/remittence.t.ts\";\nimport type {\n CheckStatementStaus_v2,\n RequestStatementConfig,\n RequestStatementResponse_v2,\n} from \"@/types/v2/statements.t.ts\";\nimport type {\n ProviderAvailability_v2,\n ProviderPrediction_v2,\n WalletBalance_v2,\n} from \"@/types/v2/toolkit.t.ts\";\nimport request from \"./axios.fn.ts\";\n\nexport default class V2_Implementations implements V2Methods {\n apiClient: AxiosInstance;\n\n constructor(apiClient: AxiosInstance) {\n this.apiClient = apiClient;\n }\n\n /**\n * INFO: Deposits\n */\n\n requestDeposit(\n data: DepositConfig_v2,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<DepositResponse_v2, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"POST\",\n url: Endpoints.v2.deposits.requestDeposit,\n data,\n },\n args.options,\n );\n }\n\n checkDepositStatus(\n depositId: string,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<DepositStatusResponse_v2, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"GET\",\n url: Endpoints.v2.deposits.getDepositStatus(depositId),\n },\n args.options,\n );\n }\n\n async resendDepositCallback(\n depositId: string,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<ResendDepositCallbackResponse_v2, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"POST\",\n url: Endpoints.v2.deposits.resendDepositCallback(depositId),\n },\n args.options,\n );\n }\n\n /**\n * INFO: Payouts\n */\n\n async requestPayout(\n data: RequestPayoutConfig_v2,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<RequestPayoutResponse_v2, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"POST\",\n data,\n url: Endpoints.v2.payouts.requestPayout,\n },\n args.options,\n );\n }\n\n async checkPayoutStatus(\n payoutId: string,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<CheckPayoutStatus_v2, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"GET\",\n url: `/payouts/${payoutId}`,\n },\n args.options,\n );\n }\n\n async cancelEnqueuedPayout(\n payoutId: string,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<CancelEnqueuedPayoutResponse_v2, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"DELETE\",\n url: Endpoints.v2.payouts.cancelPayout(payoutId),\n },\n args.options,\n );\n }\n\n async resendPayoutCallback(\n payoutId: string,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<ResendPayoutCallbackResponse_v2, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"POST\",\n url: `/payouts/${payoutId}/resend-callback`,\n },\n args.options,\n );\n }\n\n async initiateBulkPayout(\n data: Array<RequestPayoutConfig_v2>,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<BulkPayoutResponse_v2, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"POST\",\n data,\n url: Endpoints.v2.payouts.initiateBulkPayout,\n },\n args.options,\n );\n }\n\n /**\n * NOTE: Refunds\n */\n\n async initiateRefund(\n data: RequestRefundConfig_v2,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<RequestRefundResponse_v2, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"POST\",\n data,\n url: Endpoints.v2.refunds.initiateRefund,\n },\n args.options,\n );\n }\n\n async checkRefundStatus(\n refundId: string,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<RefundStatusResponse_v2, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"GET\",\n url: Endpoints.v2.refunds.checkRefundStatus(refundId),\n },\n args.options,\n );\n }\n\n async resendRefundCallback(\n refundId: string,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<ResendRefundCallbackResponse_v2, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"POST\",\n url: Endpoints.v2.refunds.resendRefundCallback(refundId),\n },\n args.options,\n );\n }\n\n /**\n * INFO: Remittances\n */\n\n async initiateRemittance(\n data: InitiateRemittanceConfig,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<InitiateRemittanceResponse, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"POST\",\n data,\n url: Endpoints.v2.remittences.initiateRemittance,\n },\n args.options,\n );\n }\n\n async resendRemittanceCallback(\n remittanceId: string,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<ResendRemittanceCallbackResponse, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"POST\",\n url: Endpoints.v2.remittences.resendRemittenceCallback(remittanceId),\n },\n args.options,\n );\n }\n\n async checkRemittanceStatus(\n remittanceId: string,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<CheckRemittanceStatusResponse, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"GET\",\n url: Endpoints.v2.remittences.getRemittanceStatus(remittanceId),\n },\n args.options,\n );\n }\n\n async cancelEnqueuedRemittance(\n remittanceId: string,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<CancelEnqueuedRemittanceResponse, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"POST\",\n url: Endpoints.v2.remittences.cancelEnqueuedRemittance(remittanceId),\n },\n args.options,\n );\n }\n\n /**\n * NOTE: PayPage\n */\n\n async requestPayPage(\n data: RequestPayPageConfig_v2,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<RequestPayPageResponse, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"POST\",\n data,\n url: Endpoints.v2.requestPayPage,\n },\n args.options,\n );\n }\n\n /**\n * NOTE: Financies\n */\n async getWalletBalances(args?: {\n options?: RequestOptions;\n }): Promise<PawaPayResponse<WalletBalance_v2, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"GET\",\n url: Endpoints.v2.financial.getWalletBalances,\n },\n args.options,\n );\n }\n\n async requestStatement(\n data: RequestStatementConfig,\n args?: { options?: RequestOptions },\n ): Promise<PawaPayResponse<RequestStatementResponse_v2, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"POST\",\n url: Endpoints.v2.financial.requestStatement,\n data,\n },\n args.options,\n );\n }\n\n async getStatementStatus(\n statementId: string,\n args?: {\n options?: RequestOptions;\n },\n ): Promise<PawaPayResponse<CheckStatementStaus_v2, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"GET\",\n url: Endpoints.v2.financial.getStatementStatus(statementId),\n },\n args.options,\n );\n }\n\n /**\n * NOTE: ToolKit\n */\n\n async getActiveConfiguration(args?: {\n options?: RequestOptions;\n }): Promise<PawaPayResponse<ActiveConfiguration, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"GET\",\n url: Endpoints.v2.toolkit.getActiveConfiguration,\n },\n args.options,\n );\n }\n\n async getProviderAvailability(args?: {\n options?: RequestOptions;\n }): Promise<PawaPayResponse<ProviderAvailability_v2, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"GET\",\n url: Endpoints.v2.toolkit.getProviderAvailability,\n },\n args.options,\n );\n }\n\n async getProviderPrediction(\n phoneNumber: string,\n args?: {\n options?: RequestOptions;\n },\n ): Promise<PawaPayResponse<ProviderPrediction_v2, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"POST\",\n data: { phoneNumber },\n url: Endpoints.v2.toolkit.getProviderPrediction,\n },\n args.options,\n );\n }\n\n async getPublicKeys(args?: {\n options?: RequestOptions;\n }): Promise<PawaPayResponse<PublicKeysResponse, PawaPayError>> {\n return request(\n this.apiClient,\n {\n method: \"GET\",\n url: Endpoints.v2.toolkit.getPublicKeys,\n },\n args.options,\n );\n }\n}\n","/** biome-ignore-all lint/suspicious/noExplicitAny: <'can use any'> */\nimport axios, { type AxiosInstance } from \"axios\";\nimport signale from \"signale\";\nimport V1_Implementations from \"./fn/v1_implementations.ts\";\nimport V2_Implementations from \"./fn/v2_implementations.ts\";\nimport type { V1Methods, V2Methods } from \"./types/methods.t.ts\";\n\nexport type ApiVersion = \"v1\" | \"v2\";\n\nexport type ClientConfig<T extends ApiVersion> = {\n apiVersion?: T;\n environment?: \"live\" | \"sandbox\";\n};\n\nexport class PawaPayClient<T extends ApiVersion> {\n private apiClient: AxiosInstance;\n protected apiKey: string;\n private config: ClientConfig<T>;\n private v1_Implementation: V1_Implementations;\n private v2_Implementation: V2_Implementations;\n\n constructor(\n apiKey: string,\n config?: ClientConfig<T> & {\n apiVersion: T;\n },\n ) {\n this.apiKey = apiKey;\n this.config = {\n apiVersion: config?.apiVersion ?? \"v2\",\n ...config,\n };\n\n if (this.config.apiVersion === \"v1\") {\n signale.warn(\"⚠️ Pawapay v1 is deprecated. Upgrade to v2.\");\n }\n\n const baseURL =\n this.config.apiVersion === \"v2\"\n ? this.config.environment === \"live\"\n ? \"https://api.pawapay.io/v2\"\n : \"https://api.sandbox.pawapay.io/v2\"\n : this.config.environment === \"live\"\n ? \"https://api.pawapay.io\"\n : \"https://api.sandbox.pawapay.io\";\n\n this.apiClient = axios.create({\n baseURL,\n headers: {\n \"Content-Type\": \"application/json\",\n Authorization: `Bearer ${this.apiKey}`,\n },\n });\n\n this.v1_Implementation = new V1_Implementations(this.apiClient);\n this.v2_Implementation = new V2_Implementations(this.apiClient);\n\n /**\n * NOTE: Register Methods\n */\n\n if (this.config.apiVersion === \"v1\") {\n this.requestDeposit = this.v1_Implementation.requestDeposit as any;\n this.checkDepositStatus = this.v1_Implementation\n .checkDepositStatus as any;\n this.resendDepositCallback = this.v1_Implementation\n .resendDepositCallback as any;\n this.checkPayoutStatus = this.v1_Implementation.checkPayoutStatus as any;\n this.requestPayout = this.v1_Implementation.requestPayout as any;\n this.cancelEnqueuedPayout = this.v1_Implementation\n .cancelEnqueuedPayout as any;\n this.resendPayoutCallback = this.v1_Implementation\n .resendPayoutCallback as any;\n this.initiateRefund = this.v1_Implementation.initiateRefund as any;\n this.initiateBulkPayout = this.v1_Implementation\n .initiateBulkPayout as any;\n this.checkRefundStatus = this.v1_Implementation.checkRefundStatus as any;\n this.resendRefundCallback = this.v1_Implementation\n .resendRefundCallback as any;\n this.requestPayPage = this.v1_Implementation.requestPayPage as any;\n this.getWalletBalances = this.v1_Implementation.getWalletBalances as any;\n this.getWalletBalancesByCountry = this.v1_Implementation\n .getWalletBalancesByCountry as any;\n this.getActiveConfiguration = this.v1_Implementation\n .getActiveConfiguration as any;\n this.getProviderAvailability = this.v1_Implementation\n .getProviderAvailability as any;\n this.getProviderPrediction = this.v1_Implementation\n .getProviderPrediction as any;\n this.getPublicKeys = this.v1_Implementation.getPublicKeys as any;\n }\n\n if (this.config.apiVersion === \"v2\") {\n this.requestDeposit = this.v2_Implementation.requestDeposit as any;\n this.checkDepositStatus = this.v2_Implementation\n .checkDepositStatus as any;\n this.resendDepositCallback = this.v2_Implementation\n .resendDepositCallback as any;\n this.checkPayoutStatus = this.v2_Implementation.checkPayoutStatus as any;\n this.requestPayout = this.v2_Implementation.requestPayout as any;\n this.cancelEnqueuedPayout = this.v2_Implementation\n .cancelEnqueuedPayout as any;\n this.resendPayoutCallback = this.v2_Implementation\n .resendPayoutCallback as any;\n this.initiateBulkPayout = this.v2_Implementation\n .initiateBulkPayout as any;\n this.initiateRefund = this.v2_Implementation.initiateRefund as any;\n this.checkRefundStatus = this.v2_Implementation.checkRefundStatus as any;\n this.resendRefundCallback = this.v2_Implementation\n .resendRefundCallback as any;\n this.initiateRemittance = this.v2_Implementation\n .initiateRemittance as any;\n this.resendRemittanceCallback = this.v2_Implementation\n .resendRemittanceCallback as any;\n this.checkRemittanceStatus = this.v2_Implementation\n .checkRemittanceStatus as any;\n this.cancelEnqueuedRemittance = this.v2_Implementation\n .cancelEnqueuedRemittance as any;\n this.requestPayPage = this.v2_Implementation.requestPayPage as any;\n this.getWalletBalances = this.v2_Implementation.getWalletBalances as any;\n this.requestStatement = this.v2_Implementation.requestStatement as any;\n this.getStatementStatus = this.v2_Implementation\n .getStatementStatus as any;\n this.getActiveConfiguration = this.v2_Implementation\n .getActiveConfiguration as any;\n this.getProviderAvailability = this.v2_Implementation\n .getProviderAvailability as any;\n this.getProviderPrediction = this.v2_Implementation\n .getProviderPrediction as any;\n this.getPublicKeys = this.v2_Implementation.getPublicKeys as any;\n }\n }\n\n requestDeposit!: T extends \"v1\"\n ? V1Methods[\"requestDeposit\"]\n : V2Methods[\"requestDeposit\"];\n\n checkDepositStatus!: T extends \"v1\"\n ? V1Methods[\"checkDepositStatus\"]\n : V2Methods[\"checkDepositStatus\"];\n\n resendDepositCallback!: T extends \"v1\"\n ? V1Methods[\"resendDepositCallback\"]\n : V2Methods[\"resendDepositCallback\"];\n\n checkPayoutStatus!: T extends \"v1\"\n ? V1Methods[\"checkPayoutStatus\"]\n : V2Methods[\"checkPayoutStatus\"];\n\n requestPayout!: T extends \"v1\"\n ? V1Methods[\"requestPayout\"]\n : V2Methods[\"requestPayout\"];\n\n cancelEnqueuedPayout!: T extends \"v1\"\n ? V1Methods[\"cancelEnqueuedPayout\"]\n : V2Methods[\"cancelEnqueuedPayout\"];\n\n resendPayoutCallback!: T extends \"v1\"\n ? V1Methods[\"resendPayoutCallback\"]\n : V2Methods[\"resendPayoutCallback\"];\n\n initiateBulkPayout!: T extends \"v1\"\n ? V1Methods[\"initiateBulkPayout\"]\n : V2Methods[\"initiateBulkPayout\"];\n\n initiateRefund!: T extends \"v1\"\n ? V1Methods[\"initiateRefund\"]\n : V2Methods[\"initiateRefund\"];\n\n checkRefundStatus!: T extends \"v1\"\n ? V1Methods[\"checkRefundStatus\"]\n : V2Methods[\"checkRefundStatus\"];\n\n resendRefundCallback!: T extends \"v1\"\n ? V1Methods[\"resendRefundCallback\"]\n : V2Methods[\"resendRefundCallback\"];\n\n initiateRemittance!: T extends \"v1\" ? never : V2Methods[\"initiateRemittance\"];\n\n resendRemittanceCallback!: T extends \"v1\"\n ? never\n : V2Methods[\"resendRemittanceCallback\"];\n\n checkRemittanceStatus!: T extends \"v1\"\n ? never\n : V2Methods[\"checkRemittanceStatus\"];\n\n cancelEnqueuedRemittance!: T extends \"v1\"\n ? never\n : V2Methods[\"cancelEnqueuedRemittance\"];\n\n requestPayPage!: T extends \"v1\"\n ? V1Methods[\"requestPayPage\"]\n : V2Methods[\"requestPayPage\"];\n\n getWalletBalances!: T extends \"v1\"\n ? V1Methods[\"getWalletBalances\"]\n : V2Methods[\"getWalletBalances\"];\n getWalletBalancesByCountry!: T extends \"v1\"\n ? V1Methods[\"getWalletBalancesByCountry\"]\n : never;\n\n requestStatement!: T extends \"v1\" ? never : V2Methods[\"requestStatement\"];\n\n getStatementStatus!: T extends \"v1\" ? never : V2Methods[\"getStatementStatus\"];\n\n getActiveConfiguration!: T extends \"v1\"\n ? V1Methods[\"getActiveConfiguration\"]\n : V2Methods[\"getActiveConfiguration\"];\n\n getProviderAvailability!: T extends \"v1\"\n ? V1Methods[\"getProviderAvailability\"]\n : V2Methods[\"getProviderAvailability\"];\n\n getProviderPrediction!: T extends \"v1\"\n ? V1Methods[\"getProviderAvailability\"]\n : V2Methods[\"getProviderPrediction\"];\n\n getPublicKeys!: T extends \"v1\"\n ? V1Methods[\"getPublicKeys\"]\n : V2Methods[\"getPublicKeys\"];\n}\n","import { type ClientConfig, PawaPayClient } from \"@/client.ts\";\nimport type { V1Methods, V2Methods } from \"./methods.t.ts\";\n\nexport type PawaPayClientV1 = V1Methods;\nexport type PawaPayClientV2 = V2Methods;\n\nexport function createPawaPayClient(\n apiKey: string,\n config?: ClientConfig<\"v1\"> & { apiVersion?: \"v1\" },\n): PawaPayClientV1;\n\nexport function createPawaPayClient(\n apiKey: string,\n config?: ClientConfig<\"v2\"> & { apiVersion?: \"v2\" },\n): PawaPayClientV2;\n\nexport function createPawaPayClient(\n apiKey: string,\n config: ClientConfig<\"v1\" | \"v2\">,\n) {\n const internalV1 = new PawaPayClient<\"v1\">(apiKey, {\n apiVersion: \"v1\",\n environment: config.environment,\n });\n\n const internalV2 = new PawaPayClient<\"v2\">(apiKey, {\n apiVersion: \"v2\",\n environment: config.environment,\n });\n\n if (config?.apiVersion === \"v1\") {\n /**\n * NOTE: This binds the version 1 functions\n */\n return {\n requestDeposit: internalV1.requestDeposit.bind(internalV1),\n checkDepositStatus: internalV1.checkDepositStatus.bind(internalV1),\n resendDepositCallback: internalV1.resendDepositCallback.bind(internalV1),\n requestPayout: internalV1.requestPayout.bind(internalV1),\n checkPayoutStatus: internalV1.checkPayoutStatus.bind(internalV1),\n resendPayoutCallback: internalV1.resendPayoutCallback.bind(internalV1),\n cancelEnqueuedPayout: internalV1.cancelEnqueuedPayout.bind(internalV1),\n initiateBulkPayout: internalV1.initiateBulkPayout.bind(internalV1),\n initiateRefund: internalV1.initiateRefund.bind(internalV1),\n checkRefundStatus: internalV1.checkRefundStatus.bind(internalV1),\n resendRefundCallback: internalV1.resendRefundCallback.bind(internalV1),\n requestPayPage: internalV1.requestPayPage.bind(internalV1),\n getWalletBalances: internalV1.getWalletBalances.bind(internalV1),\n getWalletBalancesByCountry:\n internalV1.getWalletBalancesByCountry.bind(internalV1),\n getActiveConfiguration:\n internalV1.getActiveConfiguration.bind(internalV1),\n getProviderAvailability:\n internalV1.getProviderAvailability.bind(internalV1),\n getProviderPrediction: internalV1.getProviderPrediction.bind(internalV1),\n getPublicKeys: internalV1.getPublicKeys.bind(internalV1),\n } as PawaPayClientV1;\n } else {\n /**\n * NOTE: This binds the version 2 functions\n */\n return {\n requestDeposit: internalV2.requestDeposit.bind(internalV1),\n checkDepositStatus: internalV2.checkDepositStatus.bind(internalV1),\n resendDepositCallback: internalV2.resendDepositCallback.bind(internalV1),\n requestPayout: internalV2.requestPayout.bind(internalV1),\n checkPayoutStatus: internalV2.checkPayoutStatus.bind(internalV1),\n resendPayoutCallback: internalV2.resendPayoutCallback.bind(internalV1),\n cancelEnqueuedPayout: internalV2.cancelEnqueuedPayout.bind(internalV1),\n initiateBulkPayout: internalV2.initiateBulkPayout.bind(internalV1),\n initiateRefund: internalV2.initiateRefund.bind(internalV1),\n checkRefundStatus: internalV2.checkRefundStatus.bind(internalV1),\n resendRefundCallback: internalV2.resendRefundCallback.bind(internalV1),\n requestPayPage: internalV2.requestPayPage.bind(internalV1),\n getWalletBalances: internalV2.getWalletBalances.bind(internalV1),\n getActiveConfiguration:\n internalV2.getActiveConfiguration.bind(internalV1),\n getProviderAvailability:\n internalV2.getProviderAvailability.bind(internalV1),\n getProviderPrediction: internalV2.getProviderPrediction.bind(internalV1),\n getPublicKeys: internalV2.getPublicKeys.bind(internalV1),\n /**\n * NOTE: Below are version 2 only\n */\n initiateRemittance: internalV2.initiateRemittance.bind(internalV1),\n resendRemittanceCallback:\n internalV2.resendRemittanceCallback.bind(internalV1),\n checkRemittanceStatus: internalV2.checkRemittanceStatus.bind(internalV1),\n cancelEnqueuedRemittance:\n internalV2.cancelEnqueuedRemittance.bind(internalV1),\n requestStatement: internalV2.requestStatement.bind(internalV1),\n getStatementStatus: internalV2.getStatementStatus.bind(internalV1),\n } as PawaPayClientV2;\n }\n}\n"],"mappings":"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"}
|