Custom attributes define the metadata keys Repejo accepts and persists on checkout-derived
entities. They are configured per tenant and shape the
metadata
objects exposed in payer, subscription, receivable, and transaction payloads.
Custom attributes are defined via the Settings page
label
is the human-facing name shown in the admin UI.
value
is the programmatic key used inside metadata maps and webhook payloads.
public
controls whether the key may be set from embedded checkout components.
value
is the programmatic key used inside metadata maps.
value
is trimmed, lowercased, unique, and can only contain a-z, 0-9, and _.
value
after creation. It is treated as immutable.
1000
characters.
public.
Unknown, private, and oversized values are ignored.
Public attributes can be passed into embedded checkout components as one HTML attribute per
metadata key. The attribute name must use the
metadata-
prefix.
<repejo-checkout
short_code="my_checkout"
host="https://app.repejo.se"
metadata-member_id="12345"
></repejo-checkout>
<repejo-checkout-button
short_code="my_checkout"
host="https://app.repejo.se"
metadata-member_id="12345"
></repejo-checkout-button>
<repejo-sticky-checkout
short_code="my_checkout"
host="https://app.repejo.se"
metadata-member_id="12345"
></repejo-sticky-checkout>
checkout.metadata,
the runtime value wins for that session.
checkout.metadata
acts as the default source for downstream metadata.
public
are shown as readonly values.
payer.metadata, subscription.metadata, receivable.metadata, and
transaction.metadata
are snapshots captured at creation time.
The repejo:completed
event now includes a metadata
object in its detail
payload.
type RepejoCompletedEventDetail = {
checkout_short_code: string;
type: "recurring" | "onetime" | "gift_card";
payer: {
name: string | null;
phone_number: string | null;
email: string | null;
};
metadata: Record<string, string>;
};
detail.metadata.