Skip to content
GlyphTechnologies

On-demand fabrication

Card on file

Save a card once; each order is charged when it arrives.

On-demand orders are charged to a card you save once. Nothing is charged until an order is placed, and every charge is for one order.

Check

GET/api/intake/billing
{ "card_on_file": false, "brand": null, "last4": null, "setup_at": null, "next": "POST /api/intake/billing and open the returned url" }

Save a card

POST/api/intake/billing

Returns a hosted Stripe page. Open it in a browser and enter the card. Optional body: { "return_url": "https://your-site/…" }.

{ "url": "https://checkout.stripe.com/c/pay/cs_…", "expires_at": "2026-10-13T21:15:55.000Z", "note": "Open this URL in a browser to save a card. It is valid once and expires." }

The page belongs to Stripe. We never see the card number; we keep only a token, the brand, and the last four digits. When the page completes, GET /api/intake/billing shows card_on_file: true.

{ "card_on_file": true, "brand": "visa", "last4": "4242", "setup_at": "2026-10-12T21:16:40.000+00:00", "next": "place_orders" }

Replace a card

Call POST /api/intake/billing again and complete the new page. The new card replaces the old one for future orders.

Charges, declines, refunds

  • Each order is charged for its total, parts plus shipping, when you place it. The response tells you whether the charge succeeded.
  • A declined card returns 402 and the order is recorded as payment_failed. Fix the card and place the order again; nothing was built.
  • Cancelling a paid order before production refunds it in full to the same card.
  • 503 if billing is not configured on our side; 502 if the setup page could not be created. Retry later.
  • Receipts come from Stripe to the email on your customer account.