Skip to content

CheckoutCommandJson

JSON checkout codec: decode this before calling createCheckout; monetary numbers are rejected.

const CheckoutCommandJson: Schema.toTaggedUnion<"type", readonly [Schema.Struct<{
provider: Schema.brand<Schema.String, "ProviderKey">;
customer: Schema.Struct<{
externalId: Schema.brand<Schema.String, "ExternalCustomerId">;
email: Schema.brand<Schema.String, "EmailAddress">;
name: Schema.NonEmptyString;
}>;
successUrl: Schema.brand<Schema.String, "CheckoutUrl">;
cancelUrl: Schema.brand<Schema.String, "CheckoutUrl">;
clientIp: Schema.NullOr<Schema.brand<Schema.String, "ClientIp">>;
idempotencyKey: Schema.brand<Schema.String, "IdempotencyKey">;
beneficiary: Schema.optionalKey<Schema.toTaggedUnion<"type", readonly [Schema.Struct<{
type: ...;
}>, Schema.Struct<{
type: ...;
subjectId: ...;
}>]>>;
type: Schema.Literal<"single">;
item: Schema.Struct<{
name: Schema.NonEmptyString;
currency: Schema.brand<Schema.String, "Currency">;
fulfillment: Schema.toTaggedUnion<"type", readonly [Schema.Struct<...>, Schema.Struct<...>]>;
amount: Schema.compose<Schema.brand<Schema.BigInt, "MinorCurrencyUnits">, Schema.compose<Schema.BigIntFromString, Schema.String>>;
}>;
}>, Schema.Struct<{
provider: Schema.brand<Schema.String, "ProviderKey">;
customer: Schema.Struct<{
externalId: Schema.brand<Schema.String, "ExternalCustomerId">;
email: Schema.brand<Schema.String, "EmailAddress">;
name: Schema.NonEmptyString;
}>;
successUrl: Schema.brand<Schema.String, "CheckoutUrl">;
cancelUrl: Schema.brand<Schema.String, "CheckoutUrl">;
clientIp: Schema.NullOr<Schema.brand<Schema.String, "ClientIp">>;
idempotencyKey: Schema.brand<Schema.String, "IdempotencyKey">;
beneficiary: Schema.optionalKey<Schema.toTaggedUnion<"type", readonly [Schema.Struct<{
type: ...;
}>, Schema.Struct<{
type: ...;
subjectId: ...;
}>]>>;
type: Schema.Literal<"catalog">;
priceId: Schema.brand<Schema.String, "PriceId">;
}>, Schema.Struct<{
provider: Schema.brand<Schema.String, "ProviderKey">;
customer: Schema.Struct<{
externalId: Schema.brand<Schema.String, "ExternalCustomerId">;
email: Schema.brand<Schema.String, "EmailAddress">;
name: Schema.NonEmptyString;
}>;
successUrl: Schema.brand<Schema.String, "CheckoutUrl">;
cancelUrl: Schema.brand<Schema.String, "CheckoutUrl">;
clientIp: Schema.NullOr<Schema.brand<Schema.String, "ClientIp">>;
idempotencyKey: Schema.brand<Schema.String, "IdempotencyKey">;
beneficiary: Schema.optionalKey<Schema.toTaggedUnion<"type", readonly [Schema.Struct<{
type: ...;
}>, Schema.Struct<{
type: ...;
subjectId: ...;
}>]>>;
type: Schema.Literal<"offer">;
offerKey: Schema.brand<Schema.String, "OfferKey">;
offerRevision: Schema.brand<Schema.Int, "DefinitionRevision">;
quantity: Schema.NullOr<Schema.brand<Schema.Int, "SeatCapacityQuantity">>;
}>, Schema.Struct<{
provider: Schema.brand<Schema.String, "ProviderKey">;
customer: Schema.Struct<{
externalId: Schema.brand<Schema.String, "ExternalCustomerId">;
email: Schema.brand<Schema.String, "EmailAddress">;
name: Schema.NonEmptyString;
}>;
successUrl: Schema.brand<Schema.String, "CheckoutUrl">;
cancelUrl: Schema.brand<Schema.String, "CheckoutUrl">;
clientIp: Schema.NullOr<Schema.brand<Schema.String, "ClientIp">>;
idempotencyKey: Schema.brand<Schema.String, "IdempotencyKey">;
type: Schema.Literal<"subscription_renewal">;
subscriptionId: Schema.brand<Schema.String, "SubscriptionId">;
}>, Schema.Struct<{
provider: Schema.brand<Schema.String, "ProviderKey">;
customer: Schema.Struct<{
externalId: Schema.brand<Schema.String, "ExternalCustomerId">;
email: Schema.brand<Schema.String, "EmailAddress">;
name: Schema.NonEmptyString;
}>;
successUrl: Schema.brand<Schema.String, "CheckoutUrl">;
cancelUrl: Schema.brand<Schema.String, "CheckoutUrl">;
clientIp: Schema.NullOr<Schema.brand<Schema.String, "ClientIp">>;
idempotencyKey: Schema.brand<Schema.String, "IdempotencyKey">;
type: Schema.Literal<"invoice">;
invoiceId: Schema.brand<Schema.String, "InvoiceId">;
}>]>;