Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

mug: add unfulfilled orders report, fix stripe webhook

Created Stripe webhook for mug fulfillment (was missing,
causing paid orders to never reach Printful). Manually
fulfilled James Colby's order. Olivia Sastry still needs
shipping address.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+71
+71
unfulfilled-mug-orders.md
··· 1 + # Unfulfilled Mug Orders 2 + 3 + ## Olivia Sastry — needs follow-up 4 + 5 + - **Email:** oliviasastry@gmail.com 6 + - **Date:** Feb 8, 2026 7 + - **Amount:** $18.00 (paid) 8 + - **Stripe PI:** `pi_3SnYRTD01uz279HJ03OPAJ8V` 9 + - **Shipping address:** NONE — not collected 10 + - **Printful:** never submitted (no webhook was configured) 11 + 12 + ### Action needed 13 + 14 + Email Olivia to get her shipping address, then manually submit to Printful: 15 + 16 + ```bash 17 + curl -s -X POST "https://api.printful.com/orders?confirm=true" \ 18 + -H "Authorization: Bearer $PRINTFUL_API_TOKEN" \ 19 + -H "Content-Type: application/json" \ 20 + -d '{ 21 + "external_id": "pi_3SnYRTD01uz279HJ03OPAJ8V", 22 + "recipient": { 23 + "name": "NAME", 24 + "address1": "ADDRESS", 25 + "city": "CITY", 26 + "state_code": "ST", 27 + "country_code": "US", 28 + "zip": "ZIP", 29 + "email": "oliviasastry@gmail.com" 30 + }, 31 + "items": [{ 32 + "name": "PRODUCT NAME (check Stripe order_reference prod_Tl4XQCZ51gpJF0)", 33 + "variant_id": VARIANT_ID, 34 + "quantity": 1, 35 + "files": [{ 36 + "type": "default", 37 + "url": "IMAGE_URL", 38 + "position": { "area_width": 2700, "area_height": 1050, "width": 2700, "height": 1050, "top": 0, "left": 0 } 39 + }] 40 + }], 41 + "packing_slip": { 42 + "email": "mail@aesthetic.computer", 43 + "message": "Your pictures belong on this earth. - @jeffrey", 44 + "logo_url": "https://pals-aesthetic-computer.sfo3.cdn.digitaloceanspaces.com/painting-2023.8.01.17.07.png", 45 + "store_name": "aesthetic.computer" 46 + } 47 + }' 48 + ``` 49 + 50 + Alternative: refund via `stripe.refunds.create({ payment_intent: "pi_3SnYRTD01uz279HJ03OPAJ8V" })` 51 + 52 + --- 53 + 54 + ## James Colby — RESOLVED 55 + 56 + - **Email:** j.r.colby@gmail.com 57 + - **Date:** Mar 2, 2026 58 + - **Amount:** $18.00 59 + - **Product:** yellow mug of dgEs2UZQ in $bop (11oz Ceramic, variant 11048) 60 + - **Printful order:** #152298666 (pending, submitted 2026-03-31) 61 + - **Confirmation email:** sent 2026-03-31 62 + - **Ship to:** 1109 Oxley Street, South Pasadena, CA 91030 63 + 64 + --- 65 + 66 + ## Root cause 67 + 68 + No Stripe webhook was configured for `https://aesthetic.computer/api/mug`. Fixed 2026-03-31: 69 + - Webhook `we_1THG4uD01uz279HJuOzzLwSC` created 70 + - Secret: already in vault `lith/.env` as `STRIPE_ENDPOINT_MUG_SECRET` 71 + - **Needs deploy to lith** for future orders to work