@peable.to/contracts 4.0.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -39,7 +39,7 @@ const sessionFields = {
39
39
  .describe('The FairCoin network a FairCoin payment of this order uses — the merchant’s (or the seller’s); `null` when the payee has no FairCoin key yet (test mode) and in `setup` mode.'),
40
40
  payment_method_types: zod_1.z
41
41
  .array(shared_1.railSchema)
42
- .describe("What the payer may choose: `['card', 'faircoin']` on a fiat order, `['faircoin']` on a FAIR one. FairCoin is always offered (ADR 0021); `['card']` in `setup` mode."),
42
+ .describe("What the payer may choose: `['card', 'faircoin']` on a fiat order (`['faircoin']` when the merchant offered FairCoin only), `['faircoin']` on a FAIR one. FairCoin is always offered (ADR 0021); `['card']` in `setup` mode."),
43
43
  amount_subtotal: primitives_1.amount,
44
44
  amount_total: primitives_1.amount,
45
45
  total_details: shared_1.checkoutTotalDetailsSchema,
@@ -250,6 +250,9 @@ exports.sessionLineItemParams = zod_1.z
250
250
  price_data: priceDataParams.optional(),
251
251
  quantity: shared_1.quantityParam,
252
252
  adjustable_quantity: shared_1.adjustableQuantityParam.optional(),
253
+ connected_account: shared_1.checkoutIdParam
254
+ .optional()
255
+ .describe("The seller (`ca_…`) this line is sold by (ADR 0021 D6). A FairCoin payment pays every seller of the order its share directly, in one transaction, split by each seller's lines' `amount_subtotal`; a line without one is the merchant's own sale. The card payment stays the merchant's charge. Exclusive with the session's `connected_account`."),
253
256
  })
254
257
  .strict()
255
258
  .superRefine((line, ctx) => {
@@ -299,7 +302,7 @@ exports.createCheckoutSessionParams = zod_1.z
299
302
  .min(1)
300
303
  .max(2)
301
304
  .optional()
302
- .describe("Must include `faircoin`, which is always offered (ADR 0021; leaving it out is 400 `payment_method_locked`): `['card', 'faircoin']` on a fiat order, `['faircoin']` on a FAIR one. Omit it for exactly that. The fiat methods are chosen in the payment method configuration."),
305
+ .describe("Must include `faircoin`, which is always offered (ADR 0021; leaving it out is 400 `payment_method_locked`). On a fiat order `['card', 'faircoin']` (the default) or `['faircoin']` — a FairCoin-only order, the fiat methods being the merchant's to turn off; on a FAIR order `['faircoin']`. Which card methods are offered comes from the payment method configuration."),
303
306
  locale: shared_1.localeParam.optional(),
304
307
  ui_mode: zod_1.z.enum(checkout_1.CHECKOUT_UI_MODES).optional(),
305
308
  success_url: shared_1.redirectUrlParam
@@ -319,7 +322,15 @@ exports.createCheckoutSessionParams = zod_1.z
319
322
  submit_type: zod_1.z.enum(checkout_1.CHECKOUT_SUBMIT_TYPES).optional(),
320
323
  connected_account: shared_1.checkoutIdParam
321
324
  .optional()
322
- .describe('Pay this seller (`ca_…`) rather than the merchant (ADR 0012); FairCoin only.'),
325
+ .describe('Pay this seller (`ca_…`) rather than the merchant (ADR 0012); FairCoin only. Exclusive with `line_items[].connected_account`.'),
326
+ payment_intent_data: zod_1.z
327
+ .object({
328
+ metadata: params_1.metadataCreateParam
329
+ .optional()
330
+ .describe('Copied to EVERY payment this session creates (each method the payer confirms, each fresh quote), so its events carry your own identifiers (ADR 0021 D8).'),
331
+ })
332
+ .strict()
333
+ .optional(),
323
334
  expand: params_1.expandParam.optional(),
324
335
  })
325
336
  .strict()
@@ -360,6 +371,16 @@ exports.createCheckoutSessionParams = zod_1.z
360
371
  if (body.submit_type !== undefined && mode !== 'payment') {
361
372
  issue('submit_type', 'submit_type is for payment mode');
362
373
  }
374
+ if (body.line_items?.some((line) => line.connected_account !== undefined)) {
375
+ if (body.connected_account !== undefined) {
376
+ issue('connected_account', 'connected_account and line_items[].connected_account are mutually exclusive');
377
+ }
378
+ if (mode !== 'payment')
379
+ issue('line_items', 'a line names its seller in payment mode only');
380
+ }
381
+ if (body.payment_intent_data !== undefined && mode === 'setup') {
382
+ issue('payment_intent_data', 'a setup session creates no payment');
383
+ }
363
384
  });
364
385
  /** `POST /v1/checkout_sessions/{id}` — the merchant's `metadata`, as a patch. */
365
386
  exports.updateCheckoutSessionParams = zod_1.z
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.paymentIntentRoutes = exports.clientSecretQuery = exports.retrievePaymentIntentQuery = exports.clientSecretParam = exports.listPaymentIntentsQuery = exports.submitPaymentIntentTxParams = exports.cancelPaymentIntentParams = exports.capturePaymentIntentParams = exports.confirmPaymentIntentParams = exports.updatePaymentIntentParams = exports.createPaymentIntentParams = exports.connectedAccountParam = exports.railParams = exports.paymentIntentSchema = exports.paymentIntentClientActionSchema = exports.clientActionSchema = exports.paymentIntentTransferDataSchema = exports.paymentIntentFaircoinSchema = exports.faircoinQuoteSchema = exports.paymentIntentNextActionSchema = exports.paymentErrorSchema = void 0;
3
+ exports.paymentIntentRoutes = exports.clientSecretQuery = exports.retrievePaymentIntentQuery = exports.clientSecretParam = exports.listPaymentIntentsQuery = exports.submitPaymentIntentTxParams = exports.cancelPaymentIntentParams = exports.capturePaymentIntentParams = exports.confirmPaymentIntentParams = exports.updatePaymentIntentParams = exports.createPaymentIntentParams = exports.connectedAccountParam = exports.railParams = exports.paymentIntentSchema = exports.paymentIntentClientActionSchema = exports.clientActionSchema = exports.paymentIntentTransferDataSchema = exports.paymentIntentFaircoinSchema = exports.faircoinQuoteSchema = exports.paymentIntentNextActionSchema = exports.faircoinPaymentOutputSchema = exports.paymentErrorSchema = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const address_1 = require("../../common/address");
6
6
  const envelopes_1 = require("../../common/envelopes");
@@ -26,6 +26,8 @@ exports.paymentErrorSchema = (0, objects_1.defineComponent)('PaymentError', zod_
26
26
  message: zod_1.z.string(),
27
27
  })
28
28
  .strict());
29
+ /** One output of a FairCoin payment, as the payer pays it (ADR 0021 D6). */
30
+ exports.faircoinPaymentOutputSchema = (0, objects_1.defineComponent)('FaircoinPaymentOutput', zod_1.z.object({ address: zod_1.z.string(), amount: primitives_1.amount }).strict());
29
31
  /**
30
32
  * What the payer must do next (`status: 'requires_action'`).
31
33
  *
@@ -41,11 +43,21 @@ exports.paymentIntentNextActionSchema = (0, objects_1.defineComponent)('PaymentI
41
43
  type: zod_1.z.literal('faircoin_payment'),
42
44
  faircoin_payment: zod_1.z
43
45
  .object({
44
- address: zod_1.z.string(),
46
+ address: zod_1.z
47
+ .string()
48
+ .nullable()
49
+ .describe("The one output's address; `null` when the payment has several outputs (read `outputs`)."),
45
50
  network: primitives_1.network,
46
- amount: primitives_1.amount,
51
+ amount: primitives_1.amount.describe('The sum of every output, in base units.'),
47
52
  currency: zod_1.z.literal('FAIR'),
48
- uri: zod_1.z.string().describe('The `faircoin:` URI a wallet scans.'),
53
+ uri: zod_1.z
54
+ .string()
55
+ .nullable()
56
+ .describe('The `faircoin:` URI a wallet scans; `null` when the payment has several outputs (a `faircoin:` URI names one address, so only the Peable wallet can pay it).'),
57
+ outputs: zod_1.z
58
+ .array(exports.faircoinPaymentOutputSchema)
59
+ .min(1)
60
+ .describe('Every output the ONE transaction must carry (ADR 0021 D6): each address receives at least its amount, or the whole payment is `canceled` `underpaid`.'),
49
61
  })
50
62
  .strict(),
51
63
  })
@@ -95,7 +107,21 @@ exports.paymentIntentFaircoinSchema = (0, objects_1.defineComponent)('PaymentInt
95
107
  network: primitives_1.network,
96
108
  address: zod_1.z
97
109
  .string()
98
- .describe("Receive address in the Peable wallet of the account this payment pays (the merchant's owner, or the seller), derived per payment from that account's public identity key (ADR 0021 D5)."),
110
+ .nullable()
111
+ .describe("Receive address in the Peable wallet of the account this payment pays (the merchant's owner, or the seller), derived per payment from that account's public identity key (ADR 0021 D5); `null` when the payment pays several accounts (read `outputs`)."),
112
+ outputs: zod_1.z
113
+ .array(zod_1.z
114
+ .object({
115
+ address: zod_1.z.string(),
116
+ amount: primitives_1.amount,
117
+ connected_account: zod_1.z
118
+ .string()
119
+ .nullable()
120
+ .describe("The seller (`ca_…`) this output pays; `null` for the merchant's owner."),
121
+ })
122
+ .strict())
123
+ .min(1)
124
+ .describe("Every output of the payment's ONE transaction, in order (ADR 0021 D6). Each pays one account's Peable wallet; the watcher verifies each."),
99
125
  txid: primitives_1.nullableString,
100
126
  confirmations: zod_1.z.number().int().nonnegative(),
101
127
  required_confirmations: zod_1.z.number().int().nonnegative(),
@@ -217,6 +243,7 @@ exports.paymentIntentSchema = (0, objects_1.defineObject)('payment_intent', 'Pay
217
243
  amount: '150000000',
218
244
  currency: 'FAIR',
219
245
  uri: 'faircoin:fLx9bJ3Wv2kq8mT4sR6nZ1cY7pD5eH0aG?amount=1.5',
246
+ outputs: [{ address: 'fLx9bJ3Wv2kq8mT4sR6nZ1cY7pD5eH0aG', amount: '150000000' }],
220
247
  },
221
248
  },
222
249
  last_payment_error: null,
@@ -229,6 +256,13 @@ exports.paymentIntentSchema = (0, objects_1.defineObject)('payment_intent', 'Pay
229
256
  faircoin: {
230
257
  network: 'testnet',
231
258
  address: 'fLx9bJ3Wv2kq8mT4sR6nZ1cY7pD5eH0aG',
259
+ outputs: [
260
+ {
261
+ address: 'fLx9bJ3Wv2kq8mT4sR6nZ1cY7pD5eH0aG',
262
+ amount: '150000000',
263
+ connected_account: null,
264
+ },
265
+ ],
232
266
  txid: null,
233
267
  confirmations: 0,
234
268
  required_confirmations: 6,
@@ -134,6 +134,7 @@ exports.ERROR_CODE_DESCRIPTIONS = {
134
134
  faircoin_price_unavailable: 'No fresh FairCoin price exists right now, so this order cannot be quoted in FAIR. The other payment methods still work; try FairCoin again shortly.',
135
135
  faircoin_wallet_missing: "The Peable wallet that receives this payment (the merchant owner's, or the seller's) isn't set up yet, so it cannot be paid in FairCoin. The other payment methods still work.",
136
136
  faircoin_network_closed: 'FairCoin payments on this network are not open on this deployment yet. The other payment methods still work.',
137
+ faircoin_amount_too_small: "One seller's share of this order is below the smallest amount the FairCoin network relays, so it cannot be paid in FairCoin. The other payment methods still work.",
137
138
  credit_note_exceeds_invoice: "The credit note's amount exceeds what the invoice can still credit.",
138
139
  test_clock_unexpected_state: 'The test clock is advancing; wait until it is ready.',
139
140
  meter_event_customer_missing: 'The meter event names no customer of this merchant.',
@@ -36,7 +36,7 @@ const sessionFields = {
36
36
  .describe('The FairCoin network a FairCoin payment of this order uses — the merchant’s (or the seller’s); `null` when the payee has no FairCoin key yet (test mode) and in `setup` mode.'),
37
37
  payment_method_types: z
38
38
  .array(railSchema)
39
- .describe("What the payer may choose: `['card', 'faircoin']` on a fiat order, `['faircoin']` on a FAIR one. FairCoin is always offered (ADR 0021); `['card']` in `setup` mode."),
39
+ .describe("What the payer may choose: `['card', 'faircoin']` on a fiat order (`['faircoin']` when the merchant offered FairCoin only), `['faircoin']` on a FAIR one. FairCoin is always offered (ADR 0021); `['card']` in `setup` mode."),
40
40
  amount_subtotal: amount,
41
41
  amount_total: amount,
42
42
  total_details: checkoutTotalDetailsSchema,
@@ -247,6 +247,9 @@ export const sessionLineItemParams = z
247
247
  price_data: priceDataParams.optional(),
248
248
  quantity: quantityParam,
249
249
  adjustable_quantity: adjustableQuantityParam.optional(),
250
+ connected_account: checkoutIdParam
251
+ .optional()
252
+ .describe("The seller (`ca_…`) this line is sold by (ADR 0021 D6). A FairCoin payment pays every seller of the order its share directly, in one transaction, split by each seller's lines' `amount_subtotal`; a line without one is the merchant's own sale. The card payment stays the merchant's charge. Exclusive with the session's `connected_account`."),
250
253
  })
251
254
  .strict()
252
255
  .superRefine((line, ctx) => {
@@ -296,7 +299,7 @@ export const createCheckoutSessionParams = z
296
299
  .min(1)
297
300
  .max(2)
298
301
  .optional()
299
- .describe("Must include `faircoin`, which is always offered (ADR 0021; leaving it out is 400 `payment_method_locked`): `['card', 'faircoin']` on a fiat order, `['faircoin']` on a FAIR one. Omit it for exactly that. The fiat methods are chosen in the payment method configuration."),
302
+ .describe("Must include `faircoin`, which is always offered (ADR 0021; leaving it out is 400 `payment_method_locked`). On a fiat order `['card', 'faircoin']` (the default) or `['faircoin']` — a FairCoin-only order, the fiat methods being the merchant's to turn off; on a FAIR order `['faircoin']`. Which card methods are offered comes from the payment method configuration."),
300
303
  locale: localeParam.optional(),
301
304
  ui_mode: z.enum(CHECKOUT_UI_MODES).optional(),
302
305
  success_url: redirectUrlParam
@@ -316,7 +319,15 @@ export const createCheckoutSessionParams = z
316
319
  submit_type: z.enum(CHECKOUT_SUBMIT_TYPES).optional(),
317
320
  connected_account: checkoutIdParam
318
321
  .optional()
319
- .describe('Pay this seller (`ca_…`) rather than the merchant (ADR 0012); FairCoin only.'),
322
+ .describe('Pay this seller (`ca_…`) rather than the merchant (ADR 0012); FairCoin only. Exclusive with `line_items[].connected_account`.'),
323
+ payment_intent_data: z
324
+ .object({
325
+ metadata: metadataCreateParam
326
+ .optional()
327
+ .describe('Copied to EVERY payment this session creates (each method the payer confirms, each fresh quote), so its events carry your own identifiers (ADR 0021 D8).'),
328
+ })
329
+ .strict()
330
+ .optional(),
320
331
  expand: expandParam.optional(),
321
332
  })
322
333
  .strict()
@@ -357,6 +368,16 @@ export const createCheckoutSessionParams = z
357
368
  if (body.submit_type !== undefined && mode !== 'payment') {
358
369
  issue('submit_type', 'submit_type is for payment mode');
359
370
  }
371
+ if (body.line_items?.some((line) => line.connected_account !== undefined)) {
372
+ if (body.connected_account !== undefined) {
373
+ issue('connected_account', 'connected_account and line_items[].connected_account are mutually exclusive');
374
+ }
375
+ if (mode !== 'payment')
376
+ issue('line_items', 'a line names its seller in payment mode only');
377
+ }
378
+ if (body.payment_intent_data !== undefined && mode === 'setup') {
379
+ issue('payment_intent_data', 'a setup session creates no payment');
380
+ }
360
381
  });
361
382
  /** `POST /v1/checkout_sessions/{id}` — the merchant's `metadata`, as a patch. */
362
383
  export const updateCheckoutSessionParams = z
@@ -23,6 +23,8 @@ export const paymentErrorSchema = defineComponent('PaymentError', z
23
23
  message: z.string(),
24
24
  })
25
25
  .strict());
26
+ /** One output of a FairCoin payment, as the payer pays it (ADR 0021 D6). */
27
+ export const faircoinPaymentOutputSchema = defineComponent('FaircoinPaymentOutput', z.object({ address: z.string(), amount }).strict());
26
28
  /**
27
29
  * What the payer must do next (`status: 'requires_action'`).
28
30
  *
@@ -38,11 +40,21 @@ export const paymentIntentNextActionSchema = defineComponent('PaymentIntentNextA
38
40
  type: z.literal('faircoin_payment'),
39
41
  faircoin_payment: z
40
42
  .object({
41
- address: z.string(),
43
+ address: z
44
+ .string()
45
+ .nullable()
46
+ .describe("The one output's address; `null` when the payment has several outputs (read `outputs`)."),
42
47
  network,
43
- amount,
48
+ amount: amount.describe('The sum of every output, in base units.'),
44
49
  currency: z.literal('FAIR'),
45
- uri: z.string().describe('The `faircoin:` URI a wallet scans.'),
50
+ uri: z
51
+ .string()
52
+ .nullable()
53
+ .describe('The `faircoin:` URI a wallet scans; `null` when the payment has several outputs (a `faircoin:` URI names one address, so only the Peable wallet can pay it).'),
54
+ outputs: z
55
+ .array(faircoinPaymentOutputSchema)
56
+ .min(1)
57
+ .describe('Every output the ONE transaction must carry (ADR 0021 D6): each address receives at least its amount, or the whole payment is `canceled` `underpaid`.'),
46
58
  })
47
59
  .strict(),
48
60
  })
@@ -92,7 +104,21 @@ export const paymentIntentFaircoinSchema = defineComponent('PaymentIntentFaircoi
92
104
  network,
93
105
  address: z
94
106
  .string()
95
- .describe("Receive address in the Peable wallet of the account this payment pays (the merchant's owner, or the seller), derived per payment from that account's public identity key (ADR 0021 D5)."),
107
+ .nullable()
108
+ .describe("Receive address in the Peable wallet of the account this payment pays (the merchant's owner, or the seller), derived per payment from that account's public identity key (ADR 0021 D5); `null` when the payment pays several accounts (read `outputs`)."),
109
+ outputs: z
110
+ .array(z
111
+ .object({
112
+ address: z.string(),
113
+ amount,
114
+ connected_account: z
115
+ .string()
116
+ .nullable()
117
+ .describe("The seller (`ca_…`) this output pays; `null` for the merchant's owner."),
118
+ })
119
+ .strict())
120
+ .min(1)
121
+ .describe("Every output of the payment's ONE transaction, in order (ADR 0021 D6). Each pays one account's Peable wallet; the watcher verifies each."),
96
122
  txid: nullableString,
97
123
  confirmations: z.number().int().nonnegative(),
98
124
  required_confirmations: z.number().int().nonnegative(),
@@ -214,6 +240,7 @@ export const paymentIntentSchema = defineObject('payment_intent', 'PaymentIntent
214
240
  amount: '150000000',
215
241
  currency: 'FAIR',
216
242
  uri: 'faircoin:fLx9bJ3Wv2kq8mT4sR6nZ1cY7pD5eH0aG?amount=1.5',
243
+ outputs: [{ address: 'fLx9bJ3Wv2kq8mT4sR6nZ1cY7pD5eH0aG', amount: '150000000' }],
217
244
  },
218
245
  },
219
246
  last_payment_error: null,
@@ -226,6 +253,13 @@ export const paymentIntentSchema = defineObject('payment_intent', 'PaymentIntent
226
253
  faircoin: {
227
254
  network: 'testnet',
228
255
  address: 'fLx9bJ3Wv2kq8mT4sR6nZ1cY7pD5eH0aG',
256
+ outputs: [
257
+ {
258
+ address: 'fLx9bJ3Wv2kq8mT4sR6nZ1cY7pD5eH0aG',
259
+ amount: '150000000',
260
+ connected_account: null,
261
+ },
262
+ ],
229
263
  txid: null,
230
264
  confirmations: 0,
231
265
  required_confirmations: 6,
@@ -129,6 +129,7 @@ export const ERROR_CODE_DESCRIPTIONS = {
129
129
  faircoin_price_unavailable: 'No fresh FairCoin price exists right now, so this order cannot be quoted in FAIR. The other payment methods still work; try FairCoin again shortly.',
130
130
  faircoin_wallet_missing: "The Peable wallet that receives this payment (the merchant owner's, or the seller's) isn't set up yet, so it cannot be paid in FairCoin. The other payment methods still work.",
131
131
  faircoin_network_closed: 'FairCoin payments on this network are not open on this deployment yet. The other payment methods still work.',
132
+ faircoin_amount_too_small: "One seller's share of this order is below the smallest amount the FairCoin network relays, so it cannot be paid in FairCoin. The other payment methods still work.",
132
133
  credit_note_exceeds_invoice: "The credit note's amount exceeds what the invoice can still credit.",
133
134
  test_clock_unexpected_state: 'The test clock is advancing; wait until it is ready.',
134
135
  meter_event_customer_missing: 'The meter event names no customer of this merchant.',
@@ -563,6 +563,7 @@ export declare const sessionLineItemParams: z.ZodObject<{
563
563
  minimum: z.ZodOptional<z.ZodNumber>;
564
564
  maximum: z.ZodOptional<z.ZodNumber>;
565
565
  }, z.core.$strict>>;
566
+ connected_account: z.ZodOptional<z.ZodString>;
566
567
  }, z.core.$strict>;
567
568
  export type CheckoutLineItemParams = z.input<typeof sessionLineItemParams>;
568
569
  export declare const createCheckoutSessionParams: z.ZodObject<{
@@ -598,6 +599,9 @@ export declare const createCheckoutSessionParams: z.ZodObject<{
598
599
  donate: "donate";
599
600
  }>>;
600
601
  connected_account: z.ZodOptional<z.ZodString>;
602
+ payment_intent_data: z.ZodOptional<z.ZodObject<{
603
+ metadata: z.ZodOptional<z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodString>, z.ZodTransform<Record<string, string>, Record<string, string>>>>;
604
+ }, z.core.$strict>>;
601
605
  expand: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>, z.ZodTransform<string[], string | string[]>>, z.ZodArray<z.ZodString>>>;
602
606
  billing_address_collection: z.ZodOptional<z.ZodEnum<{
603
607
  auto: "auto";
@@ -697,6 +701,7 @@ export declare const createCheckoutSessionParams: z.ZodObject<{
697
701
  minimum: z.ZodOptional<z.ZodNumber>;
698
702
  maximum: z.ZodOptional<z.ZodNumber>;
699
703
  }, z.core.$strict>>;
704
+ connected_account: z.ZodOptional<z.ZodString>;
700
705
  }, z.core.$strict>>>;
701
706
  currency: z.ZodOptional<z.ZodEnum<{
702
707
  FAIR: "FAIR";
@@ -887,6 +892,9 @@ export declare const checkoutSessionRoutes: readonly [{
887
892
  donate: "donate";
888
893
  }>>;
889
894
  connected_account: z.ZodOptional<z.ZodString>;
895
+ payment_intent_data: z.ZodOptional<z.ZodObject<{
896
+ metadata: z.ZodOptional<z.ZodPipe<z.ZodRecord<z.ZodString, z.ZodString>, z.ZodTransform<Record<string, string>, Record<string, string>>>>;
897
+ }, z.core.$strict>>;
890
898
  expand: z.ZodOptional<z.ZodPipe<z.ZodPipe<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>, z.ZodTransform<string[], string | string[]>>, z.ZodArray<z.ZodString>>>;
891
899
  billing_address_collection: z.ZodOptional<z.ZodEnum<{
892
900
  auto: "auto";
@@ -986,6 +994,7 @@ export declare const checkoutSessionRoutes: readonly [{
986
994
  minimum: z.ZodOptional<z.ZodNumber>;
987
995
  maximum: z.ZodOptional<z.ZodNumber>;
988
996
  }, z.core.$strict>>;
997
+ connected_account: z.ZodOptional<z.ZodString>;
989
998
  }, z.core.$strict>>>;
990
999
  currency: z.ZodOptional<z.ZodEnum<{
991
1000
  FAIR: "FAIR";
@@ -48,6 +48,9 @@ export declare const checkoutRoutes: readonly [{
48
48
  donate: "donate";
49
49
  }>>;
50
50
  connected_account: import("zod").ZodOptional<import("zod").ZodString>;
51
+ payment_intent_data: import("zod").ZodOptional<import("zod").ZodObject<{
52
+ metadata: import("zod").ZodOptional<import("zod").ZodPipe<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodString>, import("zod").ZodTransform<Record<string, string>, Record<string, string>>>>;
53
+ }, import("zod/v4/core").$strict>>;
51
54
  expand: import("zod").ZodOptional<import("zod").ZodPipe<import("zod").ZodPipe<import("zod").ZodUnion<readonly [import("zod").ZodString, import("zod").ZodArray<import("zod").ZodString>]>, import("zod").ZodTransform<string[], string | string[]>>, import("zod").ZodArray<import("zod").ZodString>>>;
52
55
  billing_address_collection: import("zod").ZodOptional<import("zod").ZodEnum<{
53
56
  auto: "auto";
@@ -147,6 +150,7 @@ export declare const checkoutRoutes: readonly [{
147
150
  minimum: import("zod").ZodOptional<import("zod").ZodNumber>;
148
151
  maximum: import("zod").ZodOptional<import("zod").ZodNumber>;
149
152
  }, import("zod/v4/core").$strict>>;
153
+ connected_account: import("zod").ZodOptional<import("zod").ZodString>;
150
154
  }, import("zod/v4/core").$strict>>>;
151
155
  currency: import("zod").ZodOptional<import("zod").ZodEnum<{
152
156
  FAIR: "FAIR";
@@ -151,14 +151,18 @@ export declare const paymentsRoutes: readonly [{
151
151
  next_action: import("zod").ZodNullable<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
152
152
  type: import("zod").ZodLiteral<"faircoin_payment">;
153
153
  faircoin_payment: import("zod").ZodObject<{
154
- address: import("zod").ZodString;
154
+ address: import("zod").ZodNullable<import("zod").ZodString>;
155
155
  network: import("zod").ZodEnum<{
156
156
  mainnet: "mainnet";
157
157
  testnet: "testnet";
158
158
  }>;
159
159
  amount: import("zod").ZodString;
160
160
  currency: import("zod").ZodLiteral<"FAIR">;
161
- uri: import("zod").ZodString;
161
+ uri: import("zod").ZodNullable<import("zod").ZodString>;
162
+ outputs: import("zod").ZodArray<import("zod").ZodObject<{
163
+ address: import("zod").ZodString;
164
+ amount: import("zod").ZodString;
165
+ }, import("zod/v4/core").$strict>>;
162
166
  }, import("zod/v4/core").$strict>;
163
167
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
164
168
  type: import("zod").ZodLiteral<"use_peable_sdk">;
@@ -204,7 +208,12 @@ export declare const paymentsRoutes: readonly [{
204
208
  mainnet: "mainnet";
205
209
  testnet: "testnet";
206
210
  }>;
207
- address: import("zod").ZodString;
211
+ address: import("zod").ZodNullable<import("zod").ZodString>;
212
+ outputs: import("zod").ZodArray<import("zod").ZodObject<{
213
+ address: import("zod").ZodString;
214
+ amount: import("zod").ZodString;
215
+ connected_account: import("zod").ZodNullable<import("zod").ZodString>;
216
+ }, import("zod/v4/core").$strict>>;
208
217
  txid: import("zod").ZodNullable<import("zod").ZodString>;
209
218
  confirmations: import("zod").ZodNumber;
210
219
  required_confirmations: import("zod").ZodNumber;
@@ -364,14 +373,18 @@ export declare const paymentsRoutes: readonly [{
364
373
  next_action: import("zod").ZodNullable<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
365
374
  type: import("zod").ZodLiteral<"faircoin_payment">;
366
375
  faircoin_payment: import("zod").ZodObject<{
367
- address: import("zod").ZodString;
376
+ address: import("zod").ZodNullable<import("zod").ZodString>;
368
377
  network: import("zod").ZodEnum<{
369
378
  mainnet: "mainnet";
370
379
  testnet: "testnet";
371
380
  }>;
372
381
  amount: import("zod").ZodString;
373
382
  currency: import("zod").ZodLiteral<"FAIR">;
374
- uri: import("zod").ZodString;
383
+ uri: import("zod").ZodNullable<import("zod").ZodString>;
384
+ outputs: import("zod").ZodArray<import("zod").ZodObject<{
385
+ address: import("zod").ZodString;
386
+ amount: import("zod").ZodString;
387
+ }, import("zod/v4/core").$strict>>;
375
388
  }, import("zod/v4/core").$strict>;
376
389
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
377
390
  type: import("zod").ZodLiteral<"use_peable_sdk">;
@@ -417,7 +430,12 @@ export declare const paymentsRoutes: readonly [{
417
430
  mainnet: "mainnet";
418
431
  testnet: "testnet";
419
432
  }>;
420
- address: import("zod").ZodString;
433
+ address: import("zod").ZodNullable<import("zod").ZodString>;
434
+ outputs: import("zod").ZodArray<import("zod").ZodObject<{
435
+ address: import("zod").ZodString;
436
+ amount: import("zod").ZodString;
437
+ connected_account: import("zod").ZodNullable<import("zod").ZodString>;
438
+ }, import("zod/v4/core").$strict>>;
421
439
  txid: import("zod").ZodNullable<import("zod").ZodString>;
422
440
  confirmations: import("zod").ZodNumber;
423
441
  required_confirmations: import("zod").ZodNumber;
@@ -558,14 +576,18 @@ export declare const paymentsRoutes: readonly [{
558
576
  next_action: import("zod").ZodNullable<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
559
577
  type: import("zod").ZodLiteral<"faircoin_payment">;
560
578
  faircoin_payment: import("zod").ZodObject<{
561
- address: import("zod").ZodString;
579
+ address: import("zod").ZodNullable<import("zod").ZodString>;
562
580
  network: import("zod").ZodEnum<{
563
581
  mainnet: "mainnet";
564
582
  testnet: "testnet";
565
583
  }>;
566
584
  amount: import("zod").ZodString;
567
585
  currency: import("zod").ZodLiteral<"FAIR">;
568
- uri: import("zod").ZodString;
586
+ uri: import("zod").ZodNullable<import("zod").ZodString>;
587
+ outputs: import("zod").ZodArray<import("zod").ZodObject<{
588
+ address: import("zod").ZodString;
589
+ amount: import("zod").ZodString;
590
+ }, import("zod/v4/core").$strict>>;
569
591
  }, import("zod/v4/core").$strict>;
570
592
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
571
593
  type: import("zod").ZodLiteral<"use_peable_sdk">;
@@ -611,7 +633,12 @@ export declare const paymentsRoutes: readonly [{
611
633
  mainnet: "mainnet";
612
634
  testnet: "testnet";
613
635
  }>;
614
- address: import("zod").ZodString;
636
+ address: import("zod").ZodNullable<import("zod").ZodString>;
637
+ outputs: import("zod").ZodArray<import("zod").ZodObject<{
638
+ address: import("zod").ZodString;
639
+ amount: import("zod").ZodString;
640
+ connected_account: import("zod").ZodNullable<import("zod").ZodString>;
641
+ }, import("zod/v4/core").$strict>>;
615
642
  txid: import("zod").ZodNullable<import("zod").ZodString>;
616
643
  confirmations: import("zod").ZodNumber;
617
644
  required_confirmations: import("zod").ZodNumber;
@@ -766,14 +793,18 @@ export declare const paymentsRoutes: readonly [{
766
793
  next_action: import("zod").ZodNullable<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
767
794
  type: import("zod").ZodLiteral<"faircoin_payment">;
768
795
  faircoin_payment: import("zod").ZodObject<{
769
- address: import("zod").ZodString;
796
+ address: import("zod").ZodNullable<import("zod").ZodString>;
770
797
  network: import("zod").ZodEnum<{
771
798
  mainnet: "mainnet";
772
799
  testnet: "testnet";
773
800
  }>;
774
801
  amount: import("zod").ZodString;
775
802
  currency: import("zod").ZodLiteral<"FAIR">;
776
- uri: import("zod").ZodString;
803
+ uri: import("zod").ZodNullable<import("zod").ZodString>;
804
+ outputs: import("zod").ZodArray<import("zod").ZodObject<{
805
+ address: import("zod").ZodString;
806
+ amount: import("zod").ZodString;
807
+ }, import("zod/v4/core").$strict>>;
777
808
  }, import("zod/v4/core").$strict>;
778
809
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
779
810
  type: import("zod").ZodLiteral<"use_peable_sdk">;
@@ -819,7 +850,12 @@ export declare const paymentsRoutes: readonly [{
819
850
  mainnet: "mainnet";
820
851
  testnet: "testnet";
821
852
  }>;
822
- address: import("zod").ZodString;
853
+ address: import("zod").ZodNullable<import("zod").ZodString>;
854
+ outputs: import("zod").ZodArray<import("zod").ZodObject<{
855
+ address: import("zod").ZodString;
856
+ amount: import("zod").ZodString;
857
+ connected_account: import("zod").ZodNullable<import("zod").ZodString>;
858
+ }, import("zod/v4/core").$strict>>;
823
859
  txid: import("zod").ZodNullable<import("zod").ZodString>;
824
860
  confirmations: import("zod").ZodNumber;
825
861
  required_confirmations: import("zod").ZodNumber;
@@ -1004,14 +1040,18 @@ export declare const paymentsRoutes: readonly [{
1004
1040
  next_action: import("zod").ZodNullable<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
1005
1041
  type: import("zod").ZodLiteral<"faircoin_payment">;
1006
1042
  faircoin_payment: import("zod").ZodObject<{
1007
- address: import("zod").ZodString;
1043
+ address: import("zod").ZodNullable<import("zod").ZodString>;
1008
1044
  network: import("zod").ZodEnum<{
1009
1045
  mainnet: "mainnet";
1010
1046
  testnet: "testnet";
1011
1047
  }>;
1012
1048
  amount: import("zod").ZodString;
1013
1049
  currency: import("zod").ZodLiteral<"FAIR">;
1014
- uri: import("zod").ZodString;
1050
+ uri: import("zod").ZodNullable<import("zod").ZodString>;
1051
+ outputs: import("zod").ZodArray<import("zod").ZodObject<{
1052
+ address: import("zod").ZodString;
1053
+ amount: import("zod").ZodString;
1054
+ }, import("zod/v4/core").$strict>>;
1015
1055
  }, import("zod/v4/core").$strict>;
1016
1056
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
1017
1057
  type: import("zod").ZodLiteral<"use_peable_sdk">;
@@ -1057,7 +1097,12 @@ export declare const paymentsRoutes: readonly [{
1057
1097
  mainnet: "mainnet";
1058
1098
  testnet: "testnet";
1059
1099
  }>;
1060
- address: import("zod").ZodString;
1100
+ address: import("zod").ZodNullable<import("zod").ZodString>;
1101
+ outputs: import("zod").ZodArray<import("zod").ZodObject<{
1102
+ address: import("zod").ZodString;
1103
+ amount: import("zod").ZodString;
1104
+ connected_account: import("zod").ZodNullable<import("zod").ZodString>;
1105
+ }, import("zod/v4/core").$strict>>;
1061
1106
  txid: import("zod").ZodNullable<import("zod").ZodString>;
1062
1107
  confirmations: import("zod").ZodNumber;
1063
1108
  required_confirmations: import("zod").ZodNumber;
@@ -1196,14 +1241,18 @@ export declare const paymentsRoutes: readonly [{
1196
1241
  next_action: import("zod").ZodNullable<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
1197
1242
  type: import("zod").ZodLiteral<"faircoin_payment">;
1198
1243
  faircoin_payment: import("zod").ZodObject<{
1199
- address: import("zod").ZodString;
1244
+ address: import("zod").ZodNullable<import("zod").ZodString>;
1200
1245
  network: import("zod").ZodEnum<{
1201
1246
  mainnet: "mainnet";
1202
1247
  testnet: "testnet";
1203
1248
  }>;
1204
1249
  amount: import("zod").ZodString;
1205
1250
  currency: import("zod").ZodLiteral<"FAIR">;
1206
- uri: import("zod").ZodString;
1251
+ uri: import("zod").ZodNullable<import("zod").ZodString>;
1252
+ outputs: import("zod").ZodArray<import("zod").ZodObject<{
1253
+ address: import("zod").ZodString;
1254
+ amount: import("zod").ZodString;
1255
+ }, import("zod/v4/core").$strict>>;
1207
1256
  }, import("zod/v4/core").$strict>;
1208
1257
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
1209
1258
  type: import("zod").ZodLiteral<"use_peable_sdk">;
@@ -1249,7 +1298,12 @@ export declare const paymentsRoutes: readonly [{
1249
1298
  mainnet: "mainnet";
1250
1299
  testnet: "testnet";
1251
1300
  }>;
1252
- address: import("zod").ZodString;
1301
+ address: import("zod").ZodNullable<import("zod").ZodString>;
1302
+ outputs: import("zod").ZodArray<import("zod").ZodObject<{
1303
+ address: import("zod").ZodString;
1304
+ amount: import("zod").ZodString;
1305
+ connected_account: import("zod").ZodNullable<import("zod").ZodString>;
1306
+ }, import("zod/v4/core").$strict>>;
1253
1307
  txid: import("zod").ZodNullable<import("zod").ZodString>;
1254
1308
  confirmations: import("zod").ZodNumber;
1255
1309
  required_confirmations: import("zod").ZodNumber;
@@ -1393,14 +1447,18 @@ export declare const paymentsRoutes: readonly [{
1393
1447
  next_action: import("zod").ZodNullable<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
1394
1448
  type: import("zod").ZodLiteral<"faircoin_payment">;
1395
1449
  faircoin_payment: import("zod").ZodObject<{
1396
- address: import("zod").ZodString;
1450
+ address: import("zod").ZodNullable<import("zod").ZodString>;
1397
1451
  network: import("zod").ZodEnum<{
1398
1452
  mainnet: "mainnet";
1399
1453
  testnet: "testnet";
1400
1454
  }>;
1401
1455
  amount: import("zod").ZodString;
1402
1456
  currency: import("zod").ZodLiteral<"FAIR">;
1403
- uri: import("zod").ZodString;
1457
+ uri: import("zod").ZodNullable<import("zod").ZodString>;
1458
+ outputs: import("zod").ZodArray<import("zod").ZodObject<{
1459
+ address: import("zod").ZodString;
1460
+ amount: import("zod").ZodString;
1461
+ }, import("zod/v4/core").$strict>>;
1404
1462
  }, import("zod/v4/core").$strict>;
1405
1463
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
1406
1464
  type: import("zod").ZodLiteral<"use_peable_sdk">;
@@ -1446,7 +1504,12 @@ export declare const paymentsRoutes: readonly [{
1446
1504
  mainnet: "mainnet";
1447
1505
  testnet: "testnet";
1448
1506
  }>;
1449
- address: import("zod").ZodString;
1507
+ address: import("zod").ZodNullable<import("zod").ZodString>;
1508
+ outputs: import("zod").ZodArray<import("zod").ZodObject<{
1509
+ address: import("zod").ZodString;
1510
+ amount: import("zod").ZodString;
1511
+ connected_account: import("zod").ZodNullable<import("zod").ZodString>;
1512
+ }, import("zod/v4/core").$strict>>;
1450
1513
  txid: import("zod").ZodNullable<import("zod").ZodString>;
1451
1514
  confirmations: import("zod").ZodNumber;
1452
1515
  required_confirmations: import("zod").ZodNumber;
@@ -1583,14 +1646,18 @@ export declare const paymentsRoutes: readonly [{
1583
1646
  next_action: import("zod").ZodNullable<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
1584
1647
  type: import("zod").ZodLiteral<"faircoin_payment">;
1585
1648
  faircoin_payment: import("zod").ZodObject<{
1586
- address: import("zod").ZodString;
1649
+ address: import("zod").ZodNullable<import("zod").ZodString>;
1587
1650
  network: import("zod").ZodEnum<{
1588
1651
  mainnet: "mainnet";
1589
1652
  testnet: "testnet";
1590
1653
  }>;
1591
1654
  amount: import("zod").ZodString;
1592
1655
  currency: import("zod").ZodLiteral<"FAIR">;
1593
- uri: import("zod").ZodString;
1656
+ uri: import("zod").ZodNullable<import("zod").ZodString>;
1657
+ outputs: import("zod").ZodArray<import("zod").ZodObject<{
1658
+ address: import("zod").ZodString;
1659
+ amount: import("zod").ZodString;
1660
+ }, import("zod/v4/core").$strict>>;
1594
1661
  }, import("zod/v4/core").$strict>;
1595
1662
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
1596
1663
  type: import("zod").ZodLiteral<"use_peable_sdk">;
@@ -1636,7 +1703,12 @@ export declare const paymentsRoutes: readonly [{
1636
1703
  mainnet: "mainnet";
1637
1704
  testnet: "testnet";
1638
1705
  }>;
1639
- address: import("zod").ZodString;
1706
+ address: import("zod").ZodNullable<import("zod").ZodString>;
1707
+ outputs: import("zod").ZodArray<import("zod").ZodObject<{
1708
+ address: import("zod").ZodString;
1709
+ amount: import("zod").ZodString;
1710
+ connected_account: import("zod").ZodNullable<import("zod").ZodString>;
1711
+ }, import("zod/v4/core").$strict>>;
1640
1712
  txid: import("zod").ZodNullable<import("zod").ZodString>;
1641
1713
  confirmations: import("zod").ZodNumber;
1642
1714
  required_confirmations: import("zod").ZodNumber;
@@ -1773,14 +1845,18 @@ export declare const paymentsRoutes: readonly [{
1773
1845
  next_action: import("zod").ZodNullable<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
1774
1846
  type: import("zod").ZodLiteral<"faircoin_payment">;
1775
1847
  faircoin_payment: import("zod").ZodObject<{
1776
- address: import("zod").ZodString;
1848
+ address: import("zod").ZodNullable<import("zod").ZodString>;
1777
1849
  network: import("zod").ZodEnum<{
1778
1850
  mainnet: "mainnet";
1779
1851
  testnet: "testnet";
1780
1852
  }>;
1781
1853
  amount: import("zod").ZodString;
1782
1854
  currency: import("zod").ZodLiteral<"FAIR">;
1783
- uri: import("zod").ZodString;
1855
+ uri: import("zod").ZodNullable<import("zod").ZodString>;
1856
+ outputs: import("zod").ZodArray<import("zod").ZodObject<{
1857
+ address: import("zod").ZodString;
1858
+ amount: import("zod").ZodString;
1859
+ }, import("zod/v4/core").$strict>>;
1784
1860
  }, import("zod/v4/core").$strict>;
1785
1861
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
1786
1862
  type: import("zod").ZodLiteral<"use_peable_sdk">;
@@ -1826,7 +1902,12 @@ export declare const paymentsRoutes: readonly [{
1826
1902
  mainnet: "mainnet";
1827
1903
  testnet: "testnet";
1828
1904
  }>;
1829
- address: import("zod").ZodString;
1905
+ address: import("zod").ZodNullable<import("zod").ZodString>;
1906
+ outputs: import("zod").ZodArray<import("zod").ZodObject<{
1907
+ address: import("zod").ZodString;
1908
+ amount: import("zod").ZodString;
1909
+ connected_account: import("zod").ZodNullable<import("zod").ZodString>;
1910
+ }, import("zod/v4/core").$strict>>;
1830
1911
  txid: import("zod").ZodNullable<import("zod").ZodString>;
1831
1912
  confirmations: import("zod").ZodNumber;
1832
1913
  required_confirmations: import("zod").ZodNumber;
@@ -3783,14 +3864,18 @@ export declare const paymentsRoutes: readonly [{
3783
3864
  next_action: import("zod").ZodNullable<import("zod").ZodDiscriminatedUnion<[import("zod").ZodObject<{
3784
3865
  type: import("zod").ZodLiteral<"faircoin_payment">;
3785
3866
  faircoin_payment: import("zod").ZodObject<{
3786
- address: import("zod").ZodString;
3867
+ address: import("zod").ZodNullable<import("zod").ZodString>;
3787
3868
  network: import("zod").ZodEnum<{
3788
3869
  mainnet: "mainnet";
3789
3870
  testnet: "testnet";
3790
3871
  }>;
3791
3872
  amount: import("zod").ZodString;
3792
3873
  currency: import("zod").ZodLiteral<"FAIR">;
3793
- uri: import("zod").ZodString;
3874
+ uri: import("zod").ZodNullable<import("zod").ZodString>;
3875
+ outputs: import("zod").ZodArray<import("zod").ZodObject<{
3876
+ address: import("zod").ZodString;
3877
+ amount: import("zod").ZodString;
3878
+ }, import("zod/v4/core").$strict>>;
3794
3879
  }, import("zod/v4/core").$strict>;
3795
3880
  }, import("zod/v4/core").$strict>, import("zod").ZodObject<{
3796
3881
  type: import("zod").ZodLiteral<"use_peable_sdk">;
@@ -3836,7 +3921,12 @@ export declare const paymentsRoutes: readonly [{
3836
3921
  mainnet: "mainnet";
3837
3922
  testnet: "testnet";
3838
3923
  }>;
3839
- address: import("zod").ZodString;
3924
+ address: import("zod").ZodNullable<import("zod").ZodString>;
3925
+ outputs: import("zod").ZodArray<import("zod").ZodObject<{
3926
+ address: import("zod").ZodString;
3927
+ amount: import("zod").ZodString;
3928
+ connected_account: import("zod").ZodNullable<import("zod").ZodString>;
3929
+ }, import("zod/v4/core").$strict>>;
3840
3930
  txid: import("zod").ZodNullable<import("zod").ZodString>;
3841
3931
  confirmations: import("zod").ZodNumber;
3842
3932
  required_confirmations: import("zod").ZodNumber;
@@ -17,6 +17,12 @@ export declare const paymentErrorSchema: z.ZodObject<{
17
17
  message: z.ZodString;
18
18
  }, z.core.$strict>;
19
19
  export type PaymentIntentLastPaymentError = z.output<typeof paymentErrorSchema>;
20
+ /** One output of a FairCoin payment, as the payer pays it (ADR 0021 D6). */
21
+ export declare const faircoinPaymentOutputSchema: z.ZodObject<{
22
+ address: z.ZodString;
23
+ amount: z.ZodString;
24
+ }, z.core.$strict>;
25
+ export type FaircoinPaymentOutput = z.output<typeof faircoinPaymentOutputSchema>;
20
26
  /**
21
27
  * What the payer must do next (`status: 'requires_action'`).
22
28
  *
@@ -29,14 +35,18 @@ export type PaymentIntentLastPaymentError = z.output<typeof paymentErrorSchema>;
29
35
  export declare const paymentIntentNextActionSchema: z.ZodDiscriminatedUnion<[z.ZodObject<{
30
36
  type: z.ZodLiteral<"faircoin_payment">;
31
37
  faircoin_payment: z.ZodObject<{
32
- address: z.ZodString;
38
+ address: z.ZodNullable<z.ZodString>;
33
39
  network: z.ZodEnum<{
34
40
  mainnet: "mainnet";
35
41
  testnet: "testnet";
36
42
  }>;
37
43
  amount: z.ZodString;
38
44
  currency: z.ZodLiteral<"FAIR">;
39
- uri: z.ZodString;
45
+ uri: z.ZodNullable<z.ZodString>;
46
+ outputs: z.ZodArray<z.ZodObject<{
47
+ address: z.ZodString;
48
+ amount: z.ZodString;
49
+ }, z.core.$strict>>;
40
50
  }, z.core.$strict>;
41
51
  }, z.core.$strict>, z.ZodObject<{
42
52
  type: z.ZodLiteral<"use_peable_sdk">;
@@ -91,7 +101,12 @@ export declare const paymentIntentFaircoinSchema: z.ZodObject<{
91
101
  mainnet: "mainnet";
92
102
  testnet: "testnet";
93
103
  }>;
94
- address: z.ZodString;
104
+ address: z.ZodNullable<z.ZodString>;
105
+ outputs: z.ZodArray<z.ZodObject<{
106
+ address: z.ZodString;
107
+ amount: z.ZodString;
108
+ connected_account: z.ZodNullable<z.ZodString>;
109
+ }, z.core.$strict>>;
95
110
  txid: z.ZodNullable<z.ZodString>;
96
111
  confirmations: z.ZodNumber;
97
112
  required_confirmations: z.ZodNumber;
@@ -219,14 +234,18 @@ export declare const paymentIntentSchema: z.ZodObject<{
219
234
  next_action: z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
220
235
  type: z.ZodLiteral<"faircoin_payment">;
221
236
  faircoin_payment: z.ZodObject<{
222
- address: z.ZodString;
237
+ address: z.ZodNullable<z.ZodString>;
223
238
  network: z.ZodEnum<{
224
239
  mainnet: "mainnet";
225
240
  testnet: "testnet";
226
241
  }>;
227
242
  amount: z.ZodString;
228
243
  currency: z.ZodLiteral<"FAIR">;
229
- uri: z.ZodString;
244
+ uri: z.ZodNullable<z.ZodString>;
245
+ outputs: z.ZodArray<z.ZodObject<{
246
+ address: z.ZodString;
247
+ amount: z.ZodString;
248
+ }, z.core.$strict>>;
230
249
  }, z.core.$strict>;
231
250
  }, z.core.$strict>, z.ZodObject<{
232
251
  type: z.ZodLiteral<"use_peable_sdk">;
@@ -272,7 +291,12 @@ export declare const paymentIntentSchema: z.ZodObject<{
272
291
  mainnet: "mainnet";
273
292
  testnet: "testnet";
274
293
  }>;
275
- address: z.ZodString;
294
+ address: z.ZodNullable<z.ZodString>;
295
+ outputs: z.ZodArray<z.ZodObject<{
296
+ address: z.ZodString;
297
+ amount: z.ZodString;
298
+ connected_account: z.ZodNullable<z.ZodString>;
299
+ }, z.core.$strict>>;
276
300
  txid: z.ZodNullable<z.ZodString>;
277
301
  confirmations: z.ZodNumber;
278
302
  required_confirmations: z.ZodNumber;
@@ -716,14 +740,18 @@ export declare const paymentIntentRoutes: readonly [{
716
740
  next_action: z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
717
741
  type: z.ZodLiteral<"faircoin_payment">;
718
742
  faircoin_payment: z.ZodObject<{
719
- address: z.ZodString;
743
+ address: z.ZodNullable<z.ZodString>;
720
744
  network: z.ZodEnum<{
721
745
  mainnet: "mainnet";
722
746
  testnet: "testnet";
723
747
  }>;
724
748
  amount: z.ZodString;
725
749
  currency: z.ZodLiteral<"FAIR">;
726
- uri: z.ZodString;
750
+ uri: z.ZodNullable<z.ZodString>;
751
+ outputs: z.ZodArray<z.ZodObject<{
752
+ address: z.ZodString;
753
+ amount: z.ZodString;
754
+ }, z.core.$strict>>;
727
755
  }, z.core.$strict>;
728
756
  }, z.core.$strict>, z.ZodObject<{
729
757
  type: z.ZodLiteral<"use_peable_sdk">;
@@ -769,7 +797,12 @@ export declare const paymentIntentRoutes: readonly [{
769
797
  mainnet: "mainnet";
770
798
  testnet: "testnet";
771
799
  }>;
772
- address: z.ZodString;
800
+ address: z.ZodNullable<z.ZodString>;
801
+ outputs: z.ZodArray<z.ZodObject<{
802
+ address: z.ZodString;
803
+ amount: z.ZodString;
804
+ connected_account: z.ZodNullable<z.ZodString>;
805
+ }, z.core.$strict>>;
773
806
  txid: z.ZodNullable<z.ZodString>;
774
807
  confirmations: z.ZodNumber;
775
808
  required_confirmations: z.ZodNumber;
@@ -929,14 +962,18 @@ export declare const paymentIntentRoutes: readonly [{
929
962
  next_action: z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
930
963
  type: z.ZodLiteral<"faircoin_payment">;
931
964
  faircoin_payment: z.ZodObject<{
932
- address: z.ZodString;
965
+ address: z.ZodNullable<z.ZodString>;
933
966
  network: z.ZodEnum<{
934
967
  mainnet: "mainnet";
935
968
  testnet: "testnet";
936
969
  }>;
937
970
  amount: z.ZodString;
938
971
  currency: z.ZodLiteral<"FAIR">;
939
- uri: z.ZodString;
972
+ uri: z.ZodNullable<z.ZodString>;
973
+ outputs: z.ZodArray<z.ZodObject<{
974
+ address: z.ZodString;
975
+ amount: z.ZodString;
976
+ }, z.core.$strict>>;
940
977
  }, z.core.$strict>;
941
978
  }, z.core.$strict>, z.ZodObject<{
942
979
  type: z.ZodLiteral<"use_peable_sdk">;
@@ -982,7 +1019,12 @@ export declare const paymentIntentRoutes: readonly [{
982
1019
  mainnet: "mainnet";
983
1020
  testnet: "testnet";
984
1021
  }>;
985
- address: z.ZodString;
1022
+ address: z.ZodNullable<z.ZodString>;
1023
+ outputs: z.ZodArray<z.ZodObject<{
1024
+ address: z.ZodString;
1025
+ amount: z.ZodString;
1026
+ connected_account: z.ZodNullable<z.ZodString>;
1027
+ }, z.core.$strict>>;
986
1028
  txid: z.ZodNullable<z.ZodString>;
987
1029
  confirmations: z.ZodNumber;
988
1030
  required_confirmations: z.ZodNumber;
@@ -1123,14 +1165,18 @@ export declare const paymentIntentRoutes: readonly [{
1123
1165
  next_action: z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
1124
1166
  type: z.ZodLiteral<"faircoin_payment">;
1125
1167
  faircoin_payment: z.ZodObject<{
1126
- address: z.ZodString;
1168
+ address: z.ZodNullable<z.ZodString>;
1127
1169
  network: z.ZodEnum<{
1128
1170
  mainnet: "mainnet";
1129
1171
  testnet: "testnet";
1130
1172
  }>;
1131
1173
  amount: z.ZodString;
1132
1174
  currency: z.ZodLiteral<"FAIR">;
1133
- uri: z.ZodString;
1175
+ uri: z.ZodNullable<z.ZodString>;
1176
+ outputs: z.ZodArray<z.ZodObject<{
1177
+ address: z.ZodString;
1178
+ amount: z.ZodString;
1179
+ }, z.core.$strict>>;
1134
1180
  }, z.core.$strict>;
1135
1181
  }, z.core.$strict>, z.ZodObject<{
1136
1182
  type: z.ZodLiteral<"use_peable_sdk">;
@@ -1176,7 +1222,12 @@ export declare const paymentIntentRoutes: readonly [{
1176
1222
  mainnet: "mainnet";
1177
1223
  testnet: "testnet";
1178
1224
  }>;
1179
- address: z.ZodString;
1225
+ address: z.ZodNullable<z.ZodString>;
1226
+ outputs: z.ZodArray<z.ZodObject<{
1227
+ address: z.ZodString;
1228
+ amount: z.ZodString;
1229
+ connected_account: z.ZodNullable<z.ZodString>;
1230
+ }, z.core.$strict>>;
1180
1231
  txid: z.ZodNullable<z.ZodString>;
1181
1232
  confirmations: z.ZodNumber;
1182
1233
  required_confirmations: z.ZodNumber;
@@ -1331,14 +1382,18 @@ export declare const paymentIntentRoutes: readonly [{
1331
1382
  next_action: z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
1332
1383
  type: z.ZodLiteral<"faircoin_payment">;
1333
1384
  faircoin_payment: z.ZodObject<{
1334
- address: z.ZodString;
1385
+ address: z.ZodNullable<z.ZodString>;
1335
1386
  network: z.ZodEnum<{
1336
1387
  mainnet: "mainnet";
1337
1388
  testnet: "testnet";
1338
1389
  }>;
1339
1390
  amount: z.ZodString;
1340
1391
  currency: z.ZodLiteral<"FAIR">;
1341
- uri: z.ZodString;
1392
+ uri: z.ZodNullable<z.ZodString>;
1393
+ outputs: z.ZodArray<z.ZodObject<{
1394
+ address: z.ZodString;
1395
+ amount: z.ZodString;
1396
+ }, z.core.$strict>>;
1342
1397
  }, z.core.$strict>;
1343
1398
  }, z.core.$strict>, z.ZodObject<{
1344
1399
  type: z.ZodLiteral<"use_peable_sdk">;
@@ -1384,7 +1439,12 @@ export declare const paymentIntentRoutes: readonly [{
1384
1439
  mainnet: "mainnet";
1385
1440
  testnet: "testnet";
1386
1441
  }>;
1387
- address: z.ZodString;
1442
+ address: z.ZodNullable<z.ZodString>;
1443
+ outputs: z.ZodArray<z.ZodObject<{
1444
+ address: z.ZodString;
1445
+ amount: z.ZodString;
1446
+ connected_account: z.ZodNullable<z.ZodString>;
1447
+ }, z.core.$strict>>;
1388
1448
  txid: z.ZodNullable<z.ZodString>;
1389
1449
  confirmations: z.ZodNumber;
1390
1450
  required_confirmations: z.ZodNumber;
@@ -1569,14 +1629,18 @@ export declare const paymentIntentRoutes: readonly [{
1569
1629
  next_action: z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
1570
1630
  type: z.ZodLiteral<"faircoin_payment">;
1571
1631
  faircoin_payment: z.ZodObject<{
1572
- address: z.ZodString;
1632
+ address: z.ZodNullable<z.ZodString>;
1573
1633
  network: z.ZodEnum<{
1574
1634
  mainnet: "mainnet";
1575
1635
  testnet: "testnet";
1576
1636
  }>;
1577
1637
  amount: z.ZodString;
1578
1638
  currency: z.ZodLiteral<"FAIR">;
1579
- uri: z.ZodString;
1639
+ uri: z.ZodNullable<z.ZodString>;
1640
+ outputs: z.ZodArray<z.ZodObject<{
1641
+ address: z.ZodString;
1642
+ amount: z.ZodString;
1643
+ }, z.core.$strict>>;
1580
1644
  }, z.core.$strict>;
1581
1645
  }, z.core.$strict>, z.ZodObject<{
1582
1646
  type: z.ZodLiteral<"use_peable_sdk">;
@@ -1622,7 +1686,12 @@ export declare const paymentIntentRoutes: readonly [{
1622
1686
  mainnet: "mainnet";
1623
1687
  testnet: "testnet";
1624
1688
  }>;
1625
- address: z.ZodString;
1689
+ address: z.ZodNullable<z.ZodString>;
1690
+ outputs: z.ZodArray<z.ZodObject<{
1691
+ address: z.ZodString;
1692
+ amount: z.ZodString;
1693
+ connected_account: z.ZodNullable<z.ZodString>;
1694
+ }, z.core.$strict>>;
1626
1695
  txid: z.ZodNullable<z.ZodString>;
1627
1696
  confirmations: z.ZodNumber;
1628
1697
  required_confirmations: z.ZodNumber;
@@ -1761,14 +1830,18 @@ export declare const paymentIntentRoutes: readonly [{
1761
1830
  next_action: z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
1762
1831
  type: z.ZodLiteral<"faircoin_payment">;
1763
1832
  faircoin_payment: z.ZodObject<{
1764
- address: z.ZodString;
1833
+ address: z.ZodNullable<z.ZodString>;
1765
1834
  network: z.ZodEnum<{
1766
1835
  mainnet: "mainnet";
1767
1836
  testnet: "testnet";
1768
1837
  }>;
1769
1838
  amount: z.ZodString;
1770
1839
  currency: z.ZodLiteral<"FAIR">;
1771
- uri: z.ZodString;
1840
+ uri: z.ZodNullable<z.ZodString>;
1841
+ outputs: z.ZodArray<z.ZodObject<{
1842
+ address: z.ZodString;
1843
+ amount: z.ZodString;
1844
+ }, z.core.$strict>>;
1772
1845
  }, z.core.$strict>;
1773
1846
  }, z.core.$strict>, z.ZodObject<{
1774
1847
  type: z.ZodLiteral<"use_peable_sdk">;
@@ -1814,7 +1887,12 @@ export declare const paymentIntentRoutes: readonly [{
1814
1887
  mainnet: "mainnet";
1815
1888
  testnet: "testnet";
1816
1889
  }>;
1817
- address: z.ZodString;
1890
+ address: z.ZodNullable<z.ZodString>;
1891
+ outputs: z.ZodArray<z.ZodObject<{
1892
+ address: z.ZodString;
1893
+ amount: z.ZodString;
1894
+ connected_account: z.ZodNullable<z.ZodString>;
1895
+ }, z.core.$strict>>;
1818
1896
  txid: z.ZodNullable<z.ZodString>;
1819
1897
  confirmations: z.ZodNumber;
1820
1898
  required_confirmations: z.ZodNumber;
@@ -1958,14 +2036,18 @@ export declare const paymentIntentRoutes: readonly [{
1958
2036
  next_action: z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
1959
2037
  type: z.ZodLiteral<"faircoin_payment">;
1960
2038
  faircoin_payment: z.ZodObject<{
1961
- address: z.ZodString;
2039
+ address: z.ZodNullable<z.ZodString>;
1962
2040
  network: z.ZodEnum<{
1963
2041
  mainnet: "mainnet";
1964
2042
  testnet: "testnet";
1965
2043
  }>;
1966
2044
  amount: z.ZodString;
1967
2045
  currency: z.ZodLiteral<"FAIR">;
1968
- uri: z.ZodString;
2046
+ uri: z.ZodNullable<z.ZodString>;
2047
+ outputs: z.ZodArray<z.ZodObject<{
2048
+ address: z.ZodString;
2049
+ amount: z.ZodString;
2050
+ }, z.core.$strict>>;
1969
2051
  }, z.core.$strict>;
1970
2052
  }, z.core.$strict>, z.ZodObject<{
1971
2053
  type: z.ZodLiteral<"use_peable_sdk">;
@@ -2011,7 +2093,12 @@ export declare const paymentIntentRoutes: readonly [{
2011
2093
  mainnet: "mainnet";
2012
2094
  testnet: "testnet";
2013
2095
  }>;
2014
- address: z.ZodString;
2096
+ address: z.ZodNullable<z.ZodString>;
2097
+ outputs: z.ZodArray<z.ZodObject<{
2098
+ address: z.ZodString;
2099
+ amount: z.ZodString;
2100
+ connected_account: z.ZodNullable<z.ZodString>;
2101
+ }, z.core.$strict>>;
2015
2102
  txid: z.ZodNullable<z.ZodString>;
2016
2103
  confirmations: z.ZodNumber;
2017
2104
  required_confirmations: z.ZodNumber;
@@ -2148,14 +2235,18 @@ export declare const paymentIntentRoutes: readonly [{
2148
2235
  next_action: z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
2149
2236
  type: z.ZodLiteral<"faircoin_payment">;
2150
2237
  faircoin_payment: z.ZodObject<{
2151
- address: z.ZodString;
2238
+ address: z.ZodNullable<z.ZodString>;
2152
2239
  network: z.ZodEnum<{
2153
2240
  mainnet: "mainnet";
2154
2241
  testnet: "testnet";
2155
2242
  }>;
2156
2243
  amount: z.ZodString;
2157
2244
  currency: z.ZodLiteral<"FAIR">;
2158
- uri: z.ZodString;
2245
+ uri: z.ZodNullable<z.ZodString>;
2246
+ outputs: z.ZodArray<z.ZodObject<{
2247
+ address: z.ZodString;
2248
+ amount: z.ZodString;
2249
+ }, z.core.$strict>>;
2159
2250
  }, z.core.$strict>;
2160
2251
  }, z.core.$strict>, z.ZodObject<{
2161
2252
  type: z.ZodLiteral<"use_peable_sdk">;
@@ -2201,7 +2292,12 @@ export declare const paymentIntentRoutes: readonly [{
2201
2292
  mainnet: "mainnet";
2202
2293
  testnet: "testnet";
2203
2294
  }>;
2204
- address: z.ZodString;
2295
+ address: z.ZodNullable<z.ZodString>;
2296
+ outputs: z.ZodArray<z.ZodObject<{
2297
+ address: z.ZodString;
2298
+ amount: z.ZodString;
2299
+ connected_account: z.ZodNullable<z.ZodString>;
2300
+ }, z.core.$strict>>;
2205
2301
  txid: z.ZodNullable<z.ZodString>;
2206
2302
  confirmations: z.ZodNumber;
2207
2303
  required_confirmations: z.ZodNumber;
@@ -2338,14 +2434,18 @@ export declare const paymentIntentRoutes: readonly [{
2338
2434
  next_action: z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
2339
2435
  type: z.ZodLiteral<"faircoin_payment">;
2340
2436
  faircoin_payment: z.ZodObject<{
2341
- address: z.ZodString;
2437
+ address: z.ZodNullable<z.ZodString>;
2342
2438
  network: z.ZodEnum<{
2343
2439
  mainnet: "mainnet";
2344
2440
  testnet: "testnet";
2345
2441
  }>;
2346
2442
  amount: z.ZodString;
2347
2443
  currency: z.ZodLiteral<"FAIR">;
2348
- uri: z.ZodString;
2444
+ uri: z.ZodNullable<z.ZodString>;
2445
+ outputs: z.ZodArray<z.ZodObject<{
2446
+ address: z.ZodString;
2447
+ amount: z.ZodString;
2448
+ }, z.core.$strict>>;
2349
2449
  }, z.core.$strict>;
2350
2450
  }, z.core.$strict>, z.ZodObject<{
2351
2451
  type: z.ZodLiteral<"use_peable_sdk">;
@@ -2391,7 +2491,12 @@ export declare const paymentIntentRoutes: readonly [{
2391
2491
  mainnet: "mainnet";
2392
2492
  testnet: "testnet";
2393
2493
  }>;
2394
- address: z.ZodString;
2494
+ address: z.ZodNullable<z.ZodString>;
2495
+ outputs: z.ZodArray<z.ZodObject<{
2496
+ address: z.ZodString;
2497
+ amount: z.ZodString;
2498
+ connected_account: z.ZodNullable<z.ZodString>;
2499
+ }, z.core.$strict>>;
2395
2500
  txid: z.ZodNullable<z.ZodString>;
2396
2501
  confirmations: z.ZodNumber;
2397
2502
  required_confirmations: z.ZodNumber;
@@ -93,14 +93,18 @@ export declare const paymentIntentTestHelperRoutes: readonly [{
93
93
  next_action: z.ZodNullable<z.ZodDiscriminatedUnion<[z.ZodObject<{
94
94
  type: z.ZodLiteral<"faircoin_payment">;
95
95
  faircoin_payment: z.ZodObject<{
96
- address: z.ZodString;
96
+ address: z.ZodNullable<z.ZodString>;
97
97
  network: z.ZodEnum<{
98
98
  mainnet: "mainnet";
99
99
  testnet: "testnet";
100
100
  }>;
101
101
  amount: z.ZodString;
102
102
  currency: z.ZodLiteral<"FAIR">;
103
- uri: z.ZodString;
103
+ uri: z.ZodNullable<z.ZodString>;
104
+ outputs: z.ZodArray<z.ZodObject<{
105
+ address: z.ZodString;
106
+ amount: z.ZodString;
107
+ }, z.core.$strict>>;
104
108
  }, z.core.$strict>;
105
109
  }, z.core.$strict>, z.ZodObject<{
106
110
  type: z.ZodLiteral<"use_peable_sdk">;
@@ -146,7 +150,12 @@ export declare const paymentIntentTestHelperRoutes: readonly [{
146
150
  mainnet: "mainnet";
147
151
  testnet: "testnet";
148
152
  }>;
149
- address: z.ZodString;
153
+ address: z.ZodNullable<z.ZodString>;
154
+ outputs: z.ZodArray<z.ZodObject<{
155
+ address: z.ZodString;
156
+ amount: z.ZodString;
157
+ connected_account: z.ZodNullable<z.ZodString>;
158
+ }, z.core.$strict>>;
150
159
  txid: z.ZodNullable<z.ZodString>;
151
160
  confirmations: z.ZodNumber;
152
161
  required_confirmations: z.ZodNumber;
@@ -108,6 +108,7 @@ export declare const ERROR_CODE_DESCRIPTIONS: {
108
108
  readonly faircoin_price_unavailable: "No fresh FairCoin price exists right now, so this order cannot be quoted in FAIR. The other payment methods still work; try FairCoin again shortly.";
109
109
  readonly faircoin_wallet_missing: "The Peable wallet that receives this payment (the merchant owner's, or the seller's) isn't set up yet, so it cannot be paid in FairCoin. The other payment methods still work.";
110
110
  readonly faircoin_network_closed: "FairCoin payments on this network are not open on this deployment yet. The other payment methods still work.";
111
+ readonly faircoin_amount_too_small: "One seller's share of this order is below the smallest amount the FairCoin network relays, so it cannot be paid in FairCoin. The other payment methods still work.";
111
112
  readonly credit_note_exceeds_invoice: "The credit note's amount exceeds what the invoice can still credit.";
112
113
  readonly test_clock_unexpected_state: "The test clock is advancing; wait until it is ready.";
113
114
  readonly meter_event_customer_missing: "The meter event names no customer of this merchant.";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@peable.to/contracts",
3
- "version": "4.0.0",
3
+ "version": "5.0.0",
4
4
  "description": "The Peable wire, declared once: Zod contracts of every public route, the OpenAPI 3.1 generator and the closed value sets (ADR 0014 D5).",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",