@nokinc-flur/sdk 1.0.5 → 1.0.6

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/dist/index.d.ts CHANGED
@@ -9,6 +9,776 @@ declare function formatAmount(amountMinor: bigint, currency: string): string;
9
9
  declare function normalizeE164(input: string, defaultCountry?: string): string;
10
10
  declare function moneyMinorToNumber(amountMinor: bigint): number;
11
11
 
12
+ declare const MERCHANT_PROFILE_STATUSES: readonly ["pending", "active", "suspended", "closed"];
13
+ declare const SETTLEMENT_SCHEDULES: readonly ["manual", "daily", "t1"];
14
+ declare const COLLECTION_INTENT_STATUSES: readonly ["created", "pending", "paid", "expired", "cancelled", "failed", "reversed"];
15
+ declare const COLLECTION_PAYMENT_STATUSES: readonly ["pending", "paid", "failed", "reversed"];
16
+ declare const MERCHANT_PAYOUT_STATUSES: readonly ["requested", "processing", "paid", "failed", "cancelled"];
17
+ declare const MerchantProfileSchema: z.ZodObject<{
18
+ accountId: z.ZodString;
19
+ legalName: z.ZodString;
20
+ tradingName: z.ZodString;
21
+ merchantCategoryCode: z.ZodString;
22
+ nqrMerchantId: z.ZodString;
23
+ settlementBankCode: z.ZodString;
24
+ settlementAccountNumber: z.ZodString;
25
+ settlementAccountName: z.ZodString;
26
+ settlementSchedule: z.ZodEnum<["manual", "daily", "t1"]>;
27
+ status: z.ZodEnum<["pending", "active", "suspended", "closed"]>;
28
+ offlineEnabled: z.ZodBoolean;
29
+ perTxLimitKobo: z.ZodNumber;
30
+ dailyLimitKobo: z.ZodNumber;
31
+ metadata: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>;
32
+ createdAtMs: z.ZodNumber;
33
+ updatedAtMs: z.ZodNumber;
34
+ }, "strip", z.ZodTypeAny, {
35
+ status: "pending" | "active" | "suspended" | "closed";
36
+ accountId: string;
37
+ legalName: string;
38
+ tradingName: string;
39
+ merchantCategoryCode: string;
40
+ nqrMerchantId: string;
41
+ settlementBankCode: string;
42
+ settlementAccountNumber: string;
43
+ settlementAccountName: string;
44
+ settlementSchedule: "manual" | "daily" | "t1";
45
+ offlineEnabled: boolean;
46
+ perTxLimitKobo: number;
47
+ dailyLimitKobo: number;
48
+ metadata: Record<string, string | number | boolean | null>;
49
+ createdAtMs: number;
50
+ updatedAtMs: number;
51
+ }, {
52
+ status: "pending" | "active" | "suspended" | "closed";
53
+ accountId: string;
54
+ legalName: string;
55
+ tradingName: string;
56
+ merchantCategoryCode: string;
57
+ nqrMerchantId: string;
58
+ settlementBankCode: string;
59
+ settlementAccountNumber: string;
60
+ settlementAccountName: string;
61
+ settlementSchedule: "manual" | "daily" | "t1";
62
+ offlineEnabled: boolean;
63
+ perTxLimitKobo: number;
64
+ dailyLimitKobo: number;
65
+ metadata: Record<string, string | number | boolean | null>;
66
+ createdAtMs: number;
67
+ updatedAtMs: number;
68
+ }>;
69
+ type MerchantProfile = z.infer<typeof MerchantProfileSchema>;
70
+ declare const UpsertMerchantProfileInputSchema: z.ZodObject<{
71
+ legalName: z.ZodString;
72
+ tradingName: z.ZodString;
73
+ merchantCategoryCode: z.ZodString;
74
+ nqrMerchantId: z.ZodString;
75
+ settlementBankCode: z.ZodString;
76
+ settlementAccountNumber: z.ZodString;
77
+ settlementAccountName: z.ZodString;
78
+ settlementSchedule: z.ZodOptional<z.ZodEnum<["manual", "daily", "t1"]>>;
79
+ status: z.ZodOptional<z.ZodEnum<["pending", "active", "suspended", "closed"]>>;
80
+ offlineEnabled: z.ZodOptional<z.ZodBoolean>;
81
+ perTxLimitKobo: z.ZodOptional<z.ZodNumber>;
82
+ dailyLimitKobo: z.ZodOptional<z.ZodNumber>;
83
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
84
+ }, "strip", z.ZodTypeAny, {
85
+ legalName: string;
86
+ tradingName: string;
87
+ merchantCategoryCode: string;
88
+ nqrMerchantId: string;
89
+ settlementBankCode: string;
90
+ settlementAccountNumber: string;
91
+ settlementAccountName: string;
92
+ status?: "pending" | "active" | "suspended" | "closed" | undefined;
93
+ settlementSchedule?: "manual" | "daily" | "t1" | undefined;
94
+ offlineEnabled?: boolean | undefined;
95
+ perTxLimitKobo?: number | undefined;
96
+ dailyLimitKobo?: number | undefined;
97
+ metadata?: Record<string, string | number | boolean | null> | undefined;
98
+ }, {
99
+ legalName: string;
100
+ tradingName: string;
101
+ merchantCategoryCode: string;
102
+ nqrMerchantId: string;
103
+ settlementBankCode: string;
104
+ settlementAccountNumber: string;
105
+ settlementAccountName: string;
106
+ status?: "pending" | "active" | "suspended" | "closed" | undefined;
107
+ settlementSchedule?: "manual" | "daily" | "t1" | undefined;
108
+ offlineEnabled?: boolean | undefined;
109
+ perTxLimitKobo?: number | undefined;
110
+ dailyLimitKobo?: number | undefined;
111
+ metadata?: Record<string, string | number | boolean | null> | undefined;
112
+ }>;
113
+ type UpsertMerchantProfileInput = z.infer<typeof UpsertMerchantProfileInputSchema>;
114
+ declare const CollectionIntentSchema: z.ZodObject<{
115
+ intentId: z.ZodString;
116
+ accountId: z.ZodString;
117
+ terminalId: z.ZodNullable<z.ZodString>;
118
+ reference: z.ZodString;
119
+ amountKobo: z.ZodNullable<z.ZodNumber>;
120
+ currency: z.ZodString;
121
+ status: z.ZodEnum<["created", "pending", "paid", "expired", "cancelled", "failed", "reversed"]>;
122
+ description: z.ZodNullable<z.ZodString>;
123
+ nqrPayload: z.ZodString;
124
+ provider: z.ZodString;
125
+ providerReference: z.ZodNullable<z.ZodString>;
126
+ metadata: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>;
127
+ expiresAtMs: z.ZodNullable<z.ZodNumber>;
128
+ paidAtMs: z.ZodNullable<z.ZodNumber>;
129
+ createdAtMs: z.ZodNumber;
130
+ updatedAtMs: z.ZodNumber;
131
+ }, "strip", z.ZodTypeAny, {
132
+ status: "pending" | "created" | "paid" | "expired" | "cancelled" | "failed" | "reversed";
133
+ provider: string;
134
+ currency: string;
135
+ accountId: string;
136
+ metadata: Record<string, string | number | boolean | null>;
137
+ createdAtMs: number;
138
+ updatedAtMs: number;
139
+ intentId: string;
140
+ terminalId: string | null;
141
+ reference: string;
142
+ amountKobo: number | null;
143
+ description: string | null;
144
+ nqrPayload: string;
145
+ providerReference: string | null;
146
+ expiresAtMs: number | null;
147
+ paidAtMs: number | null;
148
+ }, {
149
+ status: "pending" | "created" | "paid" | "expired" | "cancelled" | "failed" | "reversed";
150
+ provider: string;
151
+ currency: string;
152
+ accountId: string;
153
+ metadata: Record<string, string | number | boolean | null>;
154
+ createdAtMs: number;
155
+ updatedAtMs: number;
156
+ intentId: string;
157
+ terminalId: string | null;
158
+ reference: string;
159
+ amountKobo: number | null;
160
+ description: string | null;
161
+ nqrPayload: string;
162
+ providerReference: string | null;
163
+ expiresAtMs: number | null;
164
+ paidAtMs: number | null;
165
+ }>;
166
+ type CollectionIntent = z.infer<typeof CollectionIntentSchema>;
167
+ declare const CreateCollectionIntentInputSchema: z.ZodObject<{
168
+ reference: z.ZodOptional<z.ZodString>;
169
+ amountKobo: z.ZodOptional<z.ZodNumber>;
170
+ currency: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
171
+ terminalId: z.ZodOptional<z.ZodString>;
172
+ terminalLabel: z.ZodOptional<z.ZodString>;
173
+ merchantCity: z.ZodOptional<z.ZodString>;
174
+ description: z.ZodOptional<z.ZodString>;
175
+ expiresAtMs: z.ZodOptional<z.ZodNumber>;
176
+ provider: z.ZodOptional<z.ZodString>;
177
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>>;
178
+ }, "strip", z.ZodTypeAny, {
179
+ provider?: string | undefined;
180
+ currency?: string | undefined;
181
+ metadata?: Record<string, string | number | boolean | null> | undefined;
182
+ terminalId?: string | undefined;
183
+ reference?: string | undefined;
184
+ amountKobo?: number | undefined;
185
+ description?: string | undefined;
186
+ expiresAtMs?: number | undefined;
187
+ terminalLabel?: string | undefined;
188
+ merchantCity?: string | undefined;
189
+ }, {
190
+ provider?: string | undefined;
191
+ currency?: string | undefined;
192
+ metadata?: Record<string, string | number | boolean | null> | undefined;
193
+ terminalId?: string | undefined;
194
+ reference?: string | undefined;
195
+ amountKobo?: number | undefined;
196
+ description?: string | undefined;
197
+ expiresAtMs?: number | undefined;
198
+ terminalLabel?: string | undefined;
199
+ merchantCity?: string | undefined;
200
+ }>;
201
+ type CreateCollectionIntentInput = z.infer<typeof CreateCollectionIntentInputSchema>;
202
+ declare const PublicCollectionIntentSchema: z.ZodObject<{
203
+ intentId: z.ZodString;
204
+ reference: z.ZodString;
205
+ amountKobo: z.ZodNullable<z.ZodNumber>;
206
+ currency: z.ZodString;
207
+ status: z.ZodEnum<["created", "pending", "paid", "expired", "cancelled", "failed", "reversed"]>;
208
+ merchantAccountId: z.ZodString;
209
+ merchantName: z.ZodString;
210
+ merchantCategoryCode: z.ZodString;
211
+ description: z.ZodNullable<z.ZodString>;
212
+ expiresAtMs: z.ZodNullable<z.ZodNumber>;
213
+ }, "strip", z.ZodTypeAny, {
214
+ status: "pending" | "created" | "paid" | "expired" | "cancelled" | "failed" | "reversed";
215
+ currency: string;
216
+ merchantCategoryCode: string;
217
+ intentId: string;
218
+ reference: string;
219
+ amountKobo: number | null;
220
+ description: string | null;
221
+ expiresAtMs: number | null;
222
+ merchantAccountId: string;
223
+ merchantName: string;
224
+ }, {
225
+ status: "pending" | "created" | "paid" | "expired" | "cancelled" | "failed" | "reversed";
226
+ currency: string;
227
+ merchantCategoryCode: string;
228
+ intentId: string;
229
+ reference: string;
230
+ amountKobo: number | null;
231
+ description: string | null;
232
+ expiresAtMs: number | null;
233
+ merchantAccountId: string;
234
+ merchantName: string;
235
+ }>;
236
+ type PublicCollectionIntent = z.infer<typeof PublicCollectionIntentSchema>;
237
+ declare const PayCollectionInputSchema: z.ZodObject<{
238
+ reference: z.ZodString;
239
+ amountKobo: z.ZodOptional<z.ZodNumber>;
240
+ currency: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
241
+ idempotencyKey: z.ZodOptional<z.ZodString>;
242
+ }, "strip", z.ZodTypeAny, {
243
+ reference: string;
244
+ currency?: string | undefined;
245
+ amountKobo?: number | undefined;
246
+ idempotencyKey?: string | undefined;
247
+ }, {
248
+ reference: string;
249
+ currency?: string | undefined;
250
+ amountKobo?: number | undefined;
251
+ idempotencyKey?: string | undefined;
252
+ }>;
253
+ type PayCollectionInput = z.infer<typeof PayCollectionInputSchema>;
254
+ declare const CollectionPaymentSchema: z.ZodObject<{
255
+ paymentId: z.ZodString;
256
+ intentId: z.ZodString;
257
+ accountId: z.ZodString;
258
+ payerUserId: z.ZodNullable<z.ZodString>;
259
+ merchantOwnerUserId: z.ZodString;
260
+ amountKobo: z.ZodNumber;
261
+ currency: z.ZodString;
262
+ status: z.ZodEnum<["pending", "paid", "failed", "reversed"]>;
263
+ provider: z.ZodString;
264
+ providerReference: z.ZodNullable<z.ZodString>;
265
+ idempotencyKey: z.ZodNullable<z.ZodString>;
266
+ ledgerRef: z.ZodString;
267
+ failureCode: z.ZodNullable<z.ZodString>;
268
+ failureMessage: z.ZodNullable<z.ZodString>;
269
+ paidAtMs: z.ZodNullable<z.ZodNumber>;
270
+ createdAtMs: z.ZodNumber;
271
+ updatedAtMs: z.ZodNumber;
272
+ }, "strip", z.ZodTypeAny, {
273
+ status: "pending" | "paid" | "failed" | "reversed";
274
+ provider: string;
275
+ currency: string;
276
+ accountId: string;
277
+ createdAtMs: number;
278
+ updatedAtMs: number;
279
+ intentId: string;
280
+ amountKobo: number;
281
+ providerReference: string | null;
282
+ paidAtMs: number | null;
283
+ idempotencyKey: string | null;
284
+ paymentId: string;
285
+ payerUserId: string | null;
286
+ merchantOwnerUserId: string;
287
+ ledgerRef: string;
288
+ failureCode: string | null;
289
+ failureMessage: string | null;
290
+ }, {
291
+ status: "pending" | "paid" | "failed" | "reversed";
292
+ provider: string;
293
+ currency: string;
294
+ accountId: string;
295
+ createdAtMs: number;
296
+ updatedAtMs: number;
297
+ intentId: string;
298
+ amountKobo: number;
299
+ providerReference: string | null;
300
+ paidAtMs: number | null;
301
+ idempotencyKey: string | null;
302
+ paymentId: string;
303
+ payerUserId: string | null;
304
+ merchantOwnerUserId: string;
305
+ ledgerRef: string;
306
+ failureCode: string | null;
307
+ failureMessage: string | null;
308
+ }>;
309
+ type CollectionPayment = z.infer<typeof CollectionPaymentSchema>;
310
+ declare const CollectionPaymentResultSchema: z.ZodObject<{
311
+ payment: z.ZodObject<{
312
+ paymentId: z.ZodString;
313
+ intentId: z.ZodString;
314
+ accountId: z.ZodString;
315
+ payerUserId: z.ZodNullable<z.ZodString>;
316
+ merchantOwnerUserId: z.ZodString;
317
+ amountKobo: z.ZodNumber;
318
+ currency: z.ZodString;
319
+ status: z.ZodEnum<["pending", "paid", "failed", "reversed"]>;
320
+ provider: z.ZodString;
321
+ providerReference: z.ZodNullable<z.ZodString>;
322
+ idempotencyKey: z.ZodNullable<z.ZodString>;
323
+ ledgerRef: z.ZodString;
324
+ failureCode: z.ZodNullable<z.ZodString>;
325
+ failureMessage: z.ZodNullable<z.ZodString>;
326
+ paidAtMs: z.ZodNullable<z.ZodNumber>;
327
+ createdAtMs: z.ZodNumber;
328
+ updatedAtMs: z.ZodNumber;
329
+ }, "strip", z.ZodTypeAny, {
330
+ status: "pending" | "paid" | "failed" | "reversed";
331
+ provider: string;
332
+ currency: string;
333
+ accountId: string;
334
+ createdAtMs: number;
335
+ updatedAtMs: number;
336
+ intentId: string;
337
+ amountKobo: number;
338
+ providerReference: string | null;
339
+ paidAtMs: number | null;
340
+ idempotencyKey: string | null;
341
+ paymentId: string;
342
+ payerUserId: string | null;
343
+ merchantOwnerUserId: string;
344
+ ledgerRef: string;
345
+ failureCode: string | null;
346
+ failureMessage: string | null;
347
+ }, {
348
+ status: "pending" | "paid" | "failed" | "reversed";
349
+ provider: string;
350
+ currency: string;
351
+ accountId: string;
352
+ createdAtMs: number;
353
+ updatedAtMs: number;
354
+ intentId: string;
355
+ amountKobo: number;
356
+ providerReference: string | null;
357
+ paidAtMs: number | null;
358
+ idempotencyKey: string | null;
359
+ paymentId: string;
360
+ payerUserId: string | null;
361
+ merchantOwnerUserId: string;
362
+ ledgerRef: string;
363
+ failureCode: string | null;
364
+ failureMessage: string | null;
365
+ }>;
366
+ intent: z.ZodObject<{
367
+ intentId: z.ZodString;
368
+ accountId: z.ZodString;
369
+ terminalId: z.ZodNullable<z.ZodString>;
370
+ reference: z.ZodString;
371
+ amountKobo: z.ZodNullable<z.ZodNumber>;
372
+ currency: z.ZodString;
373
+ status: z.ZodEnum<["created", "pending", "paid", "expired", "cancelled", "failed", "reversed"]>;
374
+ description: z.ZodNullable<z.ZodString>;
375
+ nqrPayload: z.ZodString;
376
+ provider: z.ZodString;
377
+ providerReference: z.ZodNullable<z.ZodString>;
378
+ metadata: z.ZodRecord<z.ZodString, z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBoolean, z.ZodNull]>>;
379
+ expiresAtMs: z.ZodNullable<z.ZodNumber>;
380
+ paidAtMs: z.ZodNullable<z.ZodNumber>;
381
+ createdAtMs: z.ZodNumber;
382
+ updatedAtMs: z.ZodNumber;
383
+ }, "strip", z.ZodTypeAny, {
384
+ status: "pending" | "created" | "paid" | "expired" | "cancelled" | "failed" | "reversed";
385
+ provider: string;
386
+ currency: string;
387
+ accountId: string;
388
+ metadata: Record<string, string | number | boolean | null>;
389
+ createdAtMs: number;
390
+ updatedAtMs: number;
391
+ intentId: string;
392
+ terminalId: string | null;
393
+ reference: string;
394
+ amountKobo: number | null;
395
+ description: string | null;
396
+ nqrPayload: string;
397
+ providerReference: string | null;
398
+ expiresAtMs: number | null;
399
+ paidAtMs: number | null;
400
+ }, {
401
+ status: "pending" | "created" | "paid" | "expired" | "cancelled" | "failed" | "reversed";
402
+ provider: string;
403
+ currency: string;
404
+ accountId: string;
405
+ metadata: Record<string, string | number | boolean | null>;
406
+ createdAtMs: number;
407
+ updatedAtMs: number;
408
+ intentId: string;
409
+ terminalId: string | null;
410
+ reference: string;
411
+ amountKobo: number | null;
412
+ description: string | null;
413
+ nqrPayload: string;
414
+ providerReference: string | null;
415
+ expiresAtMs: number | null;
416
+ paidAtMs: number | null;
417
+ }>;
418
+ receipt: z.ZodOptional<z.ZodUnknown>;
419
+ replayed: z.ZodBoolean;
420
+ }, "strip", z.ZodTypeAny, {
421
+ payment: {
422
+ status: "pending" | "paid" | "failed" | "reversed";
423
+ provider: string;
424
+ currency: string;
425
+ accountId: string;
426
+ createdAtMs: number;
427
+ updatedAtMs: number;
428
+ intentId: string;
429
+ amountKobo: number;
430
+ providerReference: string | null;
431
+ paidAtMs: number | null;
432
+ idempotencyKey: string | null;
433
+ paymentId: string;
434
+ payerUserId: string | null;
435
+ merchantOwnerUserId: string;
436
+ ledgerRef: string;
437
+ failureCode: string | null;
438
+ failureMessage: string | null;
439
+ };
440
+ intent: {
441
+ status: "pending" | "created" | "paid" | "expired" | "cancelled" | "failed" | "reversed";
442
+ provider: string;
443
+ currency: string;
444
+ accountId: string;
445
+ metadata: Record<string, string | number | boolean | null>;
446
+ createdAtMs: number;
447
+ updatedAtMs: number;
448
+ intentId: string;
449
+ terminalId: string | null;
450
+ reference: string;
451
+ amountKobo: number | null;
452
+ description: string | null;
453
+ nqrPayload: string;
454
+ providerReference: string | null;
455
+ expiresAtMs: number | null;
456
+ paidAtMs: number | null;
457
+ };
458
+ replayed: boolean;
459
+ receipt?: unknown;
460
+ }, {
461
+ payment: {
462
+ status: "pending" | "paid" | "failed" | "reversed";
463
+ provider: string;
464
+ currency: string;
465
+ accountId: string;
466
+ createdAtMs: number;
467
+ updatedAtMs: number;
468
+ intentId: string;
469
+ amountKobo: number;
470
+ providerReference: string | null;
471
+ paidAtMs: number | null;
472
+ idempotencyKey: string | null;
473
+ paymentId: string;
474
+ payerUserId: string | null;
475
+ merchantOwnerUserId: string;
476
+ ledgerRef: string;
477
+ failureCode: string | null;
478
+ failureMessage: string | null;
479
+ };
480
+ intent: {
481
+ status: "pending" | "created" | "paid" | "expired" | "cancelled" | "failed" | "reversed";
482
+ provider: string;
483
+ currency: string;
484
+ accountId: string;
485
+ metadata: Record<string, string | number | boolean | null>;
486
+ createdAtMs: number;
487
+ updatedAtMs: number;
488
+ intentId: string;
489
+ terminalId: string | null;
490
+ reference: string;
491
+ amountKobo: number | null;
492
+ description: string | null;
493
+ nqrPayload: string;
494
+ providerReference: string | null;
495
+ expiresAtMs: number | null;
496
+ paidAtMs: number | null;
497
+ };
498
+ replayed: boolean;
499
+ receipt?: unknown;
500
+ }>;
501
+ type CollectionPaymentResult = z.infer<typeof CollectionPaymentResultSchema>;
502
+ declare const CollectionReportSummarySchema: z.ZodObject<{
503
+ accountId: z.ZodString;
504
+ fromMs: z.ZodNumber;
505
+ toMs: z.ZodNumber;
506
+ currency: z.ZodString;
507
+ paidCount: z.ZodNumber;
508
+ paidAmountKobo: z.ZodNumber;
509
+ pendingCount: z.ZodNumber;
510
+ failedCount: z.ZodNumber;
511
+ reversedCount: z.ZodNumber;
512
+ availableBalanceKobo: z.ZodNumber;
513
+ }, "strip", z.ZodTypeAny, {
514
+ currency: string;
515
+ accountId: string;
516
+ fromMs: number;
517
+ toMs: number;
518
+ paidCount: number;
519
+ paidAmountKobo: number;
520
+ pendingCount: number;
521
+ failedCount: number;
522
+ reversedCount: number;
523
+ availableBalanceKobo: number;
524
+ }, {
525
+ currency: string;
526
+ accountId: string;
527
+ fromMs: number;
528
+ toMs: number;
529
+ paidCount: number;
530
+ paidAmountKobo: number;
531
+ pendingCount: number;
532
+ failedCount: number;
533
+ reversedCount: number;
534
+ availableBalanceKobo: number;
535
+ }>;
536
+ type CollectionReportSummary = z.infer<typeof CollectionReportSummarySchema>;
537
+ declare const CollectionStatementSchema: z.ZodObject<{
538
+ accountId: z.ZodString;
539
+ year: z.ZodNumber;
540
+ month: z.ZodNumber;
541
+ currency: z.ZodString;
542
+ totalPaidKobo: z.ZodNumber;
543
+ items: z.ZodArray<z.ZodObject<{
544
+ paymentId: z.ZodString;
545
+ intentId: z.ZodString;
546
+ accountId: z.ZodString;
547
+ payerUserId: z.ZodNullable<z.ZodString>;
548
+ merchantOwnerUserId: z.ZodString;
549
+ amountKobo: z.ZodNumber;
550
+ currency: z.ZodString;
551
+ status: z.ZodEnum<["pending", "paid", "failed", "reversed"]>;
552
+ provider: z.ZodString;
553
+ providerReference: z.ZodNullable<z.ZodString>;
554
+ idempotencyKey: z.ZodNullable<z.ZodString>;
555
+ ledgerRef: z.ZodString;
556
+ failureCode: z.ZodNullable<z.ZodString>;
557
+ failureMessage: z.ZodNullable<z.ZodString>;
558
+ paidAtMs: z.ZodNullable<z.ZodNumber>;
559
+ createdAtMs: z.ZodNumber;
560
+ updatedAtMs: z.ZodNumber;
561
+ }, "strip", z.ZodTypeAny, {
562
+ status: "pending" | "paid" | "failed" | "reversed";
563
+ provider: string;
564
+ currency: string;
565
+ accountId: string;
566
+ createdAtMs: number;
567
+ updatedAtMs: number;
568
+ intentId: string;
569
+ amountKobo: number;
570
+ providerReference: string | null;
571
+ paidAtMs: number | null;
572
+ idempotencyKey: string | null;
573
+ paymentId: string;
574
+ payerUserId: string | null;
575
+ merchantOwnerUserId: string;
576
+ ledgerRef: string;
577
+ failureCode: string | null;
578
+ failureMessage: string | null;
579
+ }, {
580
+ status: "pending" | "paid" | "failed" | "reversed";
581
+ provider: string;
582
+ currency: string;
583
+ accountId: string;
584
+ createdAtMs: number;
585
+ updatedAtMs: number;
586
+ intentId: string;
587
+ amountKobo: number;
588
+ providerReference: string | null;
589
+ paidAtMs: number | null;
590
+ idempotencyKey: string | null;
591
+ paymentId: string;
592
+ payerUserId: string | null;
593
+ merchantOwnerUserId: string;
594
+ ledgerRef: string;
595
+ failureCode: string | null;
596
+ failureMessage: string | null;
597
+ }>, "many">;
598
+ }, "strip", z.ZodTypeAny, {
599
+ currency: string;
600
+ items: {
601
+ status: "pending" | "paid" | "failed" | "reversed";
602
+ provider: string;
603
+ currency: string;
604
+ accountId: string;
605
+ createdAtMs: number;
606
+ updatedAtMs: number;
607
+ intentId: string;
608
+ amountKobo: number;
609
+ providerReference: string | null;
610
+ paidAtMs: number | null;
611
+ idempotencyKey: string | null;
612
+ paymentId: string;
613
+ payerUserId: string | null;
614
+ merchantOwnerUserId: string;
615
+ ledgerRef: string;
616
+ failureCode: string | null;
617
+ failureMessage: string | null;
618
+ }[];
619
+ accountId: string;
620
+ year: number;
621
+ month: number;
622
+ totalPaidKobo: number;
623
+ }, {
624
+ currency: string;
625
+ items: {
626
+ status: "pending" | "paid" | "failed" | "reversed";
627
+ provider: string;
628
+ currency: string;
629
+ accountId: string;
630
+ createdAtMs: number;
631
+ updatedAtMs: number;
632
+ intentId: string;
633
+ amountKobo: number;
634
+ providerReference: string | null;
635
+ paidAtMs: number | null;
636
+ idempotencyKey: string | null;
637
+ paymentId: string;
638
+ payerUserId: string | null;
639
+ merchantOwnerUserId: string;
640
+ ledgerRef: string;
641
+ failureCode: string | null;
642
+ failureMessage: string | null;
643
+ }[];
644
+ accountId: string;
645
+ year: number;
646
+ month: number;
647
+ totalPaidKobo: number;
648
+ }>;
649
+ type CollectionStatement = z.infer<typeof CollectionStatementSchema>;
650
+ declare const CreatePayoutInputSchema: z.ZodObject<{
651
+ amountKobo: z.ZodNumber;
652
+ currency: z.ZodOptional<z.ZodEffects<z.ZodString, string, string>>;
653
+ idempotencyKey: z.ZodString;
654
+ }, "strip", z.ZodTypeAny, {
655
+ amountKobo: number;
656
+ idempotencyKey: string;
657
+ currency?: string | undefined;
658
+ }, {
659
+ amountKobo: number;
660
+ idempotencyKey: string;
661
+ currency?: string | undefined;
662
+ }>;
663
+ type CreatePayoutInput = z.infer<typeof CreatePayoutInputSchema>;
664
+ declare const MerchantPayoutSchema: z.ZodObject<{
665
+ payoutId: z.ZodString;
666
+ accountId: z.ZodString;
667
+ amountKobo: z.ZodNumber;
668
+ currency: z.ZodString;
669
+ status: z.ZodEnum<["requested", "processing", "paid", "failed", "cancelled"]>;
670
+ idempotencyKey: z.ZodNullable<z.ZodString>;
671
+ ledgerRef: z.ZodString;
672
+ providerReference: z.ZodNullable<z.ZodString>;
673
+ requestedByUserId: z.ZodNullable<z.ZodString>;
674
+ failureCode: z.ZodNullable<z.ZodString>;
675
+ failureMessage: z.ZodNullable<z.ZodString>;
676
+ createdAtMs: z.ZodNumber;
677
+ updatedAtMs: z.ZodNumber;
678
+ }, "strip", z.ZodTypeAny, {
679
+ status: "paid" | "cancelled" | "failed" | "requested" | "processing";
680
+ currency: string;
681
+ accountId: string;
682
+ createdAtMs: number;
683
+ updatedAtMs: number;
684
+ amountKobo: number;
685
+ providerReference: string | null;
686
+ idempotencyKey: string | null;
687
+ ledgerRef: string;
688
+ failureCode: string | null;
689
+ failureMessage: string | null;
690
+ payoutId: string;
691
+ requestedByUserId: string | null;
692
+ }, {
693
+ status: "paid" | "cancelled" | "failed" | "requested" | "processing";
694
+ currency: string;
695
+ accountId: string;
696
+ createdAtMs: number;
697
+ updatedAtMs: number;
698
+ amountKobo: number;
699
+ providerReference: string | null;
700
+ idempotencyKey: string | null;
701
+ ledgerRef: string;
702
+ failureCode: string | null;
703
+ failureMessage: string | null;
704
+ payoutId: string;
705
+ requestedByUserId: string | null;
706
+ }>;
707
+ type MerchantPayout = z.infer<typeof MerchantPayoutSchema>;
708
+ declare const ProviderEventInputSchema: z.ZodObject<{
709
+ provider: z.ZodString;
710
+ eventId: z.ZodString;
711
+ eventType: z.ZodString;
712
+ payload: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
713
+ }, "strip", z.ZodTypeAny, {
714
+ provider: string;
715
+ eventId: string;
716
+ eventType: string;
717
+ payload?: Record<string, unknown> | undefined;
718
+ }, {
719
+ provider: string;
720
+ eventId: string;
721
+ eventType: string;
722
+ payload?: Record<string, unknown> | undefined;
723
+ }>;
724
+ type ProviderEventInput = z.infer<typeof ProviderEventInputSchema>;
725
+ declare const ProviderEventRecordSchema: z.ZodObject<{
726
+ id: z.ZodString;
727
+ provider: z.ZodString;
728
+ eventId: z.ZodString;
729
+ eventType: z.ZodString;
730
+ signatureVerified: z.ZodBoolean;
731
+ receivedAtMs: z.ZodNumber;
732
+ processedAtMs: z.ZodNullable<z.ZodNumber>;
733
+ }, "strip", z.ZodTypeAny, {
734
+ provider: string;
735
+ id: string;
736
+ eventId: string;
737
+ eventType: string;
738
+ signatureVerified: boolean;
739
+ receivedAtMs: number;
740
+ processedAtMs: number | null;
741
+ }, {
742
+ provider: string;
743
+ id: string;
744
+ eventId: string;
745
+ eventType: string;
746
+ signatureVerified: boolean;
747
+ receivedAtMs: number;
748
+ processedAtMs: number | null;
749
+ }>;
750
+ type ProviderEventRecord = z.infer<typeof ProviderEventRecordSchema>;
751
+ type CollectionsClientOptions = {
752
+ baseUrl: string;
753
+ fetchImpl?: typeof fetch;
754
+ };
755
+ type CollectionsClient = {
756
+ upsertMerchantProfile: (accountId: string, input: UpsertMerchantProfileInput) => Promise<MerchantProfile>;
757
+ getMerchantProfile: (accountId: string) => Promise<MerchantProfile>;
758
+ createIntent: (input: CreateCollectionIntentInput) => Promise<CollectionIntent>;
759
+ getIntent: (intentId: string) => Promise<CollectionIntent>;
760
+ resolveIntent: (reference: string) => Promise<PublicCollectionIntent>;
761
+ pay: (input: PayCollectionInput) => Promise<CollectionPaymentResult>;
762
+ reportSummary: (input: {
763
+ fromMs: number;
764
+ toMs: number;
765
+ currency?: string;
766
+ }) => Promise<CollectionReportSummary>;
767
+ monthlyStatement: (input: {
768
+ year: number;
769
+ month: number;
770
+ currency?: string;
771
+ }) => Promise<CollectionStatement>;
772
+ createPayout: (input: CreatePayoutInput) => Promise<MerchantPayout>;
773
+ getPayout: (payoutId: string) => Promise<MerchantPayout>;
774
+ recordProviderEvent: (input: ProviderEventInput) => Promise<ProviderEventRecord>;
775
+ };
776
+ type PartnerCollectionsClient = Pick<CollectionsClient, 'createIntent' | 'getIntent' | 'reportSummary' | 'monthlyStatement' | 'createPayout' | 'getPayout' | 'recordProviderEvent'>;
777
+ type ConsumerCollectionsClient = Pick<CollectionsClient, 'resolveIntent' | 'pay'>;
778
+ declare function createCollectionsClient(opts: CollectionsClientOptions): CollectionsClient;
779
+ declare function createPartnerCollectionsClient(opts: CollectionsClientOptions): PartnerCollectionsClient;
780
+ declare function createConsumerCollectionsClient(opts: CollectionsClientOptions): ConsumerCollectionsClient;
781
+
12
782
  type FlurClientOptions = {
13
783
  baseUrl: string;
14
784
  fetchImpl?: typeof fetch;
@@ -215,6 +985,12 @@ type SendMoneyInput = {
215
985
  type SendMoneyOptions = AuthorizedOptions & {
216
986
  deviceId: string;
217
987
  };
988
+ type ResolveCollectionOptions = AuthorizedOptions;
989
+ type PayCollectionOptions = AuthorizedOptions & {
990
+ idempotencyKey?: string;
991
+ };
992
+ type ResolveCollectionResponse = PublicCollectionIntent;
993
+ type PayCollectionResponse = CollectionPaymentResult;
218
994
  type AuthorizeSendWithBiometricInput = {
219
995
  userId: string;
220
996
  deviceId: string;
@@ -263,6 +1039,8 @@ declare class FlurClient {
263
1039
  resolveRecipient(input: RecipientResolveInput, options: AuthorizedOptions): Promise<RecipientResolveResponse>;
264
1040
  createTransfer(input: TransferInput, options: CreateTransferOptions): Promise<TransferResponse>;
265
1041
  sendMoney(input: SendMoneyInput, options: SendMoneyOptions): Promise<TransferResponse>;
1042
+ resolveCollection(reference: string, options: ResolveCollectionOptions): Promise<ResolveCollectionResponse>;
1043
+ payCollection(input: PayCollectionInput, options: PayCollectionOptions): Promise<PayCollectionResponse>;
266
1044
  accountSummary(options: AuthorizedOptions): Promise<AccountSummaryResponse>;
267
1045
  listTransactions(options: ListTransactionsOptions): Promise<TransactionsListResponse>;
268
1046
  transactionDetail(transactionId: string, options: AuthorizedOptions): Promise<TransactionDetailResponse>;
@@ -666,6 +1444,7 @@ declare const OfflinePaymentRequestSchema: z.ZodObject<{
666
1444
  }, "strip", z.ZodTypeAny, {
667
1445
  reference: string;
668
1446
  amountKobo: number;
1447
+ expiresAtMs: number;
669
1448
  merchantOAC: {
670
1449
  userId: string;
671
1450
  deviceId: string;
@@ -678,11 +1457,11 @@ declare const OfflinePaymentRequestSchema: z.ZodObject<{
678
1457
  counterSeed: number;
679
1458
  issuerSig: string;
680
1459
  };
681
- expiresAtMs: number;
682
1460
  merchantSig: string;
683
1461
  }, {
684
1462
  reference: string;
685
1463
  amountKobo: number;
1464
+ expiresAtMs: number;
686
1465
  merchantOAC: {
687
1466
  userId: string;
688
1467
  deviceId: string;
@@ -695,7 +1474,6 @@ declare const OfflinePaymentRequestSchema: z.ZodObject<{
695
1474
  counterSeed: number;
696
1475
  issuerSig: string;
697
1476
  };
698
- expiresAtMs: number;
699
1477
  merchantSig: string;
700
1478
  }>;
701
1479
  type OfflinePaymentRequest = z.infer<typeof OfflinePaymentRequestSchema>;
@@ -787,6 +1565,7 @@ declare const OfflinePaymentAuthorizationSchema: z.ZodObject<{
787
1565
  }, "strip", z.ZodTypeAny, {
788
1566
  reference: string;
789
1567
  amountKobo: number;
1568
+ expiresAtMs: number;
790
1569
  merchantOAC: {
791
1570
  userId: string;
792
1571
  deviceId: string;
@@ -799,11 +1578,11 @@ declare const OfflinePaymentAuthorizationSchema: z.ZodObject<{
799
1578
  counterSeed: number;
800
1579
  issuerSig: string;
801
1580
  };
802
- expiresAtMs: number;
803
1581
  merchantSig: string;
804
1582
  }, {
805
1583
  reference: string;
806
1584
  amountKobo: number;
1585
+ expiresAtMs: number;
807
1586
  merchantOAC: {
808
1587
  userId: string;
809
1588
  deviceId: string;
@@ -816,7 +1595,6 @@ declare const OfflinePaymentAuthorizationSchema: z.ZodObject<{
816
1595
  counterSeed: number;
817
1596
  issuerSig: string;
818
1597
  };
819
- expiresAtMs: number;
820
1598
  merchantSig: string;
821
1599
  }>;
822
1600
  payerOAC: z.ZodEffects<z.ZodEffects<z.ZodObject<{
@@ -903,6 +1681,7 @@ declare const OfflinePaymentAuthorizationSchema: z.ZodObject<{
903
1681
  request: {
904
1682
  reference: string;
905
1683
  amountKobo: number;
1684
+ expiresAtMs: number;
906
1685
  merchantOAC: {
907
1686
  userId: string;
908
1687
  deviceId: string;
@@ -915,7 +1694,6 @@ declare const OfflinePaymentAuthorizationSchema: z.ZodObject<{
915
1694
  counterSeed: number;
916
1695
  issuerSig: string;
917
1696
  };
918
- expiresAtMs: number;
919
1697
  merchantSig: string;
920
1698
  };
921
1699
  payerOAC: {
@@ -936,6 +1714,7 @@ declare const OfflinePaymentAuthorizationSchema: z.ZodObject<{
936
1714
  request: {
937
1715
  reference: string;
938
1716
  amountKobo: number;
1717
+ expiresAtMs: number;
939
1718
  merchantOAC: {
940
1719
  userId: string;
941
1720
  deviceId: string;
@@ -948,7 +1727,6 @@ declare const OfflinePaymentAuthorizationSchema: z.ZodObject<{
948
1727
  counterSeed: number;
949
1728
  issuerSig: string;
950
1729
  };
951
- expiresAtMs: number;
952
1730
  merchantSig: string;
953
1731
  };
954
1732
  payerOAC: {
@@ -988,13 +1766,13 @@ declare function decodePaymentRequestQR(s: string): OfflinePaymentRequest;
988
1766
  declare function encodeAuthorizationQR(auth: OfflinePaymentAuthorization): string;
989
1767
  declare function decodeAuthorizationQR(s: string): OfflinePaymentAuthorization;
990
1768
 
991
- declare const PARTNER_SCOPES: readonly ["passes:write", "passes:read", "passes:redeem", "receipts:write", "receipts:read", "offline:issue", "offline:settle", "offline:read"];
1769
+ declare const PARTNER_SCOPES: readonly ["passes:write", "passes:read", "passes:redeem", "receipts:write", "receipts:read", "offline:issue", "offline:settle", "offline:read", "collections:write", "collections:read", "collections:pay", "collections:webhook", "reports:read", "payouts:write", "payouts:read", "partner:funding:write", "partner:payout:write", "partner:reconciliation:read"];
992
1770
  type PartnerScope = (typeof PARTNER_SCOPES)[number];
993
1771
  declare const ApiCredentialPublicSchema: z.ZodObject<{
994
1772
  id: z.ZodString;
995
1773
  accountId: z.ZodString;
996
1774
  keyId: z.ZodString;
997
- scopes: z.ZodArray<z.ZodEnum<["passes:write", "passes:read", "passes:redeem", "receipts:write", "receipts:read", "offline:issue", "offline:settle", "offline:read"]>, "many">;
1775
+ scopes: z.ZodArray<z.ZodEnum<["passes:write", "passes:read", "passes:redeem", "receipts:write", "receipts:read", "offline:issue", "offline:settle", "offline:read", "collections:write", "collections:read", "collections:pay", "collections:webhook", "reports:read", "payouts:write", "payouts:read", "partner:funding:write", "partner:payout:write", "partner:reconciliation:read"]>, "many">;
998
1776
  label: z.ZodNullable<z.ZodString>;
999
1777
  createdAtMs: z.ZodNumber;
1000
1778
  lastUsedAtMs: z.ZodNullable<z.ZodNumber>;
@@ -1002,19 +1780,19 @@ declare const ApiCredentialPublicSchema: z.ZodObject<{
1002
1780
  }, "strip", z.ZodTypeAny, {
1003
1781
  id: string;
1004
1782
  accountId: string;
1783
+ createdAtMs: number;
1005
1784
  keyId: string;
1006
- scopes: ("passes:write" | "passes:read" | "passes:redeem" | "receipts:write" | "receipts:read" | "offline:issue" | "offline:settle" | "offline:read")[];
1785
+ scopes: ("passes:write" | "passes:read" | "passes:redeem" | "receipts:write" | "receipts:read" | "offline:issue" | "offline:settle" | "offline:read" | "collections:write" | "collections:read" | "collections:pay" | "collections:webhook" | "reports:read" | "payouts:write" | "payouts:read" | "partner:funding:write" | "partner:payout:write" | "partner:reconciliation:read")[];
1007
1786
  label: string | null;
1008
- createdAtMs: number;
1009
1787
  lastUsedAtMs: number | null;
1010
1788
  revokedAtMs: number | null;
1011
1789
  }, {
1012
1790
  id: string;
1013
1791
  accountId: string;
1792
+ createdAtMs: number;
1014
1793
  keyId: string;
1015
- scopes: ("passes:write" | "passes:read" | "passes:redeem" | "receipts:write" | "receipts:read" | "offline:issue" | "offline:settle" | "offline:read")[];
1794
+ scopes: ("passes:write" | "passes:read" | "passes:redeem" | "receipts:write" | "receipts:read" | "offline:issue" | "offline:settle" | "offline:read" | "collections:write" | "collections:read" | "collections:pay" | "collections:webhook" | "reports:read" | "payouts:write" | "payouts:read" | "partner:funding:write" | "partner:payout:write" | "partner:reconciliation:read")[];
1016
1795
  label: string | null;
1017
- createdAtMs: number;
1018
1796
  lastUsedAtMs: number | null;
1019
1797
  revokedAtMs: number | null;
1020
1798
  }>;
@@ -1023,7 +1801,7 @@ declare const MintedApiCredentialSchema: z.ZodObject<{
1023
1801
  id: z.ZodString;
1024
1802
  accountId: z.ZodString;
1025
1803
  keyId: z.ZodString;
1026
- scopes: z.ZodArray<z.ZodEnum<["passes:write", "passes:read", "passes:redeem", "receipts:write", "receipts:read", "offline:issue", "offline:settle", "offline:read"]>, "many">;
1804
+ scopes: z.ZodArray<z.ZodEnum<["passes:write", "passes:read", "passes:redeem", "receipts:write", "receipts:read", "offline:issue", "offline:settle", "offline:read", "collections:write", "collections:read", "collections:pay", "collections:webhook", "reports:read", "payouts:write", "payouts:read", "partner:funding:write", "partner:payout:write", "partner:reconciliation:read"]>, "many">;
1027
1805
  label: z.ZodNullable<z.ZodString>;
1028
1806
  createdAtMs: z.ZodNumber;
1029
1807
  lastUsedAtMs: z.ZodNullable<z.ZodNumber>;
@@ -1033,20 +1811,20 @@ declare const MintedApiCredentialSchema: z.ZodObject<{
1033
1811
  }, "strip", z.ZodTypeAny, {
1034
1812
  id: string;
1035
1813
  accountId: string;
1814
+ createdAtMs: number;
1036
1815
  keyId: string;
1037
- scopes: ("passes:write" | "passes:read" | "passes:redeem" | "receipts:write" | "receipts:read" | "offline:issue" | "offline:settle" | "offline:read")[];
1816
+ scopes: ("passes:write" | "passes:read" | "passes:redeem" | "receipts:write" | "receipts:read" | "offline:issue" | "offline:settle" | "offline:read" | "collections:write" | "collections:read" | "collections:pay" | "collections:webhook" | "reports:read" | "payouts:write" | "payouts:read" | "partner:funding:write" | "partner:payout:write" | "partner:reconciliation:read")[];
1038
1817
  label: string | null;
1039
- createdAtMs: number;
1040
1818
  lastUsedAtMs: number | null;
1041
1819
  revokedAtMs: number | null;
1042
1820
  secret: string;
1043
1821
  }, {
1044
1822
  id: string;
1045
1823
  accountId: string;
1824
+ createdAtMs: number;
1046
1825
  keyId: string;
1047
- scopes: ("passes:write" | "passes:read" | "passes:redeem" | "receipts:write" | "receipts:read" | "offline:issue" | "offline:settle" | "offline:read")[];
1826
+ scopes: ("passes:write" | "passes:read" | "passes:redeem" | "receipts:write" | "receipts:read" | "offline:issue" | "offline:settle" | "offline:read" | "collections:write" | "collections:read" | "collections:pay" | "collections:webhook" | "reports:read" | "payouts:write" | "payouts:read" | "partner:funding:write" | "partner:payout:write" | "partner:reconciliation:read")[];
1048
1827
  label: string | null;
1049
- createdAtMs: number;
1050
1828
  lastUsedAtMs: number | null;
1051
1829
  revokedAtMs: number | null;
1052
1830
  secret: string;
@@ -1065,6 +1843,8 @@ type PartnerClientOptions = {
1065
1843
  nowMs?: () => number;
1066
1844
  /** Override nonce generator for tests. */
1067
1845
  nonce?: () => string;
1846
+ /** Optional scope claim forwarded as X-Flur-Scope; backend credentials remain authoritative. */
1847
+ scope?: readonly PartnerScope[];
1068
1848
  };
1069
1849
  type PartnerSignResult = {
1070
1850
  authorization: string;
@@ -1131,22 +1911,22 @@ declare const OfflineTokenSchema: z.ZodObject<{
1131
1911
  issuerSig: z.ZodString;
1132
1912
  }, "strip", z.ZodTypeAny, {
1133
1913
  currency: string;
1134
- issuerSig: string;
1135
1914
  expiresAtMs: number;
1915
+ payerUserId: string;
1916
+ issuerSig: string;
1136
1917
  tokenId: string;
1137
1918
  tokenSerial: string;
1138
1919
  issuerAccountId: string;
1139
- payerUserId: string;
1140
1920
  maxAmountKobo: number;
1141
1921
  issuedAtMs: number;
1142
1922
  }, {
1143
1923
  currency: string;
1144
- issuerSig: string;
1145
1924
  expiresAtMs: number;
1925
+ payerUserId: string;
1926
+ issuerSig: string;
1146
1927
  tokenId: string;
1147
1928
  tokenSerial: string;
1148
1929
  issuerAccountId: string;
1149
- payerUserId: string;
1150
1930
  maxAmountKobo: number;
1151
1931
  issuedAtMs: number;
1152
1932
  }>;
@@ -1170,8 +1950,8 @@ declare const PaymentClaimSchema: z.ZodObject<{
1170
1950
  }, "strip", z.ZodTypeAny, {
1171
1951
  currency: string;
1172
1952
  amountKobo: number;
1173
- tokenSerial: string;
1174
1953
  payerUserId: string;
1954
+ tokenSerial: string;
1175
1955
  payeeUserId: string;
1176
1956
  payerNonce: string;
1177
1957
  payeeNonce: string;
@@ -1185,8 +1965,8 @@ declare const PaymentClaimSchema: z.ZodObject<{
1185
1965
  payeeSignature?: string | undefined;
1186
1966
  }, {
1187
1967
  amountKobo: number;
1188
- tokenSerial: string;
1189
1968
  payerUserId: string;
1969
+ tokenSerial: string;
1190
1970
  payeeUserId: string;
1191
1971
  payerNonce: string;
1192
1972
  payeeNonce: string;
@@ -1218,12 +1998,12 @@ declare const SettlementSchema: z.ZodObject<{
1218
1998
  }, "strip", z.ZodTypeAny, {
1219
1999
  status: "SETTLED" | "REVIEW" | "REJECTED";
1220
2000
  currency: string;
1221
- issuerSig: string;
1222
- amountKobo: number;
1223
2001
  createdAtMs: number;
2002
+ amountKobo: number;
2003
+ payerUserId: string;
2004
+ issuerSig: string;
1224
2005
  tokenSerial: string;
1225
2006
  issuerAccountId: string;
1226
- payerUserId: string;
1227
2007
  encounterId: string;
1228
2008
  payeeUserId: string;
1229
2009
  settlementId: string;
@@ -1232,12 +2012,12 @@ declare const SettlementSchema: z.ZodObject<{
1232
2012
  }, {
1233
2013
  status: "SETTLED" | "REVIEW" | "REJECTED";
1234
2014
  currency: string;
1235
- issuerSig: string;
1236
- amountKobo: number;
1237
2015
  createdAtMs: number;
2016
+ amountKobo: number;
2017
+ payerUserId: string;
2018
+ issuerSig: string;
1238
2019
  tokenSerial: string;
1239
2020
  issuerAccountId: string;
1240
- payerUserId: string;
1241
2021
  encounterId: string;
1242
2022
  payeeUserId: string;
1243
2023
  settlementId: string;
@@ -1263,12 +2043,12 @@ declare const SettleResponseSchema: z.ZodObject<{
1263
2043
  }, "strip", z.ZodTypeAny, {
1264
2044
  status: "SETTLED" | "REVIEW" | "REJECTED";
1265
2045
  currency: string;
1266
- issuerSig: string;
1267
- amountKobo: number;
1268
2046
  createdAtMs: number;
2047
+ amountKobo: number;
2048
+ payerUserId: string;
2049
+ issuerSig: string;
1269
2050
  tokenSerial: string;
1270
2051
  issuerAccountId: string;
1271
- payerUserId: string;
1272
2052
  encounterId: string;
1273
2053
  payeeUserId: string;
1274
2054
  settlementId: string;
@@ -1277,12 +2057,12 @@ declare const SettleResponseSchema: z.ZodObject<{
1277
2057
  }, {
1278
2058
  status: "SETTLED" | "REVIEW" | "REJECTED";
1279
2059
  currency: string;
1280
- issuerSig: string;
1281
- amountKobo: number;
1282
2060
  createdAtMs: number;
2061
+ amountKobo: number;
2062
+ payerUserId: string;
2063
+ issuerSig: string;
1283
2064
  tokenSerial: string;
1284
2065
  issuerAccountId: string;
1285
- payerUserId: string;
1286
2066
  encounterId: string;
1287
2067
  payeeUserId: string;
1288
2068
  settlementId: string;
@@ -1292,41 +2072,41 @@ declare const SettleResponseSchema: z.ZodObject<{
1292
2072
  encounterId: z.ZodString;
1293
2073
  replayed: z.ZodBoolean;
1294
2074
  }, "strip", z.ZodTypeAny, {
2075
+ replayed: boolean;
1295
2076
  encounterId: string;
1296
2077
  settlement: {
1297
2078
  status: "SETTLED" | "REVIEW" | "REJECTED";
1298
2079
  currency: string;
1299
- issuerSig: string;
1300
- amountKobo: number;
1301
2080
  createdAtMs: number;
2081
+ amountKobo: number;
2082
+ payerUserId: string;
2083
+ issuerSig: string;
1302
2084
  tokenSerial: string;
1303
2085
  issuerAccountId: string;
1304
- payerUserId: string;
1305
2086
  encounterId: string;
1306
2087
  payeeUserId: string;
1307
2088
  settlementId: string;
1308
2089
  settlementKey: string;
1309
2090
  receiptId: string | null;
1310
2091
  };
1311
- replayed: boolean;
1312
2092
  }, {
2093
+ replayed: boolean;
1313
2094
  encounterId: string;
1314
2095
  settlement: {
1315
2096
  status: "SETTLED" | "REVIEW" | "REJECTED";
1316
2097
  currency: string;
1317
- issuerSig: string;
1318
- amountKobo: number;
1319
2098
  createdAtMs: number;
2099
+ amountKobo: number;
2100
+ payerUserId: string;
2101
+ issuerSig: string;
1320
2102
  tokenSerial: string;
1321
2103
  issuerAccountId: string;
1322
- payerUserId: string;
1323
2104
  encounterId: string;
1324
2105
  payeeUserId: string;
1325
2106
  settlementId: string;
1326
2107
  settlementKey: string;
1327
2108
  receiptId: string | null;
1328
2109
  };
1329
- replayed: boolean;
1330
2110
  }>;
1331
2111
  type SettleResponse = z.infer<typeof SettleResponseSchema>;
1332
2112
  /**
@@ -1441,6 +2221,7 @@ declare const PassSchema: z.ZodEffects<z.ZodObject<{
1441
2221
  }, "strip", z.ZodTypeAny, {
1442
2222
  nonce: string;
1443
2223
  currency: string;
2224
+ metadata: Record<string, string | number | boolean | null>;
1444
2225
  validFromMs: number;
1445
2226
  validUntilMs: number;
1446
2227
  counterSeed: number;
@@ -1449,17 +2230,17 @@ declare const PassSchema: z.ZodEffects<z.ZodObject<{
1449
2230
  passId: string;
1450
2231
  kind: "ride-ticket" | "transit-pass" | "event-ticket" | "voucher" | "loyalty" | "receipt-link";
1451
2232
  issuerId: string;
1452
- state: "issued" | "active" | "redeemed" | "expired" | "revoked";
1453
- metadata: Record<string, string | number | boolean | null>;
2233
+ state: "active" | "expired" | "issued" | "redeemed" | "revoked";
1454
2234
  holderDeviceId: string;
1455
2235
  holderDevicePubkey: string;
1456
- cumulativeCapKobo?: number | undefined;
1457
2236
  amountKobo?: number | undefined;
2237
+ cumulativeCapKobo?: number | undefined;
1458
2238
  templateId?: string | undefined;
1459
2239
  holderUserId?: string | undefined;
1460
2240
  }, {
1461
2241
  nonce: string;
1462
2242
  currency: string;
2243
+ metadata: Record<string, string | number | boolean | null>;
1463
2244
  validFromMs: number;
1464
2245
  validUntilMs: number;
1465
2246
  counterSeed: number;
@@ -1468,17 +2249,17 @@ declare const PassSchema: z.ZodEffects<z.ZodObject<{
1468
2249
  passId: string;
1469
2250
  kind: "ride-ticket" | "transit-pass" | "event-ticket" | "voucher" | "loyalty" | "receipt-link";
1470
2251
  issuerId: string;
1471
- state: "issued" | "active" | "redeemed" | "expired" | "revoked";
1472
- metadata: Record<string, string | number | boolean | null>;
2252
+ state: "active" | "expired" | "issued" | "redeemed" | "revoked";
1473
2253
  holderDeviceId: string;
1474
2254
  holderDevicePubkey: string;
1475
- cumulativeCapKobo?: number | undefined;
1476
2255
  amountKobo?: number | undefined;
2256
+ cumulativeCapKobo?: number | undefined;
1477
2257
  templateId?: string | undefined;
1478
2258
  holderUserId?: string | undefined;
1479
2259
  }>, {
1480
2260
  nonce: string;
1481
2261
  currency: string;
2262
+ metadata: Record<string, string | number | boolean | null>;
1482
2263
  validFromMs: number;
1483
2264
  validUntilMs: number;
1484
2265
  counterSeed: number;
@@ -1487,17 +2268,17 @@ declare const PassSchema: z.ZodEffects<z.ZodObject<{
1487
2268
  passId: string;
1488
2269
  kind: "ride-ticket" | "transit-pass" | "event-ticket" | "voucher" | "loyalty" | "receipt-link";
1489
2270
  issuerId: string;
1490
- state: "issued" | "active" | "redeemed" | "expired" | "revoked";
1491
- metadata: Record<string, string | number | boolean | null>;
2271
+ state: "active" | "expired" | "issued" | "redeemed" | "revoked";
1492
2272
  holderDeviceId: string;
1493
2273
  holderDevicePubkey: string;
1494
- cumulativeCapKobo?: number | undefined;
1495
2274
  amountKobo?: number | undefined;
2275
+ cumulativeCapKobo?: number | undefined;
1496
2276
  templateId?: string | undefined;
1497
2277
  holderUserId?: string | undefined;
1498
2278
  }, {
1499
2279
  nonce: string;
1500
2280
  currency: string;
2281
+ metadata: Record<string, string | number | boolean | null>;
1501
2282
  validFromMs: number;
1502
2283
  validUntilMs: number;
1503
2284
  counterSeed: number;
@@ -1506,12 +2287,11 @@ declare const PassSchema: z.ZodEffects<z.ZodObject<{
1506
2287
  passId: string;
1507
2288
  kind: "ride-ticket" | "transit-pass" | "event-ticket" | "voucher" | "loyalty" | "receipt-link";
1508
2289
  issuerId: string;
1509
- state: "issued" | "active" | "redeemed" | "expired" | "revoked";
1510
- metadata: Record<string, string | number | boolean | null>;
2290
+ state: "active" | "expired" | "issued" | "redeemed" | "revoked";
1511
2291
  holderDeviceId: string;
1512
2292
  holderDevicePubkey: string;
1513
- cumulativeCapKobo?: number | undefined;
1514
2293
  amountKobo?: number | undefined;
2294
+ cumulativeCapKobo?: number | undefined;
1515
2295
  templateId?: string | undefined;
1516
2296
  holderUserId?: string | undefined;
1517
2297
  }>;
@@ -1568,6 +2348,7 @@ declare const RedemptionSchema: z.ZodObject<{
1568
2348
  }, "strip", z.ZodTypeAny, {
1569
2349
  nonce: string;
1570
2350
  currency: string;
2351
+ metadata: Record<string, string | number | boolean | null>;
1571
2352
  validFromMs: number;
1572
2353
  validUntilMs: number;
1573
2354
  counterSeed: number;
@@ -1576,17 +2357,17 @@ declare const RedemptionSchema: z.ZodObject<{
1576
2357
  passId: string;
1577
2358
  kind: "ride-ticket" | "transit-pass" | "event-ticket" | "voucher" | "loyalty" | "receipt-link";
1578
2359
  issuerId: string;
1579
- state: "issued" | "active" | "redeemed" | "expired" | "revoked";
1580
- metadata: Record<string, string | number | boolean | null>;
2360
+ state: "active" | "expired" | "issued" | "redeemed" | "revoked";
1581
2361
  holderDeviceId: string;
1582
2362
  holderDevicePubkey: string;
1583
- cumulativeCapKobo?: number | undefined;
1584
2363
  amountKobo?: number | undefined;
2364
+ cumulativeCapKobo?: number | undefined;
1585
2365
  templateId?: string | undefined;
1586
2366
  holderUserId?: string | undefined;
1587
2367
  }, {
1588
2368
  nonce: string;
1589
2369
  currency: string;
2370
+ metadata: Record<string, string | number | boolean | null>;
1590
2371
  validFromMs: number;
1591
2372
  validUntilMs: number;
1592
2373
  counterSeed: number;
@@ -1595,17 +2376,17 @@ declare const RedemptionSchema: z.ZodObject<{
1595
2376
  passId: string;
1596
2377
  kind: "ride-ticket" | "transit-pass" | "event-ticket" | "voucher" | "loyalty" | "receipt-link";
1597
2378
  issuerId: string;
1598
- state: "issued" | "active" | "redeemed" | "expired" | "revoked";
1599
- metadata: Record<string, string | number | boolean | null>;
2379
+ state: "active" | "expired" | "issued" | "redeemed" | "revoked";
1600
2380
  holderDeviceId: string;
1601
2381
  holderDevicePubkey: string;
1602
- cumulativeCapKobo?: number | undefined;
1603
2382
  amountKobo?: number | undefined;
2383
+ cumulativeCapKobo?: number | undefined;
1604
2384
  templateId?: string | undefined;
1605
2385
  holderUserId?: string | undefined;
1606
2386
  }>, {
1607
2387
  nonce: string;
1608
2388
  currency: string;
2389
+ metadata: Record<string, string | number | boolean | null>;
1609
2390
  validFromMs: number;
1610
2391
  validUntilMs: number;
1611
2392
  counterSeed: number;
@@ -1614,17 +2395,17 @@ declare const RedemptionSchema: z.ZodObject<{
1614
2395
  passId: string;
1615
2396
  kind: "ride-ticket" | "transit-pass" | "event-ticket" | "voucher" | "loyalty" | "receipt-link";
1616
2397
  issuerId: string;
1617
- state: "issued" | "active" | "redeemed" | "expired" | "revoked";
1618
- metadata: Record<string, string | number | boolean | null>;
2398
+ state: "active" | "expired" | "issued" | "redeemed" | "revoked";
1619
2399
  holderDeviceId: string;
1620
2400
  holderDevicePubkey: string;
1621
- cumulativeCapKobo?: number | undefined;
1622
2401
  amountKobo?: number | undefined;
2402
+ cumulativeCapKobo?: number | undefined;
1623
2403
  templateId?: string | undefined;
1624
2404
  holderUserId?: string | undefined;
1625
2405
  }, {
1626
2406
  nonce: string;
1627
2407
  currency: string;
2408
+ metadata: Record<string, string | number | boolean | null>;
1628
2409
  validFromMs: number;
1629
2410
  validUntilMs: number;
1630
2411
  counterSeed: number;
@@ -1633,12 +2414,11 @@ declare const RedemptionSchema: z.ZodObject<{
1633
2414
  passId: string;
1634
2415
  kind: "ride-ticket" | "transit-pass" | "event-ticket" | "voucher" | "loyalty" | "receipt-link";
1635
2416
  issuerId: string;
1636
- state: "issued" | "active" | "redeemed" | "expired" | "revoked";
1637
- metadata: Record<string, string | number | boolean | null>;
2417
+ state: "active" | "expired" | "issued" | "redeemed" | "revoked";
1638
2418
  holderDeviceId: string;
1639
2419
  holderDevicePubkey: string;
1640
- cumulativeCapKobo?: number | undefined;
1641
2420
  amountKobo?: number | undefined;
2421
+ cumulativeCapKobo?: number | undefined;
1642
2422
  templateId?: string | undefined;
1643
2423
  holderUserId?: string | undefined;
1644
2424
  }>;
@@ -1657,6 +2437,7 @@ declare const RedemptionSchema: z.ZodObject<{
1657
2437
  pass: {
1658
2438
  nonce: string;
1659
2439
  currency: string;
2440
+ metadata: Record<string, string | number | boolean | null>;
1660
2441
  validFromMs: number;
1661
2442
  validUntilMs: number;
1662
2443
  counterSeed: number;
@@ -1665,12 +2446,11 @@ declare const RedemptionSchema: z.ZodObject<{
1665
2446
  passId: string;
1666
2447
  kind: "ride-ticket" | "transit-pass" | "event-ticket" | "voucher" | "loyalty" | "receipt-link";
1667
2448
  issuerId: string;
1668
- state: "issued" | "active" | "redeemed" | "expired" | "revoked";
1669
- metadata: Record<string, string | number | boolean | null>;
2449
+ state: "active" | "expired" | "issued" | "redeemed" | "revoked";
1670
2450
  holderDeviceId: string;
1671
2451
  holderDevicePubkey: string;
1672
- cumulativeCapKobo?: number | undefined;
1673
2452
  amountKobo?: number | undefined;
2453
+ cumulativeCapKobo?: number | undefined;
1674
2454
  templateId?: string | undefined;
1675
2455
  holderUserId?: string | undefined;
1676
2456
  };
@@ -1684,6 +2464,7 @@ declare const RedemptionSchema: z.ZodObject<{
1684
2464
  pass: {
1685
2465
  nonce: string;
1686
2466
  currency: string;
2467
+ metadata: Record<string, string | number | boolean | null>;
1687
2468
  validFromMs: number;
1688
2469
  validUntilMs: number;
1689
2470
  counterSeed: number;
@@ -1692,12 +2473,11 @@ declare const RedemptionSchema: z.ZodObject<{
1692
2473
  passId: string;
1693
2474
  kind: "ride-ticket" | "transit-pass" | "event-ticket" | "voucher" | "loyalty" | "receipt-link";
1694
2475
  issuerId: string;
1695
- state: "issued" | "active" | "redeemed" | "expired" | "revoked";
1696
- metadata: Record<string, string | number | boolean | null>;
2476
+ state: "active" | "expired" | "issued" | "redeemed" | "revoked";
1697
2477
  holderDeviceId: string;
1698
2478
  holderDevicePubkey: string;
1699
- cumulativeCapKobo?: number | undefined;
1700
2479
  amountKobo?: number | undefined;
2480
+ cumulativeCapKobo?: number | undefined;
1701
2481
  templateId?: string | undefined;
1702
2482
  holderUserId?: string | undefined;
1703
2483
  };
@@ -1761,54 +2541,54 @@ declare const ReceiptSchema: z.ZodEffects<z.ZodObject<{
1761
2541
  issuerSig: z.ZodString;
1762
2542
  }, "strip", z.ZodTypeAny, {
1763
2543
  currency: string;
1764
- issuerSig: string;
1765
2544
  amountKobo: number;
1766
2545
  payerUserId: string;
2546
+ payload: Record<string, string | number | boolean | null>;
2547
+ issuerSig: string;
1767
2548
  issuedAtMs: number;
1768
2549
  payeeUserId: string;
1769
2550
  receiptId: string;
1770
2551
  issuerId: string;
1771
2552
  channel: "pass" | "cash";
1772
- payload: Record<string, string | number | boolean | null>;
1773
2553
  intentId?: string | undefined;
1774
2554
  passRedemptionId?: string | undefined;
1775
2555
  }, {
1776
2556
  currency: string;
1777
- issuerSig: string;
1778
2557
  amountKobo: number;
1779
2558
  payerUserId: string;
2559
+ payload: Record<string, string | number | boolean | null>;
2560
+ issuerSig: string;
1780
2561
  issuedAtMs: number;
1781
2562
  payeeUserId: string;
1782
2563
  receiptId: string;
1783
2564
  issuerId: string;
1784
2565
  channel: "pass" | "cash";
1785
- payload: Record<string, string | number | boolean | null>;
1786
2566
  intentId?: string | undefined;
1787
2567
  passRedemptionId?: string | undefined;
1788
2568
  }>, {
1789
2569
  currency: string;
1790
- issuerSig: string;
1791
2570
  amountKobo: number;
1792
2571
  payerUserId: string;
2572
+ payload: Record<string, string | number | boolean | null>;
2573
+ issuerSig: string;
1793
2574
  issuedAtMs: number;
1794
2575
  payeeUserId: string;
1795
2576
  receiptId: string;
1796
2577
  issuerId: string;
1797
2578
  channel: "pass" | "cash";
1798
- payload: Record<string, string | number | boolean | null>;
1799
2579
  intentId?: string | undefined;
1800
2580
  passRedemptionId?: string | undefined;
1801
2581
  }, {
1802
2582
  currency: string;
1803
- issuerSig: string;
1804
2583
  amountKobo: number;
1805
2584
  payerUserId: string;
2585
+ payload: Record<string, string | number | boolean | null>;
2586
+ issuerSig: string;
1806
2587
  issuedAtMs: number;
1807
2588
  payeeUserId: string;
1808
2589
  receiptId: string;
1809
2590
  issuerId: string;
1810
2591
  channel: "pass" | "cash";
1811
- payload: Record<string, string | number | boolean | null>;
1812
2592
  intentId?: string | undefined;
1813
2593
  passRedemptionId?: string | undefined;
1814
2594
  }>;
@@ -1952,8 +2732,8 @@ type FlurInitOptions = {
1952
2732
  fetchImpl?: typeof fetch;
1953
2733
  /** When true, all QR generation is performed locally without any network call. */
1954
2734
  offlineMode?: boolean;
1955
- /** Optional scope claim forwarded as `X-Flur-Scope`. Backend remains authoritative. */
1956
- scope?: readonly string[];
2735
+ /** Optional scope claim forwarded as `X-Flur-Scope`. Backend credentials remain authoritative. */
2736
+ scope?: readonly PartnerScope[];
1957
2737
  };
1958
2738
  type FlurPaymentEvent = {
1959
2739
  type: string;
@@ -1977,6 +2757,8 @@ type CashNamespace = {
1977
2757
  type FlurHandle = CashNamespace & {
1978
2758
  /** Cash / money: NQR generation, payment subscriptions, transfers (future). */
1979
2759
  cash: CashNamespace;
2760
+ /** Collections: merchant NQR intents, reports, statements, payouts. */
2761
+ collections: PartnerCollectionsClient;
1980
2762
  /** Passes: tickets, vouchers, loyalty, transit. */
1981
2763
  passes: PassesClient;
1982
2764
  /** Receipts: signed, immutable views over cash + pass events. */
@@ -2273,7 +3055,7 @@ declare const OACRecordSchema: z.ZodObject<{
2273
3055
  revokedAtMs: z.ZodNullable<z.ZodNumber>;
2274
3056
  holdId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2275
3057
  }, "strip", z.ZodTypeAny, {
2276
- status: "active" | "expired" | "revoked" | "closed" | "superseded" | "disabling" | "draining";
3058
+ status: "active" | "closed" | "expired" | "revoked" | "superseded" | "disabling" | "draining";
2277
3059
  issuerSig: string;
2278
3060
  revokedAtMs: number | null;
2279
3061
  oac: {
@@ -2295,7 +3077,7 @@ declare const OACRecordSchema: z.ZodObject<{
2295
3077
  supersededAtMs: number | null;
2296
3078
  holdId?: string | null | undefined;
2297
3079
  }, {
2298
- status: "active" | "expired" | "revoked" | "closed" | "superseded" | "disabling" | "draining";
3080
+ status: "active" | "closed" | "expired" | "revoked" | "superseded" | "disabling" | "draining";
2299
3081
  issuerSig: string;
2300
3082
  revokedAtMs: number | null;
2301
3083
  oac: {
@@ -2395,12 +3177,12 @@ declare const OfflineHoldRecordSchema: z.ZodObject<{
2395
3177
  closedAtMs: z.ZodNullable<z.ZodNumber>;
2396
3178
  isTrusted: z.ZodOptional<z.ZodBoolean>;
2397
3179
  }, "strip", z.ZodTypeAny, {
2398
- status: "active" | "revoked" | "closed" | "disabling" | "draining" | "placing" | "failed";
3180
+ status: "active" | "closed" | "failed" | "revoked" | "disabling" | "draining" | "placing";
2399
3181
  userId: string;
2400
3182
  deviceId: string;
2401
3183
  currency: string;
2402
- amountKobo: number;
2403
3184
  createdAtMs: number;
3185
+ amountKobo: number;
2404
3186
  holdId: string;
2405
3187
  installId: string | null;
2406
3188
  partnerId: string;
@@ -2414,12 +3196,12 @@ declare const OfflineHoldRecordSchema: z.ZodObject<{
2414
3196
  closedAtMs: number | null;
2415
3197
  isTrusted?: boolean | undefined;
2416
3198
  }, {
2417
- status: "active" | "revoked" | "closed" | "disabling" | "draining" | "placing" | "failed";
3199
+ status: "active" | "closed" | "failed" | "revoked" | "disabling" | "draining" | "placing";
2418
3200
  userId: string;
2419
3201
  deviceId: string;
2420
3202
  currency: string;
2421
- amountKobo: number;
2422
3203
  createdAtMs: number;
3204
+ amountKobo: number;
2423
3205
  holdId: string;
2424
3206
  installId: string | null;
2425
3207
  partnerId: string;
@@ -2455,12 +3237,12 @@ declare const EnableOfflineResultSchema: z.ZodObject<{
2455
3237
  closedAtMs: z.ZodNullable<z.ZodNumber>;
2456
3238
  isTrusted: z.ZodOptional<z.ZodBoolean>;
2457
3239
  }, "strip", z.ZodTypeAny, {
2458
- status: "active" | "revoked" | "closed" | "disabling" | "draining" | "placing" | "failed";
3240
+ status: "active" | "closed" | "failed" | "revoked" | "disabling" | "draining" | "placing";
2459
3241
  userId: string;
2460
3242
  deviceId: string;
2461
3243
  currency: string;
2462
- amountKobo: number;
2463
3244
  createdAtMs: number;
3245
+ amountKobo: number;
2464
3246
  holdId: string;
2465
3247
  installId: string | null;
2466
3248
  partnerId: string;
@@ -2474,12 +3256,12 @@ declare const EnableOfflineResultSchema: z.ZodObject<{
2474
3256
  closedAtMs: number | null;
2475
3257
  isTrusted?: boolean | undefined;
2476
3258
  }, {
2477
- status: "active" | "revoked" | "closed" | "disabling" | "draining" | "placing" | "failed";
3259
+ status: "active" | "closed" | "failed" | "revoked" | "disabling" | "draining" | "placing";
2478
3260
  userId: string;
2479
3261
  deviceId: string;
2480
3262
  currency: string;
2481
- amountKobo: number;
2482
3263
  createdAtMs: number;
3264
+ amountKobo: number;
2483
3265
  holdId: string;
2484
3266
  installId: string | null;
2485
3267
  partnerId: string;
@@ -2543,7 +3325,7 @@ declare const EnableOfflineResultSchema: z.ZodObject<{
2543
3325
  revokedAtMs: z.ZodNullable<z.ZodNumber>;
2544
3326
  holdId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2545
3327
  }, "strip", z.ZodTypeAny, {
2546
- status: "active" | "expired" | "revoked" | "closed" | "superseded" | "disabling" | "draining";
3328
+ status: "active" | "closed" | "expired" | "revoked" | "superseded" | "disabling" | "draining";
2547
3329
  issuerSig: string;
2548
3330
  revokedAtMs: number | null;
2549
3331
  oac: {
@@ -2565,7 +3347,7 @@ declare const EnableOfflineResultSchema: z.ZodObject<{
2565
3347
  supersededAtMs: number | null;
2566
3348
  holdId?: string | null | undefined;
2567
3349
  }, {
2568
- status: "active" | "expired" | "revoked" | "closed" | "superseded" | "disabling" | "draining";
3350
+ status: "active" | "closed" | "expired" | "revoked" | "superseded" | "disabling" | "draining";
2569
3351
  issuerSig: string;
2570
3352
  revokedAtMs: number | null;
2571
3353
  oac: {
@@ -2589,7 +3371,7 @@ declare const EnableOfflineResultSchema: z.ZodObject<{
2589
3371
  }>;
2590
3372
  }, "strip", z.ZodTypeAny, {
2591
3373
  oac: {
2592
- status: "active" | "expired" | "revoked" | "closed" | "superseded" | "disabling" | "draining";
3374
+ status: "active" | "closed" | "expired" | "revoked" | "superseded" | "disabling" | "draining";
2593
3375
  issuerSig: string;
2594
3376
  revokedAtMs: number | null;
2595
3377
  oac: {
@@ -2612,12 +3394,12 @@ declare const EnableOfflineResultSchema: z.ZodObject<{
2612
3394
  holdId?: string | null | undefined;
2613
3395
  };
2614
3396
  hold: {
2615
- status: "active" | "revoked" | "closed" | "disabling" | "draining" | "placing" | "failed";
3397
+ status: "active" | "closed" | "failed" | "revoked" | "disabling" | "draining" | "placing";
2616
3398
  userId: string;
2617
3399
  deviceId: string;
2618
3400
  currency: string;
2619
- amountKobo: number;
2620
3401
  createdAtMs: number;
3402
+ amountKobo: number;
2621
3403
  holdId: string;
2622
3404
  installId: string | null;
2623
3405
  partnerId: string;
@@ -2633,7 +3415,7 @@ declare const EnableOfflineResultSchema: z.ZodObject<{
2633
3415
  };
2634
3416
  }, {
2635
3417
  oac: {
2636
- status: "active" | "expired" | "revoked" | "closed" | "superseded" | "disabling" | "draining";
3418
+ status: "active" | "closed" | "expired" | "revoked" | "superseded" | "disabling" | "draining";
2637
3419
  issuerSig: string;
2638
3420
  revokedAtMs: number | null;
2639
3421
  oac: {
@@ -2656,12 +3438,12 @@ declare const EnableOfflineResultSchema: z.ZodObject<{
2656
3438
  holdId?: string | null | undefined;
2657
3439
  };
2658
3440
  hold: {
2659
- status: "active" | "revoked" | "closed" | "disabling" | "draining" | "placing" | "failed";
3441
+ status: "active" | "closed" | "failed" | "revoked" | "disabling" | "draining" | "placing";
2660
3442
  userId: string;
2661
3443
  deviceId: string;
2662
3444
  currency: string;
2663
- amountKobo: number;
2664
3445
  createdAtMs: number;
3446
+ amountKobo: number;
2665
3447
  holdId: string;
2666
3448
  installId: string | null;
2667
3449
  partnerId: string;
@@ -2698,12 +3480,12 @@ declare const DisableOfflineResultSchema: z.ZodObject<{
2698
3480
  closedAtMs: z.ZodNullable<z.ZodNumber>;
2699
3481
  isTrusted: z.ZodOptional<z.ZodBoolean>;
2700
3482
  }, "strip", z.ZodTypeAny, {
2701
- status: "active" | "revoked" | "closed" | "disabling" | "draining" | "placing" | "failed";
3483
+ status: "active" | "closed" | "failed" | "revoked" | "disabling" | "draining" | "placing";
2702
3484
  userId: string;
2703
3485
  deviceId: string;
2704
3486
  currency: string;
2705
- amountKobo: number;
2706
3487
  createdAtMs: number;
3488
+ amountKobo: number;
2707
3489
  holdId: string;
2708
3490
  installId: string | null;
2709
3491
  partnerId: string;
@@ -2717,12 +3499,12 @@ declare const DisableOfflineResultSchema: z.ZodObject<{
2717
3499
  closedAtMs: number | null;
2718
3500
  isTrusted?: boolean | undefined;
2719
3501
  }, {
2720
- status: "active" | "revoked" | "closed" | "disabling" | "draining" | "placing" | "failed";
3502
+ status: "active" | "closed" | "failed" | "revoked" | "disabling" | "draining" | "placing";
2721
3503
  userId: string;
2722
3504
  deviceId: string;
2723
3505
  currency: string;
2724
- amountKobo: number;
2725
3506
  createdAtMs: number;
3507
+ amountKobo: number;
2726
3508
  holdId: string;
2727
3509
  installId: string | null;
2728
3510
  partnerId: string;
@@ -2740,12 +3522,12 @@ declare const DisableOfflineResultSchema: z.ZodObject<{
2740
3522
  settledClaims: z.ZodNumber;
2741
3523
  }, "strip", z.ZodTypeAny, {
2742
3524
  hold: {
2743
- status: "active" | "revoked" | "closed" | "disabling" | "draining" | "placing" | "failed";
3525
+ status: "active" | "closed" | "failed" | "revoked" | "disabling" | "draining" | "placing";
2744
3526
  userId: string;
2745
3527
  deviceId: string;
2746
3528
  currency: string;
2747
- amountKobo: number;
2748
3529
  createdAtMs: number;
3530
+ amountKobo: number;
2749
3531
  holdId: string;
2750
3532
  installId: string | null;
2751
3533
  partnerId: string;
@@ -2763,12 +3545,12 @@ declare const DisableOfflineResultSchema: z.ZodObject<{
2763
3545
  settledClaims: number;
2764
3546
  }, {
2765
3547
  hold: {
2766
- status: "active" | "revoked" | "closed" | "disabling" | "draining" | "placing" | "failed";
3548
+ status: "active" | "closed" | "failed" | "revoked" | "disabling" | "draining" | "placing";
2767
3549
  userId: string;
2768
3550
  deviceId: string;
2769
3551
  currency: string;
2770
- amountKobo: number;
2771
3552
  createdAtMs: number;
3553
+ amountKobo: number;
2772
3554
  holdId: string;
2773
3555
  installId: string | null;
2774
3556
  partnerId: string;
@@ -2807,12 +3589,12 @@ declare const OfflineStatusResultSchema: z.ZodObject<{
2807
3589
  closedAtMs: z.ZodNullable<z.ZodNumber>;
2808
3590
  isTrusted: z.ZodOptional<z.ZodBoolean>;
2809
3591
  }, "strip", z.ZodTypeAny, {
2810
- status: "active" | "revoked" | "closed" | "disabling" | "draining" | "placing" | "failed";
3592
+ status: "active" | "closed" | "failed" | "revoked" | "disabling" | "draining" | "placing";
2811
3593
  userId: string;
2812
3594
  deviceId: string;
2813
3595
  currency: string;
2814
- amountKobo: number;
2815
3596
  createdAtMs: number;
3597
+ amountKobo: number;
2816
3598
  holdId: string;
2817
3599
  installId: string | null;
2818
3600
  partnerId: string;
@@ -2826,12 +3608,12 @@ declare const OfflineStatusResultSchema: z.ZodObject<{
2826
3608
  closedAtMs: number | null;
2827
3609
  isTrusted?: boolean | undefined;
2828
3610
  }, {
2829
- status: "active" | "revoked" | "closed" | "disabling" | "draining" | "placing" | "failed";
3611
+ status: "active" | "closed" | "failed" | "revoked" | "disabling" | "draining" | "placing";
2830
3612
  userId: string;
2831
3613
  deviceId: string;
2832
3614
  currency: string;
2833
- amountKobo: number;
2834
3615
  createdAtMs: number;
3616
+ amountKobo: number;
2835
3617
  holdId: string;
2836
3618
  installId: string | null;
2837
3619
  partnerId: string;
@@ -2895,7 +3677,7 @@ declare const OfflineStatusResultSchema: z.ZodObject<{
2895
3677
  revokedAtMs: z.ZodNullable<z.ZodNumber>;
2896
3678
  holdId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
2897
3679
  }, "strip", z.ZodTypeAny, {
2898
- status: "active" | "expired" | "revoked" | "closed" | "superseded" | "disabling" | "draining";
3680
+ status: "active" | "closed" | "expired" | "revoked" | "superseded" | "disabling" | "draining";
2899
3681
  issuerSig: string;
2900
3682
  revokedAtMs: number | null;
2901
3683
  oac: {
@@ -2917,7 +3699,7 @@ declare const OfflineStatusResultSchema: z.ZodObject<{
2917
3699
  supersededAtMs: number | null;
2918
3700
  holdId?: string | null | undefined;
2919
3701
  }, {
2920
- status: "active" | "expired" | "revoked" | "closed" | "superseded" | "disabling" | "draining";
3702
+ status: "active" | "closed" | "expired" | "revoked" | "superseded" | "disabling" | "draining";
2921
3703
  issuerSig: string;
2922
3704
  revokedAtMs: number | null;
2923
3705
  oac: {
@@ -2941,7 +3723,7 @@ declare const OfflineStatusResultSchema: z.ZodObject<{
2941
3723
  }>>;
2942
3724
  }, "strip", z.ZodTypeAny, {
2943
3725
  active: {
2944
- status: "active" | "expired" | "revoked" | "closed" | "superseded" | "disabling" | "draining";
3726
+ status: "active" | "closed" | "expired" | "revoked" | "superseded" | "disabling" | "draining";
2945
3727
  issuerSig: string;
2946
3728
  revokedAtMs: number | null;
2947
3729
  oac: {
@@ -2964,12 +3746,12 @@ declare const OfflineStatusResultSchema: z.ZodObject<{
2964
3746
  holdId?: string | null | undefined;
2965
3747
  } | null;
2966
3748
  hold: {
2967
- status: "active" | "revoked" | "closed" | "disabling" | "draining" | "placing" | "failed";
3749
+ status: "active" | "closed" | "failed" | "revoked" | "disabling" | "draining" | "placing";
2968
3750
  userId: string;
2969
3751
  deviceId: string;
2970
3752
  currency: string;
2971
- amountKobo: number;
2972
3753
  createdAtMs: number;
3754
+ amountKobo: number;
2973
3755
  holdId: string;
2974
3756
  installId: string | null;
2975
3757
  partnerId: string;
@@ -2985,7 +3767,7 @@ declare const OfflineStatusResultSchema: z.ZodObject<{
2985
3767
  } | null;
2986
3768
  }, {
2987
3769
  active: {
2988
- status: "active" | "expired" | "revoked" | "closed" | "superseded" | "disabling" | "draining";
3770
+ status: "active" | "closed" | "expired" | "revoked" | "superseded" | "disabling" | "draining";
2989
3771
  issuerSig: string;
2990
3772
  revokedAtMs: number | null;
2991
3773
  oac: {
@@ -3008,12 +3790,12 @@ declare const OfflineStatusResultSchema: z.ZodObject<{
3008
3790
  holdId?: string | null | undefined;
3009
3791
  } | null;
3010
3792
  hold: {
3011
- status: "active" | "revoked" | "closed" | "disabling" | "draining" | "placing" | "failed";
3793
+ status: "active" | "closed" | "failed" | "revoked" | "disabling" | "draining" | "placing";
3012
3794
  userId: string;
3013
3795
  deviceId: string;
3014
3796
  currency: string;
3015
- amountKobo: number;
3016
3797
  createdAtMs: number;
3798
+ amountKobo: number;
3017
3799
  holdId: string;
3018
3800
  installId: string | null;
3019
3801
  partnerId: string;
@@ -3080,7 +3862,7 @@ declare const OfflineStateResultSchema: z.ZodObject<{
3080
3862
  revokedAtMs: z.ZodNullable<z.ZodNumber>;
3081
3863
  holdId: z.ZodOptional<z.ZodNullable<z.ZodString>>;
3082
3864
  }, "strip", z.ZodTypeAny, {
3083
- status: "active" | "expired" | "revoked" | "closed" | "superseded" | "disabling" | "draining";
3865
+ status: "active" | "closed" | "expired" | "revoked" | "superseded" | "disabling" | "draining";
3084
3866
  issuerSig: string;
3085
3867
  revokedAtMs: number | null;
3086
3868
  oac: {
@@ -3102,7 +3884,7 @@ declare const OfflineStateResultSchema: z.ZodObject<{
3102
3884
  supersededAtMs: number | null;
3103
3885
  holdId?: string | null | undefined;
3104
3886
  }, {
3105
- status: "active" | "expired" | "revoked" | "closed" | "superseded" | "disabling" | "draining";
3887
+ status: "active" | "closed" | "expired" | "revoked" | "superseded" | "disabling" | "draining";
3106
3888
  issuerSig: string;
3107
3889
  revokedAtMs: number | null;
3108
3890
  oac: {
@@ -3126,7 +3908,7 @@ declare const OfflineStateResultSchema: z.ZodObject<{
3126
3908
  }>>;
3127
3909
  }, "strip", z.ZodTypeAny, {
3128
3910
  active: {
3129
- status: "active" | "expired" | "revoked" | "closed" | "superseded" | "disabling" | "draining";
3911
+ status: "active" | "closed" | "expired" | "revoked" | "superseded" | "disabling" | "draining";
3130
3912
  issuerSig: string;
3131
3913
  revokedAtMs: number | null;
3132
3914
  oac: {
@@ -3150,7 +3932,7 @@ declare const OfflineStateResultSchema: z.ZodObject<{
3150
3932
  } | null;
3151
3933
  }, {
3152
3934
  active: {
3153
- status: "active" | "expired" | "revoked" | "closed" | "superseded" | "disabling" | "draining";
3935
+ status: "active" | "closed" | "expired" | "revoked" | "superseded" | "disabling" | "draining";
3154
3936
  issuerSig: string;
3155
3937
  revokedAtMs: number | null;
3156
3938
  oac: {
@@ -3244,31 +4026,31 @@ declare const ConsumerSettlementSchema: z.ZodObject<{
3244
4026
  }, "strip", z.ZodTypeAny, {
3245
4027
  status: "SETTLED" | "REVIEW";
3246
4028
  currency: string;
3247
- issuerSig: string;
3248
- amountKobo: number;
3249
4029
  createdAtMs: number;
4030
+ amountKobo: number;
3250
4031
  payerUserId: string;
4032
+ ledgerRef: string | null;
4033
+ issuerSig: string;
3251
4034
  encounterId: string;
3252
4035
  payeeUserId: string;
3253
4036
  settlementId: string;
3254
4037
  settlementKey: string;
3255
4038
  oacId: string;
3256
4039
  reviewReason: string | null;
3257
- ledgerRef: string | null;
3258
4040
  }, {
3259
4041
  status: "SETTLED" | "REVIEW";
3260
4042
  currency: string;
3261
- issuerSig: string;
3262
- amountKobo: number;
3263
4043
  createdAtMs: number;
4044
+ amountKobo: number;
3264
4045
  payerUserId: string;
4046
+ ledgerRef: string | null;
4047
+ issuerSig: string;
3265
4048
  encounterId: string;
3266
4049
  payeeUserId: string;
3267
4050
  settlementId: string;
3268
4051
  settlementKey: string;
3269
4052
  oacId: string;
3270
4053
  reviewReason: string | null;
3271
- ledgerRef: string | null;
3272
4054
  }>;
3273
4055
  type ConsumerSettlement = z.infer<typeof ConsumerSettlementSchema>;
3274
4056
  declare const ConsumerSettleResultSchema: z.ZodObject<{
@@ -3289,70 +4071,70 @@ declare const ConsumerSettleResultSchema: z.ZodObject<{
3289
4071
  }, "strip", z.ZodTypeAny, {
3290
4072
  status: "SETTLED" | "REVIEW";
3291
4073
  currency: string;
3292
- issuerSig: string;
3293
- amountKobo: number;
3294
4074
  createdAtMs: number;
4075
+ amountKobo: number;
3295
4076
  payerUserId: string;
4077
+ ledgerRef: string | null;
4078
+ issuerSig: string;
3296
4079
  encounterId: string;
3297
4080
  payeeUserId: string;
3298
4081
  settlementId: string;
3299
4082
  settlementKey: string;
3300
4083
  oacId: string;
3301
4084
  reviewReason: string | null;
3302
- ledgerRef: string | null;
3303
4085
  }, {
3304
4086
  status: "SETTLED" | "REVIEW";
3305
4087
  currency: string;
3306
- issuerSig: string;
3307
- amountKobo: number;
3308
4088
  createdAtMs: number;
4089
+ amountKobo: number;
3309
4090
  payerUserId: string;
4091
+ ledgerRef: string | null;
4092
+ issuerSig: string;
3310
4093
  encounterId: string;
3311
4094
  payeeUserId: string;
3312
4095
  settlementId: string;
3313
4096
  settlementKey: string;
3314
4097
  oacId: string;
3315
4098
  reviewReason: string | null;
3316
- ledgerRef: string | null;
3317
4099
  }>;
3318
4100
  encounterId: z.ZodString;
3319
4101
  replayed: z.ZodBoolean;
3320
4102
  }, "strip", z.ZodTypeAny, {
4103
+ replayed: boolean;
3321
4104
  encounterId: string;
3322
4105
  settlement: {
3323
4106
  status: "SETTLED" | "REVIEW";
3324
4107
  currency: string;
3325
- issuerSig: string;
3326
- amountKobo: number;
3327
4108
  createdAtMs: number;
4109
+ amountKobo: number;
3328
4110
  payerUserId: string;
4111
+ ledgerRef: string | null;
4112
+ issuerSig: string;
3329
4113
  encounterId: string;
3330
4114
  payeeUserId: string;
3331
4115
  settlementId: string;
3332
4116
  settlementKey: string;
3333
4117
  oacId: string;
3334
4118
  reviewReason: string | null;
3335
- ledgerRef: string | null;
3336
4119
  };
3337
- replayed: boolean;
3338
4120
  }, {
4121
+ replayed: boolean;
3339
4122
  encounterId: string;
3340
4123
  settlement: {
3341
4124
  status: "SETTLED" | "REVIEW";
3342
4125
  currency: string;
3343
- issuerSig: string;
3344
- amountKobo: number;
3345
4126
  createdAtMs: number;
4127
+ amountKobo: number;
3346
4128
  payerUserId: string;
4129
+ ledgerRef: string | null;
4130
+ issuerSig: string;
3347
4131
  encounterId: string;
3348
4132
  payeeUserId: string;
3349
4133
  settlementId: string;
3350
4134
  settlementKey: string;
3351
4135
  oacId: string;
3352
4136
  reviewReason: string | null;
3353
- ledgerRef: string | null;
3354
4137
  };
3355
- replayed: boolean;
3356
4138
  }>;
3357
4139
  type ConsumerSettleResult = z.infer<typeof ConsumerSettleResultSchema>;
3358
4140
  declare const RevokeDeviceKeyInputSchema: z.ZodObject<{
@@ -3387,4 +4169,758 @@ type MeOfflineClient = {
3387
4169
  };
3388
4170
  declare function createMeOfflineClient(opts: MeOfflineClientOptions): MeOfflineClient;
3389
4171
 
3390
- export { ACCOUNT_STATUSES, ACCOUNT_TYPES, ADDITIONAL_DATA_SUBFIELD, type Account, type AccountActivityItem, type AccountMembership, AccountMembershipSchema, AccountSchema, type AccountStatus, type AccountSummaryResponse, type AccountType, type AccountsClient, type AccountsClientOptions, type AddMemberInput, type AdditionalData, type ApiCredentialPublic, ApiCredentialPublicSchema, type ApiCredentialsAdminClient, type AtomicRedeemReceiptInput, type AtomicRedeemResponse, type AuthLogoutInput, type AuthRefreshInput, type AuthRefreshResponse, type AuthorizeSendWithBiometricInput, type AuthorizedOptions, type BiometricSigner, type BuildPassInput, type BuildReceiptInput, type BuildRedemptionInput, type CashNamespace, type ConsumerOAC, type OACRecord as ConsumerOACRecord, OACRecordSchema as ConsumerOACRecordSchema, ConsumerOACSchema, type ConsumerPaymentClaim, ConsumerPaymentClaimSchema, type ConsumerSettleResult, ConsumerSettleResultSchema, type ConsumerSettlement, ConsumerSettlementSchema, type CreateBusinessAccountInput, type CreatePayLinkResponse, type CreateTransferOptions, type DeviceKeyRecord, DeviceKeyRecordSchema, type DeviceTrustState, type DisableOfflineInput, DisableOfflineInputSchema, type DisableOfflineResult, DisableOfflineResultSchema, type Ed25519KeyPair, type EnableOfflineInput, EnableOfflineInputSchema, type EnableOfflineResult, EnableOfflineResultSchema, FIELD, FlurApiError, FlurCapExceededError, FlurClient, type FlurClientOptions, FlurError, type FlurErrorCode, FlurExpiredError, type FlurHandle, type FlurInitOptions, type FlurOfflineSettlementsClient, type FlurPartnerClient, type FlurPaymentEvent, FlurReplayError, type HmacFetchOptions, type IssueOACInput, IssueOACInputSchema, type IssueOfflineTokenInput, type IssuePassInput, type IssueReceiptInput, type ListPassesInput, type ListPassesResponse, type ListReceiptsInput, type ListReceiptsResponse, type ListTransactionsOptions, MEMBERSHIP_ROLES, type MeOfflineClient, type MeOfflineClientOptions, type MembershipRole, type MerchantAccountInfo, type MintedApiCredential, MintedApiCredentialSchema, type Money, NGN_CURRENCY_CODE, NG_COUNTRY_CODE, NQRParseError, type NQRPayloadInput, type OAC, OACSchema, OAC_DEFAULT_CUMULATIVE_KOBO, OAC_DEFAULT_PER_TX_KOBO, OAC_DEFAULT_VALIDITY_MS, type OfflineHoldRecord, OfflineHoldRecordSchema, type OfflinePaymentAuthorization, OfflinePaymentAuthorizationSchema, type OfflinePaymentRequest, OfflinePaymentRequestSchema, type OfflineStateResult, OfflineStateResultSchema, type OfflineStatusResult, OfflineStatusResultSchema, type OfflineToken, OfflineTokenSchema, type OnboardingCompleteInput, type OnboardingCompleteResponse, type OnboardingFallback, type OnboardingRiskReason, type OnboardingStartInput, type OnboardingStartResponse, PARTNER_SCOPES, PASS_KINDS, PASS_STATES, PAYLOAD_FORMAT_INDICATOR_VALUE, POINT_OF_INITIATION, type ParsedNQR, type PartnerClientOptions, type PartnerScope, type PartnerSignResult, type Pass, type PassKind, type PassMetadata, PassMetadataSchema, PassSchema, type PassState, type PassesClient, type PassesClientOptions, type PaymentClaim, PaymentClaimSchema, type PinSetInput, type PinVerifyInput, type PushPlatform, type PushRegisterInput, RECEIPT_CHANNELS, RECEIPT_KINDS, REPLAY_WINDOW_MS, type Receipt, type ReceiptChannel, type ReceiptKind, type ReceiptPayload, ReceiptPayloadSchema, ReceiptSchema, type ReceiptsClient, type ReceiptsClientOptions, type RecipientResolveInput, type RecipientResolveResponse, type RedeemPassResponse, type Redemption, RedemptionSchema, type RegisterDeviceInput, type RegisterDeviceKeyInput, RegisterDeviceKeyInputSchema, type RegisterDeviceResponse, type RegisterSendDeviceKeyInput, type ResolvePayLinkResponse, type RevokeDeviceKeyInput, RevokeDeviceKeyInputSchema, type RevokePassInput, type RoutingHint, type SendChallengeInput, type SendChallengeResponse, type SendMoneyInput, type SendMoneyOptions, type SendVerifyInput, type SendVerifyResponse, type SettleResponse, SettleResponseSchema, type Settlement, SettlementSchema, type SignedConsumerOAC, SignedConsumerOACSchema, type SubscribeOptions, type TLVField, type TransactionDetailResponse, type TransactionDirection, type TransactionsListResponse, type TransferInput, type TransferResponse, type TransferStatus, type UnsignedOAC, type UnsignedOfflinePaymentAuthorization, type UnsignedOfflinePaymentRequest, type UnsignedPass, type UnsignedReceipt, type UnsignedRedemption, bodySha256Hex, buildAuthorization, buildOAC, buildPass, buildPaymentRequest, buildReceipt, buildRedemption, canonicalJSONBytes, canonicalJSONStringify, canonicalRequestString, computeEncounterId, constantTimeEqual, crc16ccitt, crc16ccittHex, createAccountsClient, createApiCredentialsAdminClient, createFlurPartnerClient, createHmacFetch, createMeOfflineClient, createOfflineSettlementsClient, createPassesClient, createReceiptsClient, decodeAuthorizationQR, decodeBase45, decodePaymentRequestQR, encodeAuthorizationQR, encodeBase45, encodeNQR, encodePaymentRequestQR, formatAmount, generateDynamicQR, generateKeyPair, generateStaticQR, init, isPassWithinValidity, moneyMinorToNumber, normalizeE164, parseAmountInput, parseNQR, parseQR, publicKeyFromPrivate, readTLV, routingHint, sign, signAuthorization, signCanonical, signOAC, signPartnerRequest, signPass, signPaymentRequest, signReceipt, signRedemption, signRequestHMAC, verify, verifyAuthorization, verifyCanonical, verifyOAC, verifyPass, verifyPaymentRequest, verifyReceipt, verifyRedemption, verifyRequestHMAC, writeTLV };
4172
+ /**
4173
+ * Partner-funded wallet rails SDK.
4174
+ *
4175
+ * Provides two clients:
4176
+ * - `createPartnerFundingClient(partnerClient)` — uses partner HMAC for
4177
+ * the bank/merchant partner endpoints (funding webhook, payout events,
4178
+ * daily reconciliation). The caller MUST have minted credentials with
4179
+ * the appropriate scopes (`partner:funding:write`, `partner:payout:write`,
4180
+ * `partner:reconciliation:read`).
4181
+ * - `createConsumerWithdrawalsClient(opts)` — session-bearer auth for the
4182
+ * consumer endpoints (linked payout destinations, withdrawals).
4183
+ *
4184
+ * Schemas mirror `flur-backend/src/partner-funding/types.ts`. Money is
4185
+ * always represented in MINOR units (e.g. kobo for NGN). BIGINT-bearing
4186
+ * response fields are serialized as integer strings to avoid JS number
4187
+ * precision issues; reserve balances and imbalances may be signed.
4188
+ */
4189
+
4190
+ declare const PARTNER_KINDS: readonly ["bank", "merchant"];
4191
+ type PartnerKind = (typeof PARTNER_KINDS)[number];
4192
+ declare const CUSTODIAL_MODES: readonly ["agent_of_bank", "flur_virtual_pool"];
4193
+ type CustodialMode = (typeof CUSTODIAL_MODES)[number];
4194
+ declare const PARTNER_PROFILE_STATUSES: readonly ["active", "suspended", "closed"];
4195
+ type PartnerProfileStatus = (typeof PARTNER_PROFILE_STATUSES)[number];
4196
+ declare const PARTNER_FUNDING_DIRECTIONS: readonly ["credit", "debit"];
4197
+ type PartnerFundingDirection = (typeof PARTNER_FUNDING_DIRECTIONS)[number];
4198
+ declare const PARTNER_FUNDING_STATUSES: readonly ["pending", "posted", "failed"];
4199
+ type PartnerFundingStatus = (typeof PARTNER_FUNDING_STATUSES)[number];
4200
+ declare const PAYOUT_DESTINATION_STATUSES: readonly ["pending", "verified", "disabled"];
4201
+ type PayoutDestinationStatus = (typeof PAYOUT_DESTINATION_STATUSES)[number];
4202
+ declare const WITHDRAWAL_STATES: readonly ["requested", "submitted", "processing", "paid", "failed", "reversed"];
4203
+ type WithdrawalState = (typeof WITHDRAWAL_STATES)[number];
4204
+ declare const PartnerProfileSchema: z.ZodObject<{
4205
+ partnerAccountId: z.ZodString;
4206
+ kind: z.ZodEnum<["bank", "merchant"]>;
4207
+ custodialMode: z.ZodEnum<["agent_of_bank", "flur_virtual_pool"]>;
4208
+ displayName: z.ZodString;
4209
+ bankCode: z.ZodNullable<z.ZodString>;
4210
+ poolAccountNumber: z.ZodNullable<z.ZodString>;
4211
+ status: z.ZodEnum<["active", "suspended", "closed"]>;
4212
+ metadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
4213
+ createdAtMs: z.ZodNumber;
4214
+ updatedAtMs: z.ZodNumber;
4215
+ }, "strip", z.ZodTypeAny, {
4216
+ status: "active" | "suspended" | "closed";
4217
+ displayName: string;
4218
+ metadata: Record<string, unknown>;
4219
+ createdAtMs: number;
4220
+ updatedAtMs: number;
4221
+ kind: "bank" | "merchant";
4222
+ partnerAccountId: string;
4223
+ custodialMode: "agent_of_bank" | "flur_virtual_pool";
4224
+ bankCode: string | null;
4225
+ poolAccountNumber: string | null;
4226
+ }, {
4227
+ status: "active" | "suspended" | "closed";
4228
+ displayName: string;
4229
+ metadata: Record<string, unknown>;
4230
+ createdAtMs: number;
4231
+ updatedAtMs: number;
4232
+ kind: "bank" | "merchant";
4233
+ partnerAccountId: string;
4234
+ custodialMode: "agent_of_bank" | "flur_virtual_pool";
4235
+ bankCode: string | null;
4236
+ poolAccountNumber: string | null;
4237
+ }>;
4238
+ type PartnerProfile = z.infer<typeof PartnerProfileSchema>;
4239
+ declare const UpsertPartnerProfileInputSchema: z.ZodObject<{
4240
+ kind: z.ZodEnum<["bank", "merchant"]>;
4241
+ custodialMode: z.ZodEnum<["agent_of_bank", "flur_virtual_pool"]>;
4242
+ displayName: z.ZodString;
4243
+ bankCode: z.ZodOptional<z.ZodString>;
4244
+ poolAccountNumber: z.ZodOptional<z.ZodString>;
4245
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
4246
+ }, "strip", z.ZodTypeAny, {
4247
+ displayName: string;
4248
+ kind: "bank" | "merchant";
4249
+ custodialMode: "agent_of_bank" | "flur_virtual_pool";
4250
+ metadata?: Record<string, unknown> | undefined;
4251
+ bankCode?: string | undefined;
4252
+ poolAccountNumber?: string | undefined;
4253
+ }, {
4254
+ displayName: string;
4255
+ kind: "bank" | "merchant";
4256
+ custodialMode: "agent_of_bank" | "flur_virtual_pool";
4257
+ metadata?: Record<string, unknown> | undefined;
4258
+ bankCode?: string | undefined;
4259
+ poolAccountNumber?: string | undefined;
4260
+ }>;
4261
+ type UpsertPartnerProfileInput = z.infer<typeof UpsertPartnerProfileInputSchema>;
4262
+ declare const PartnerFundingEventInputSchema: z.ZodObject<{
4263
+ externalRef: z.ZodString;
4264
+ direction: z.ZodOptional<z.ZodEnum<["credit", "debit"]>>;
4265
+ userId: z.ZodOptional<z.ZodString>;
4266
+ accountId: z.ZodOptional<z.ZodString>;
4267
+ amountMinor: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
4268
+ currency: z.ZodEffects<z.ZodString, string, string>;
4269
+ fundingSource: z.ZodOptional<z.ZodString>;
4270
+ providerMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
4271
+ }, "strip", z.ZodTypeAny, {
4272
+ amountMinor: string | number;
4273
+ currency: string;
4274
+ externalRef: string;
4275
+ userId?: string | undefined;
4276
+ direction?: "credit" | "debit" | undefined;
4277
+ accountId?: string | undefined;
4278
+ fundingSource?: string | undefined;
4279
+ providerMetadata?: Record<string, unknown> | undefined;
4280
+ }, {
4281
+ amountMinor: string | number;
4282
+ currency: string;
4283
+ externalRef: string;
4284
+ userId?: string | undefined;
4285
+ direction?: "credit" | "debit" | undefined;
4286
+ accountId?: string | undefined;
4287
+ fundingSource?: string | undefined;
4288
+ providerMetadata?: Record<string, unknown> | undefined;
4289
+ }>;
4290
+ type PartnerFundingEventInput = z.infer<typeof PartnerFundingEventInputSchema>;
4291
+ declare const PartnerFundingSchema: z.ZodObject<{
4292
+ fundingId: z.ZodString;
4293
+ partnerId: z.ZodString;
4294
+ accountId: z.ZodString;
4295
+ userId: z.ZodNullable<z.ZodString>;
4296
+ direction: z.ZodEnum<["credit", "debit"]>;
4297
+ currency: z.ZodString;
4298
+ amountMinor: z.ZodString;
4299
+ externalRef: z.ZodString;
4300
+ status: z.ZodEnum<["pending", "posted", "failed"]>;
4301
+ fundingSource: z.ZodString;
4302
+ ledgerRef: z.ZodString;
4303
+ providerMetadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
4304
+ createdAtMs: z.ZodNumber;
4305
+ updatedAtMs: z.ZodNumber;
4306
+ }, "strip", z.ZodTypeAny, {
4307
+ status: "pending" | "failed" | "posted";
4308
+ userId: string | null;
4309
+ amountMinor: string;
4310
+ currency: string;
4311
+ direction: "credit" | "debit";
4312
+ accountId: string;
4313
+ createdAtMs: number;
4314
+ updatedAtMs: number;
4315
+ ledgerRef: string;
4316
+ partnerId: string;
4317
+ externalRef: string;
4318
+ fundingSource: string;
4319
+ providerMetadata: Record<string, unknown>;
4320
+ fundingId: string;
4321
+ }, {
4322
+ status: "pending" | "failed" | "posted";
4323
+ userId: string | null;
4324
+ amountMinor: string;
4325
+ currency: string;
4326
+ direction: "credit" | "debit";
4327
+ accountId: string;
4328
+ createdAtMs: number;
4329
+ updatedAtMs: number;
4330
+ ledgerRef: string;
4331
+ partnerId: string;
4332
+ externalRef: string;
4333
+ fundingSource: string;
4334
+ providerMetadata: Record<string, unknown>;
4335
+ fundingId: string;
4336
+ }>;
4337
+ type PartnerFunding = z.infer<typeof PartnerFundingSchema>;
4338
+ declare const IngestFundingResultSchema: z.ZodObject<{
4339
+ funding: z.ZodObject<{
4340
+ fundingId: z.ZodString;
4341
+ partnerId: z.ZodString;
4342
+ accountId: z.ZodString;
4343
+ userId: z.ZodNullable<z.ZodString>;
4344
+ direction: z.ZodEnum<["credit", "debit"]>;
4345
+ currency: z.ZodString;
4346
+ amountMinor: z.ZodString;
4347
+ externalRef: z.ZodString;
4348
+ status: z.ZodEnum<["pending", "posted", "failed"]>;
4349
+ fundingSource: z.ZodString;
4350
+ ledgerRef: z.ZodString;
4351
+ providerMetadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
4352
+ createdAtMs: z.ZodNumber;
4353
+ updatedAtMs: z.ZodNumber;
4354
+ }, "strip", z.ZodTypeAny, {
4355
+ status: "pending" | "failed" | "posted";
4356
+ userId: string | null;
4357
+ amountMinor: string;
4358
+ currency: string;
4359
+ direction: "credit" | "debit";
4360
+ accountId: string;
4361
+ createdAtMs: number;
4362
+ updatedAtMs: number;
4363
+ ledgerRef: string;
4364
+ partnerId: string;
4365
+ externalRef: string;
4366
+ fundingSource: string;
4367
+ providerMetadata: Record<string, unknown>;
4368
+ fundingId: string;
4369
+ }, {
4370
+ status: "pending" | "failed" | "posted";
4371
+ userId: string | null;
4372
+ amountMinor: string;
4373
+ currency: string;
4374
+ direction: "credit" | "debit";
4375
+ accountId: string;
4376
+ createdAtMs: number;
4377
+ updatedAtMs: number;
4378
+ ledgerRef: string;
4379
+ partnerId: string;
4380
+ externalRef: string;
4381
+ fundingSource: string;
4382
+ providerMetadata: Record<string, unknown>;
4383
+ fundingId: string;
4384
+ }>;
4385
+ replayed: z.ZodBoolean;
4386
+ }, "strip", z.ZodTypeAny, {
4387
+ replayed: boolean;
4388
+ funding: {
4389
+ status: "pending" | "failed" | "posted";
4390
+ userId: string | null;
4391
+ amountMinor: string;
4392
+ currency: string;
4393
+ direction: "credit" | "debit";
4394
+ accountId: string;
4395
+ createdAtMs: number;
4396
+ updatedAtMs: number;
4397
+ ledgerRef: string;
4398
+ partnerId: string;
4399
+ externalRef: string;
4400
+ fundingSource: string;
4401
+ providerMetadata: Record<string, unknown>;
4402
+ fundingId: string;
4403
+ };
4404
+ }, {
4405
+ replayed: boolean;
4406
+ funding: {
4407
+ status: "pending" | "failed" | "posted";
4408
+ userId: string | null;
4409
+ amountMinor: string;
4410
+ currency: string;
4411
+ direction: "credit" | "debit";
4412
+ accountId: string;
4413
+ createdAtMs: number;
4414
+ updatedAtMs: number;
4415
+ ledgerRef: string;
4416
+ partnerId: string;
4417
+ externalRef: string;
4418
+ fundingSource: string;
4419
+ providerMetadata: Record<string, unknown>;
4420
+ fundingId: string;
4421
+ };
4422
+ }>;
4423
+ type IngestFundingResult = z.infer<typeof IngestFundingResultSchema>;
4424
+ declare const PayoutDestinationSchema: z.ZodObject<{
4425
+ destinationId: z.ZodString;
4426
+ accountId: z.ZodString;
4427
+ partnerId: z.ZodString;
4428
+ bankCode: z.ZodString;
4429
+ accountNumber: z.ZodString;
4430
+ accountName: z.ZodString;
4431
+ status: z.ZodEnum<["pending", "verified", "disabled"]>;
4432
+ verifiedAtMs: z.ZodNullable<z.ZodNumber>;
4433
+ metadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
4434
+ createdAtMs: z.ZodNumber;
4435
+ updatedAtMs: z.ZodNumber;
4436
+ }, "strip", z.ZodTypeAny, {
4437
+ status: "pending" | "verified" | "disabled";
4438
+ accountId: string;
4439
+ metadata: Record<string, unknown>;
4440
+ createdAtMs: number;
4441
+ updatedAtMs: number;
4442
+ partnerId: string;
4443
+ bankCode: string;
4444
+ destinationId: string;
4445
+ accountNumber: string;
4446
+ accountName: string;
4447
+ verifiedAtMs: number | null;
4448
+ }, {
4449
+ status: "pending" | "verified" | "disabled";
4450
+ accountId: string;
4451
+ metadata: Record<string, unknown>;
4452
+ createdAtMs: number;
4453
+ updatedAtMs: number;
4454
+ partnerId: string;
4455
+ bankCode: string;
4456
+ destinationId: string;
4457
+ accountNumber: string;
4458
+ accountName: string;
4459
+ verifiedAtMs: number | null;
4460
+ }>;
4461
+ type PayoutDestination = z.infer<typeof PayoutDestinationSchema>;
4462
+ declare const CreatePayoutDestinationInputSchema: z.ZodObject<{
4463
+ partnerId: z.ZodString;
4464
+ bankCode: z.ZodString;
4465
+ accountNumber: z.ZodString;
4466
+ accountName: z.ZodString;
4467
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
4468
+ }, "strip", z.ZodTypeAny, {
4469
+ partnerId: string;
4470
+ bankCode: string;
4471
+ accountNumber: string;
4472
+ accountName: string;
4473
+ metadata?: Record<string, unknown> | undefined;
4474
+ }, {
4475
+ partnerId: string;
4476
+ bankCode: string;
4477
+ accountNumber: string;
4478
+ accountName: string;
4479
+ metadata?: Record<string, unknown> | undefined;
4480
+ }>;
4481
+ type CreatePayoutDestinationInput = z.infer<typeof CreatePayoutDestinationInputSchema>;
4482
+ declare const ListPayoutDestinationsResultSchema: z.ZodObject<{
4483
+ items: z.ZodArray<z.ZodObject<{
4484
+ destinationId: z.ZodString;
4485
+ accountId: z.ZodString;
4486
+ partnerId: z.ZodString;
4487
+ bankCode: z.ZodString;
4488
+ accountNumber: z.ZodString;
4489
+ accountName: z.ZodString;
4490
+ status: z.ZodEnum<["pending", "verified", "disabled"]>;
4491
+ verifiedAtMs: z.ZodNullable<z.ZodNumber>;
4492
+ metadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
4493
+ createdAtMs: z.ZodNumber;
4494
+ updatedAtMs: z.ZodNumber;
4495
+ }, "strip", z.ZodTypeAny, {
4496
+ status: "pending" | "verified" | "disabled";
4497
+ accountId: string;
4498
+ metadata: Record<string, unknown>;
4499
+ createdAtMs: number;
4500
+ updatedAtMs: number;
4501
+ partnerId: string;
4502
+ bankCode: string;
4503
+ destinationId: string;
4504
+ accountNumber: string;
4505
+ accountName: string;
4506
+ verifiedAtMs: number | null;
4507
+ }, {
4508
+ status: "pending" | "verified" | "disabled";
4509
+ accountId: string;
4510
+ metadata: Record<string, unknown>;
4511
+ createdAtMs: number;
4512
+ updatedAtMs: number;
4513
+ partnerId: string;
4514
+ bankCode: string;
4515
+ destinationId: string;
4516
+ accountNumber: string;
4517
+ accountName: string;
4518
+ verifiedAtMs: number | null;
4519
+ }>, "many">;
4520
+ }, "strip", z.ZodTypeAny, {
4521
+ items: {
4522
+ status: "pending" | "verified" | "disabled";
4523
+ accountId: string;
4524
+ metadata: Record<string, unknown>;
4525
+ createdAtMs: number;
4526
+ updatedAtMs: number;
4527
+ partnerId: string;
4528
+ bankCode: string;
4529
+ destinationId: string;
4530
+ accountNumber: string;
4531
+ accountName: string;
4532
+ verifiedAtMs: number | null;
4533
+ }[];
4534
+ }, {
4535
+ items: {
4536
+ status: "pending" | "verified" | "disabled";
4537
+ accountId: string;
4538
+ metadata: Record<string, unknown>;
4539
+ createdAtMs: number;
4540
+ updatedAtMs: number;
4541
+ partnerId: string;
4542
+ bankCode: string;
4543
+ destinationId: string;
4544
+ accountNumber: string;
4545
+ accountName: string;
4546
+ verifiedAtMs: number | null;
4547
+ }[];
4548
+ }>;
4549
+ type ListPayoutDestinationsResult = z.infer<typeof ListPayoutDestinationsResultSchema>;
4550
+ declare const WithdrawalSchema: z.ZodObject<{
4551
+ withdrawalId: z.ZodString;
4552
+ accountId: z.ZodString;
4553
+ userId: z.ZodString;
4554
+ partnerId: z.ZodString;
4555
+ destinationId: z.ZodString;
4556
+ currency: z.ZodString;
4557
+ amountMinor: z.ZodString;
4558
+ state: z.ZodEnum<["requested", "submitted", "processing", "paid", "failed", "reversed"]>;
4559
+ idempotencyKey: z.ZodString;
4560
+ providerRef: z.ZodNullable<z.ZodString>;
4561
+ lastError: z.ZodNullable<z.ZodString>;
4562
+ ledgerRef: z.ZodString;
4563
+ reverseLedgerRef: z.ZodNullable<z.ZodString>;
4564
+ metadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
4565
+ createdAtMs: z.ZodNumber;
4566
+ updatedAtMs: z.ZodNumber;
4567
+ }, "strip", z.ZodTypeAny, {
4568
+ userId: string;
4569
+ amountMinor: string;
4570
+ currency: string;
4571
+ accountId: string;
4572
+ metadata: Record<string, unknown>;
4573
+ createdAtMs: number;
4574
+ updatedAtMs: number;
4575
+ idempotencyKey: string;
4576
+ ledgerRef: string;
4577
+ state: "paid" | "failed" | "reversed" | "requested" | "processing" | "submitted";
4578
+ partnerId: string;
4579
+ destinationId: string;
4580
+ withdrawalId: string;
4581
+ providerRef: string | null;
4582
+ lastError: string | null;
4583
+ reverseLedgerRef: string | null;
4584
+ }, {
4585
+ userId: string;
4586
+ amountMinor: string;
4587
+ currency: string;
4588
+ accountId: string;
4589
+ metadata: Record<string, unknown>;
4590
+ createdAtMs: number;
4591
+ updatedAtMs: number;
4592
+ idempotencyKey: string;
4593
+ ledgerRef: string;
4594
+ state: "paid" | "failed" | "reversed" | "requested" | "processing" | "submitted";
4595
+ partnerId: string;
4596
+ destinationId: string;
4597
+ withdrawalId: string;
4598
+ providerRef: string | null;
4599
+ lastError: string | null;
4600
+ reverseLedgerRef: string | null;
4601
+ }>;
4602
+ type Withdrawal = z.infer<typeof WithdrawalSchema>;
4603
+ declare const CreateWithdrawalInputSchema: z.ZodObject<{
4604
+ destinationId: z.ZodString;
4605
+ amountMinor: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
4606
+ currency: z.ZodEffects<z.ZodString, string, string>;
4607
+ idempotencyKey: z.ZodString;
4608
+ metadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
4609
+ }, "strip", z.ZodTypeAny, {
4610
+ amountMinor: string | number;
4611
+ currency: string;
4612
+ idempotencyKey: string;
4613
+ destinationId: string;
4614
+ metadata?: Record<string, unknown> | undefined;
4615
+ }, {
4616
+ amountMinor: string | number;
4617
+ currency: string;
4618
+ idempotencyKey: string;
4619
+ destinationId: string;
4620
+ metadata?: Record<string, unknown> | undefined;
4621
+ }>;
4622
+ type CreateWithdrawalInput = z.infer<typeof CreateWithdrawalInputSchema>;
4623
+ declare const CreateWithdrawalResultSchema: z.ZodObject<{
4624
+ withdrawal: z.ZodObject<{
4625
+ withdrawalId: z.ZodString;
4626
+ accountId: z.ZodString;
4627
+ userId: z.ZodString;
4628
+ partnerId: z.ZodString;
4629
+ destinationId: z.ZodString;
4630
+ currency: z.ZodString;
4631
+ amountMinor: z.ZodString;
4632
+ state: z.ZodEnum<["requested", "submitted", "processing", "paid", "failed", "reversed"]>;
4633
+ idempotencyKey: z.ZodString;
4634
+ providerRef: z.ZodNullable<z.ZodString>;
4635
+ lastError: z.ZodNullable<z.ZodString>;
4636
+ ledgerRef: z.ZodString;
4637
+ reverseLedgerRef: z.ZodNullable<z.ZodString>;
4638
+ metadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
4639
+ createdAtMs: z.ZodNumber;
4640
+ updatedAtMs: z.ZodNumber;
4641
+ }, "strip", z.ZodTypeAny, {
4642
+ userId: string;
4643
+ amountMinor: string;
4644
+ currency: string;
4645
+ accountId: string;
4646
+ metadata: Record<string, unknown>;
4647
+ createdAtMs: number;
4648
+ updatedAtMs: number;
4649
+ idempotencyKey: string;
4650
+ ledgerRef: string;
4651
+ state: "paid" | "failed" | "reversed" | "requested" | "processing" | "submitted";
4652
+ partnerId: string;
4653
+ destinationId: string;
4654
+ withdrawalId: string;
4655
+ providerRef: string | null;
4656
+ lastError: string | null;
4657
+ reverseLedgerRef: string | null;
4658
+ }, {
4659
+ userId: string;
4660
+ amountMinor: string;
4661
+ currency: string;
4662
+ accountId: string;
4663
+ metadata: Record<string, unknown>;
4664
+ createdAtMs: number;
4665
+ updatedAtMs: number;
4666
+ idempotencyKey: string;
4667
+ ledgerRef: string;
4668
+ state: "paid" | "failed" | "reversed" | "requested" | "processing" | "submitted";
4669
+ partnerId: string;
4670
+ destinationId: string;
4671
+ withdrawalId: string;
4672
+ providerRef: string | null;
4673
+ lastError: string | null;
4674
+ reverseLedgerRef: string | null;
4675
+ }>;
4676
+ replayed: z.ZodBoolean;
4677
+ }, "strip", z.ZodTypeAny, {
4678
+ replayed: boolean;
4679
+ withdrawal: {
4680
+ userId: string;
4681
+ amountMinor: string;
4682
+ currency: string;
4683
+ accountId: string;
4684
+ metadata: Record<string, unknown>;
4685
+ createdAtMs: number;
4686
+ updatedAtMs: number;
4687
+ idempotencyKey: string;
4688
+ ledgerRef: string;
4689
+ state: "paid" | "failed" | "reversed" | "requested" | "processing" | "submitted";
4690
+ partnerId: string;
4691
+ destinationId: string;
4692
+ withdrawalId: string;
4693
+ providerRef: string | null;
4694
+ lastError: string | null;
4695
+ reverseLedgerRef: string | null;
4696
+ };
4697
+ }, {
4698
+ replayed: boolean;
4699
+ withdrawal: {
4700
+ userId: string;
4701
+ amountMinor: string;
4702
+ currency: string;
4703
+ accountId: string;
4704
+ metadata: Record<string, unknown>;
4705
+ createdAtMs: number;
4706
+ updatedAtMs: number;
4707
+ idempotencyKey: string;
4708
+ ledgerRef: string;
4709
+ state: "paid" | "failed" | "reversed" | "requested" | "processing" | "submitted";
4710
+ partnerId: string;
4711
+ destinationId: string;
4712
+ withdrawalId: string;
4713
+ providerRef: string | null;
4714
+ lastError: string | null;
4715
+ reverseLedgerRef: string | null;
4716
+ };
4717
+ }>;
4718
+ type CreateWithdrawalResult = z.infer<typeof CreateWithdrawalResultSchema>;
4719
+ declare const PayoutEventInputSchema: z.ZodObject<{
4720
+ externalRef: z.ZodString;
4721
+ withdrawalId: z.ZodOptional<z.ZodString>;
4722
+ state: z.ZodEnum<["submitted", "processing", "paid", "failed"]>;
4723
+ providerRef: z.ZodOptional<z.ZodString>;
4724
+ failureCode: z.ZodOptional<z.ZodString>;
4725
+ failureMessage: z.ZodOptional<z.ZodString>;
4726
+ providerMetadata: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
4727
+ }, "strip", z.ZodTypeAny, {
4728
+ state: "paid" | "failed" | "processing" | "submitted";
4729
+ externalRef: string;
4730
+ failureCode?: string | undefined;
4731
+ failureMessage?: string | undefined;
4732
+ providerMetadata?: Record<string, unknown> | undefined;
4733
+ withdrawalId?: string | undefined;
4734
+ providerRef?: string | undefined;
4735
+ }, {
4736
+ state: "paid" | "failed" | "processing" | "submitted";
4737
+ externalRef: string;
4738
+ failureCode?: string | undefined;
4739
+ failureMessage?: string | undefined;
4740
+ providerMetadata?: Record<string, unknown> | undefined;
4741
+ withdrawalId?: string | undefined;
4742
+ providerRef?: string | undefined;
4743
+ }>;
4744
+ type PayoutEventInput = z.infer<typeof PayoutEventInputSchema>;
4745
+ declare const RecordPayoutEventResultSchema: z.ZodObject<{
4746
+ withdrawal: z.ZodObject<{
4747
+ withdrawalId: z.ZodString;
4748
+ accountId: z.ZodString;
4749
+ userId: z.ZodString;
4750
+ partnerId: z.ZodString;
4751
+ destinationId: z.ZodString;
4752
+ currency: z.ZodString;
4753
+ amountMinor: z.ZodString;
4754
+ state: z.ZodEnum<["requested", "submitted", "processing", "paid", "failed", "reversed"]>;
4755
+ idempotencyKey: z.ZodString;
4756
+ providerRef: z.ZodNullable<z.ZodString>;
4757
+ lastError: z.ZodNullable<z.ZodString>;
4758
+ ledgerRef: z.ZodString;
4759
+ reverseLedgerRef: z.ZodNullable<z.ZodString>;
4760
+ metadata: z.ZodRecord<z.ZodString, z.ZodUnknown>;
4761
+ createdAtMs: z.ZodNumber;
4762
+ updatedAtMs: z.ZodNumber;
4763
+ }, "strip", z.ZodTypeAny, {
4764
+ userId: string;
4765
+ amountMinor: string;
4766
+ currency: string;
4767
+ accountId: string;
4768
+ metadata: Record<string, unknown>;
4769
+ createdAtMs: number;
4770
+ updatedAtMs: number;
4771
+ idempotencyKey: string;
4772
+ ledgerRef: string;
4773
+ state: "paid" | "failed" | "reversed" | "requested" | "processing" | "submitted";
4774
+ partnerId: string;
4775
+ destinationId: string;
4776
+ withdrawalId: string;
4777
+ providerRef: string | null;
4778
+ lastError: string | null;
4779
+ reverseLedgerRef: string | null;
4780
+ }, {
4781
+ userId: string;
4782
+ amountMinor: string;
4783
+ currency: string;
4784
+ accountId: string;
4785
+ metadata: Record<string, unknown>;
4786
+ createdAtMs: number;
4787
+ updatedAtMs: number;
4788
+ idempotencyKey: string;
4789
+ ledgerRef: string;
4790
+ state: "paid" | "failed" | "reversed" | "requested" | "processing" | "submitted";
4791
+ partnerId: string;
4792
+ destinationId: string;
4793
+ withdrawalId: string;
4794
+ providerRef: string | null;
4795
+ lastError: string | null;
4796
+ reverseLedgerRef: string | null;
4797
+ }>;
4798
+ replayed: z.ZodBoolean;
4799
+ }, "strip", z.ZodTypeAny, {
4800
+ replayed: boolean;
4801
+ withdrawal: {
4802
+ userId: string;
4803
+ amountMinor: string;
4804
+ currency: string;
4805
+ accountId: string;
4806
+ metadata: Record<string, unknown>;
4807
+ createdAtMs: number;
4808
+ updatedAtMs: number;
4809
+ idempotencyKey: string;
4810
+ ledgerRef: string;
4811
+ state: "paid" | "failed" | "reversed" | "requested" | "processing" | "submitted";
4812
+ partnerId: string;
4813
+ destinationId: string;
4814
+ withdrawalId: string;
4815
+ providerRef: string | null;
4816
+ lastError: string | null;
4817
+ reverseLedgerRef: string | null;
4818
+ };
4819
+ }, {
4820
+ replayed: boolean;
4821
+ withdrawal: {
4822
+ userId: string;
4823
+ amountMinor: string;
4824
+ currency: string;
4825
+ accountId: string;
4826
+ metadata: Record<string, unknown>;
4827
+ createdAtMs: number;
4828
+ updatedAtMs: number;
4829
+ idempotencyKey: string;
4830
+ ledgerRef: string;
4831
+ state: "paid" | "failed" | "reversed" | "requested" | "processing" | "submitted";
4832
+ partnerId: string;
4833
+ destinationId: string;
4834
+ withdrawalId: string;
4835
+ providerRef: string | null;
4836
+ lastError: string | null;
4837
+ reverseLedgerRef: string | null;
4838
+ };
4839
+ }>;
4840
+ type RecordPayoutEventResult = z.infer<typeof RecordPayoutEventResultSchema>;
4841
+ declare const ReconciliationReportSchema: z.ZodObject<{
4842
+ partnerId: z.ZodString;
4843
+ currency: z.ZodString;
4844
+ fromMs: z.ZodNumber;
4845
+ toMs: z.ZodNumber;
4846
+ fundingsCreditMinor: z.ZodString;
4847
+ fundingsDebitMinor: z.ZodString;
4848
+ withdrawalsPaidMinor: z.ZodString;
4849
+ withdrawalsReversedMinor: z.ZodString;
4850
+ withdrawalsInFlightMinor: z.ZodString;
4851
+ expectedReserveBalanceMinor: z.ZodString;
4852
+ actualReserveBalanceMinor: z.ZodString;
4853
+ imbalanceMinor: z.ZodString;
4854
+ generatedAtMs: z.ZodNumber;
4855
+ }, "strip", z.ZodTypeAny, {
4856
+ currency: string;
4857
+ fromMs: number;
4858
+ toMs: number;
4859
+ partnerId: string;
4860
+ fundingsCreditMinor: string;
4861
+ fundingsDebitMinor: string;
4862
+ withdrawalsPaidMinor: string;
4863
+ withdrawalsReversedMinor: string;
4864
+ withdrawalsInFlightMinor: string;
4865
+ expectedReserveBalanceMinor: string;
4866
+ actualReserveBalanceMinor: string;
4867
+ imbalanceMinor: string;
4868
+ generatedAtMs: number;
4869
+ }, {
4870
+ currency: string;
4871
+ fromMs: number;
4872
+ toMs: number;
4873
+ partnerId: string;
4874
+ fundingsCreditMinor: string;
4875
+ fundingsDebitMinor: string;
4876
+ withdrawalsPaidMinor: string;
4877
+ withdrawalsReversedMinor: string;
4878
+ withdrawalsInFlightMinor: string;
4879
+ expectedReserveBalanceMinor: string;
4880
+ actualReserveBalanceMinor: string;
4881
+ imbalanceMinor: string;
4882
+ generatedAtMs: number;
4883
+ }>;
4884
+ type ReconciliationReport = z.infer<typeof ReconciliationReportSchema>;
4885
+ type PartnerFundingClient = {
4886
+ /** Submit a funding event (idempotent on externalRef per partner). */
4887
+ ingestFunding: (input: PartnerFundingEventInput) => Promise<IngestFundingResult>;
4888
+ /** Send a payout state update (idempotent on terminal states). */
4889
+ recordPayoutEvent: (input: PayoutEventInput) => Promise<RecordPayoutEventResult>;
4890
+ /** Fetch the daily reconciliation report. */
4891
+ reconciliation: (input: {
4892
+ currency: string;
4893
+ fromMs?: number;
4894
+ toMs?: number;
4895
+ }) => Promise<ReconciliationReport>;
4896
+ };
4897
+ declare function createPartnerFundingClient(partner: FlurPartnerClient): PartnerFundingClient;
4898
+ type ConsumerWithdrawalsClientOptions = {
4899
+ baseUrl: string;
4900
+ /** Session-authenticated fetch (Authorization: Bearer <session-token>). */
4901
+ fetchImpl?: typeof fetch;
4902
+ };
4903
+ type ConsumerWithdrawalsClient = {
4904
+ listDestinations: () => Promise<ListPayoutDestinationsResult>;
4905
+ createDestination: (input: CreatePayoutDestinationInput) => Promise<PayoutDestination>;
4906
+ verifyDestination: (destinationId: string) => Promise<PayoutDestination>;
4907
+ disableDestination: (destinationId: string) => Promise<PayoutDestination>;
4908
+ createWithdrawal: (input: CreateWithdrawalInput) => Promise<CreateWithdrawalResult>;
4909
+ getWithdrawal: (withdrawalId: string) => Promise<Withdrawal>;
4910
+ };
4911
+ declare function createConsumerWithdrawalsClient(opts: ConsumerWithdrawalsClientOptions): ConsumerWithdrawalsClient;
4912
+ /**
4913
+ * Partner profile upsert is session-authenticated on the backend (a member
4914
+ * of the partner account must perform the action), so it uses a regular
4915
+ * session-bearer fetch rather than the partner HMAC client.
4916
+ */
4917
+ type PartnerProfileAdminClientOptions = {
4918
+ baseUrl: string;
4919
+ fetchImpl?: typeof fetch;
4920
+ };
4921
+ type PartnerProfileAdminClient = {
4922
+ upsertProfile: (partnerAccountId: string, input: UpsertPartnerProfileInput) => Promise<PartnerProfile>;
4923
+ };
4924
+ declare function createPartnerProfileAdminClient(opts: PartnerProfileAdminClientOptions): PartnerProfileAdminClient;
4925
+
4926
+ export { ACCOUNT_STATUSES, ACCOUNT_TYPES, ADDITIONAL_DATA_SUBFIELD, type Account, type AccountActivityItem, type AccountMembership, AccountMembershipSchema, AccountSchema, type AccountStatus, type AccountSummaryResponse, type AccountType, type AccountsClient, type AccountsClientOptions, type AddMemberInput, type AdditionalData, type ApiCredentialPublic, ApiCredentialPublicSchema, type ApiCredentialsAdminClient, type AtomicRedeemReceiptInput, type AtomicRedeemResponse, type AuthLogoutInput, type AuthRefreshInput, type AuthRefreshResponse, type AuthorizeSendWithBiometricInput, type AuthorizedOptions, type BiometricSigner, type BuildPassInput, type BuildReceiptInput, type BuildRedemptionInput, COLLECTION_INTENT_STATUSES, COLLECTION_PAYMENT_STATUSES, CUSTODIAL_MODES, type CashNamespace, type CollectionIntent, CollectionIntentSchema, type CollectionPayment, type CollectionPaymentResult, CollectionPaymentResultSchema, CollectionPaymentSchema, type CollectionReportSummary, CollectionReportSummarySchema, type CollectionStatement, CollectionStatementSchema, type CollectionsClient, type CollectionsClientOptions, type ConsumerCollectionsClient, type ConsumerOAC, type OACRecord as ConsumerOACRecord, OACRecordSchema as ConsumerOACRecordSchema, ConsumerOACSchema, type ConsumerPaymentClaim, ConsumerPaymentClaimSchema, type ConsumerSettleResult, ConsumerSettleResultSchema, type ConsumerSettlement, ConsumerSettlementSchema, type ConsumerWithdrawalsClient, type ConsumerWithdrawalsClientOptions, type CreateBusinessAccountInput, type CreateCollectionIntentInput, CreateCollectionIntentInputSchema, type CreatePayLinkResponse, type CreatePayoutDestinationInput, CreatePayoutDestinationInputSchema, type CreatePayoutInput, CreatePayoutInputSchema, type CreateTransferOptions, type CreateWithdrawalInput, CreateWithdrawalInputSchema, type CreateWithdrawalResult, CreateWithdrawalResultSchema, type CustodialMode, type DeviceKeyRecord, DeviceKeyRecordSchema, type DeviceTrustState, type DisableOfflineInput, DisableOfflineInputSchema, type DisableOfflineResult, DisableOfflineResultSchema, type Ed25519KeyPair, type EnableOfflineInput, EnableOfflineInputSchema, type EnableOfflineResult, EnableOfflineResultSchema, FIELD, FlurApiError, FlurCapExceededError, FlurClient, type FlurClientOptions, FlurError, type FlurErrorCode, FlurExpiredError, type FlurHandle, type FlurInitOptions, type FlurOfflineSettlementsClient, type FlurPartnerClient, type FlurPaymentEvent, FlurReplayError, type HmacFetchOptions, type IngestFundingResult, IngestFundingResultSchema, type IssueOACInput, IssueOACInputSchema, type IssueOfflineTokenInput, type IssuePassInput, type IssueReceiptInput, type ListPassesInput, type ListPassesResponse, type ListPayoutDestinationsResult, ListPayoutDestinationsResultSchema, type ListReceiptsInput, type ListReceiptsResponse, type ListTransactionsOptions, MEMBERSHIP_ROLES, MERCHANT_PAYOUT_STATUSES, MERCHANT_PROFILE_STATUSES, type MeOfflineClient, type MeOfflineClientOptions, type MembershipRole, type MerchantAccountInfo, type MerchantPayout, MerchantPayoutSchema, type MerchantProfile, MerchantProfileSchema, type MintedApiCredential, MintedApiCredentialSchema, type Money, NGN_CURRENCY_CODE, NG_COUNTRY_CODE, NQRParseError, type NQRPayloadInput, type OAC, OACSchema, OAC_DEFAULT_CUMULATIVE_KOBO, OAC_DEFAULT_PER_TX_KOBO, OAC_DEFAULT_VALIDITY_MS, type OfflineHoldRecord, OfflineHoldRecordSchema, type OfflinePaymentAuthorization, OfflinePaymentAuthorizationSchema, type OfflinePaymentRequest, OfflinePaymentRequestSchema, type OfflineStateResult, OfflineStateResultSchema, type OfflineStatusResult, OfflineStatusResultSchema, type OfflineToken, OfflineTokenSchema, type OnboardingCompleteInput, type OnboardingCompleteResponse, type OnboardingFallback, type OnboardingRiskReason, type OnboardingStartInput, type OnboardingStartResponse, PARTNER_FUNDING_DIRECTIONS, PARTNER_FUNDING_STATUSES, PARTNER_KINDS, PARTNER_PROFILE_STATUSES, PARTNER_SCOPES, PASS_KINDS, PASS_STATES, PAYLOAD_FORMAT_INDICATOR_VALUE, PAYOUT_DESTINATION_STATUSES, POINT_OF_INITIATION, type ParsedNQR, type PartnerClientOptions, type PartnerCollectionsClient, type PartnerFunding, type PartnerFundingClient, type PartnerFundingDirection, type PartnerFundingEventInput, PartnerFundingEventInputSchema, PartnerFundingSchema, type PartnerFundingStatus, type PartnerKind, type PartnerProfile, type PartnerProfileAdminClient, type PartnerProfileAdminClientOptions, PartnerProfileSchema, type PartnerProfileStatus, type PartnerScope, type PartnerSignResult, type Pass, type PassKind, type PassMetadata, PassMetadataSchema, PassSchema, type PassState, type PassesClient, type PassesClientOptions, type PayCollectionInput, PayCollectionInputSchema, type PayCollectionOptions, type PayCollectionResponse, type PaymentClaim, PaymentClaimSchema, type PayoutDestination, PayoutDestinationSchema, type PayoutDestinationStatus, type PayoutEventInput, PayoutEventInputSchema, type PinSetInput, type PinVerifyInput, type ProviderEventInput, ProviderEventInputSchema, type ProviderEventRecord, ProviderEventRecordSchema, type PublicCollectionIntent, PublicCollectionIntentSchema, type PushPlatform, type PushRegisterInput, RECEIPT_CHANNELS, RECEIPT_KINDS, REPLAY_WINDOW_MS, type Receipt, type ReceiptChannel, type ReceiptKind, type ReceiptPayload, ReceiptPayloadSchema, ReceiptSchema, type ReceiptsClient, type ReceiptsClientOptions, type RecipientResolveInput, type RecipientResolveResponse, type ReconciliationReport, ReconciliationReportSchema, type RecordPayoutEventResult, RecordPayoutEventResultSchema, type RedeemPassResponse, type Redemption, RedemptionSchema, type RegisterDeviceInput, type RegisterDeviceKeyInput, RegisterDeviceKeyInputSchema, type RegisterDeviceResponse, type RegisterSendDeviceKeyInput, type ResolveCollectionOptions, type ResolveCollectionResponse, type ResolvePayLinkResponse, RevokeDeviceKeyInputSchema, type RevokePassInput, type RoutingHint, SETTLEMENT_SCHEDULES, type SendChallengeInput, type SendChallengeResponse, type SendMoneyInput, type SendMoneyOptions, type SendVerifyInput, type SendVerifyResponse, type SettleResponse, SettleResponseSchema, type Settlement, SettlementSchema, type SignedConsumerOAC, SignedConsumerOACSchema, type SubscribeOptions, type TLVField, type TransactionDetailResponse, type TransactionDirection, type TransactionsListResponse, type TransferInput, type TransferResponse, type TransferStatus, type UnsignedOAC, type UnsignedOfflinePaymentAuthorization, type UnsignedOfflinePaymentRequest, type UnsignedPass, type UnsignedReceipt, type UnsignedRedemption, type UpsertMerchantProfileInput, UpsertMerchantProfileInputSchema, type UpsertPartnerProfileInput, UpsertPartnerProfileInputSchema, WITHDRAWAL_STATES, type Withdrawal, WithdrawalSchema, type WithdrawalState, bodySha256Hex, buildAuthorization, buildOAC, buildPass, buildPaymentRequest, buildReceipt, buildRedemption, canonicalJSONBytes, canonicalJSONStringify, canonicalRequestString, computeEncounterId, constantTimeEqual, crc16ccitt, crc16ccittHex, createAccountsClient, createApiCredentialsAdminClient, createCollectionsClient, createConsumerCollectionsClient, createConsumerWithdrawalsClient, createFlurPartnerClient, createHmacFetch, createMeOfflineClient, createOfflineSettlementsClient, createPartnerCollectionsClient, createPartnerFundingClient, createPartnerProfileAdminClient, createPassesClient, createReceiptsClient, decodeAuthorizationQR, decodeBase45, decodePaymentRequestQR, encodeAuthorizationQR, encodeBase45, encodeNQR, encodePaymentRequestQR, formatAmount, generateDynamicQR, generateKeyPair, generateStaticQR, init, isPassWithinValidity, moneyMinorToNumber, normalizeE164, parseAmountInput, parseNQR, parseQR, publicKeyFromPrivate, readTLV, routingHint, sign, signAuthorization, signCanonical, signOAC, signPartnerRequest, signPass, signPaymentRequest, signReceipt, signRedemption, signRequestHMAC, verify, verifyAuthorization, verifyCanonical, verifyOAC, verifyPass, verifyPaymentRequest, verifyReceipt, verifyRedemption, verifyRequestHMAC, writeTLV };