Skip to content

IssuingPersonalizationDesign

Source: src/Stripe/IssuingPersonalizationDesign.ts

A Stripe Issuing Personalization Design — a physical bundle, optional card logo, and optional carrier text that represent a card product line. Name, lookup key, logo, carrier text, physical bundle, preferences, and metadata update in place.

Stripe has no delete, archive, or deactivate API for personalization designs. Destroy is a no-op; the design remains as residue on the account (still listed by list() via Alchemy metadata). Account-wide nuke skips this type.

Creating designs requires the Stripe Issuing entitlement.

Named design on a physical bundle

const design = yield* Stripe.IssuingPersonalizationDesign("metal-card", {
physicalBundle: "ics_Fiiwz3T83opOUd",
name: "Metal Card",
});

Lookup key, carrier text, and metadata

const design = yield* Stripe.IssuingPersonalizationDesign("metal-card", {
physicalBundle: "ics_Fiiwz3T83opOUd",
name: "Metal Card",
lookupKey: "metal_card_v1",
carrierText: {
headerTitle: "Welcome",
headerBody: "Your card is on its way.",
},
metadata: { line: "metal" },
});
const design = yield* Stripe.IssuingPersonalizationDesign("metal-card", {
physicalBundle: "ics_Fiiwz3T83opOUd",
name: "Metal Card v2",
lookupKey: "metal_card_v1",
metadata: { line: "metal", version: "2" },
});
const retrieve = yield* Stripe.RetrieveIssuingPersonalizationDesign(design);
const live = yield* retrieve();
// stack.destroy() leaves the Stripe object in place — there is no
// delete/archive API. Residue stays tagged with alchemy_stack.
const design = yield* Stripe.IssuingPersonalizationDesign("metal-card", {
physicalBundle: "ics_Fiiwz3T83opOUd",
name: "Metal Card",
});