OSS-first docs

These docs teach the open system first: contracts, generated surfaces, runtimes, governance, and incremental adoption. Studio shows up as the operating layer on top, not as the source of truth.

integration-stripe.workflow.payment

Charge a customer using the tenant Stripe connection and record settlement details.

  • Type: workflow (workflow)
  • Version: 1.0.0
  • Tags: stripe
  • File: packages/examples/integration-stripe/src/workflow.ts
  • field.key.label
    integration-stripe.workflow.payment
    field.version.label
    1.0.0
    field.type.label
    workflow (workflow)
    field.title.label
    integration-stripe.workflow.payment
    field.description.label

    Charge a customer using the tenant Stripe connection and record settlement details.

  • Type: workflow (workflow)
  • Version: 1.0.0
  • Tags: stripe
  • File: packages/examples/integration-stripe/src/workflow.ts
  • field.tags.label
    stripe
    field.owners.label
    field.stability.label

    Charge a customer using the tenant Stripe connection and record settlement details.

    Source Definition

    export const collectPaymentWorkflow = defineWorkflow({
    	meta: {
    		key: 'integration-stripe.workflow.payment',
    		version: '1.0.0',
    		title: 'Collect Card Payment',
    		description:
    			'Charge a customer using the tenant Stripe connection and record settlement details.',
    		domain: 'payments',
    		owners: [OwnersEnum.PlatformCore],
    		tags: [TagsEnum.Marketplace, 'stripe'],
    		stability: StabilityEnum.Experimental,
    	},
    	definition: {
    		entryStepId: 'prepare',
    		steps: [
    			{
    				id: 'prepare',
    				type: 'automation',
    				label: 'Prepare charge parameters',
    				action: {
    					operation: { key: 'payments.prepareCharge', version: '1.0.0' },
    				},
    			},
    			{
    				id: 'charge',
    				type: 'automation',
    				label: 'Charge card via Stripe',
    				action: {
    					operation: { key: 'payments.stripe.chargeCard', version: '1.0.0' },
    				},
    			},
    			{
    				id: 'confirm',
    				type: 'automation',
    				label: 'Confirm settlement',
    				action: {
    					operation: { key: 'payments.recordSettlement', version: '1.0.0' },
    				},
    			},
    		],
    		transitions: [
    			{ from: 'prepare', to: 'charge' },
    			{ from: 'charge', to: 'confirm', condition: 'output.success === true' },
    		],
    	},
    });