ClickFunnels order desk that shows real Stripe payment status

By General Input

Work every unfulfilled order from one screen: what the buyer purchased, whether the money actually cleared, and where the shipment stands.

Integrations

  • ClickFunnels
  • Stripe

Type

App

Categories

  • Operations
  • Customer Support

Build me an internal app that acts as the single desk for handling orders. Whoever is on order duty should be able to answer three questions without switching between ClickFunnels and Stripe: what did this person buy, did the payment actually go through, and where is it. There is no schedule and no alerting here. A person opens this app and works it.

The main view is a searchable order queue built on the ClickFunnels List Orders operation. It defaults to orders that are paid but not yet fulfilled, oldest first, because those are the ones aging. Drive that filtering server side using the filter[<attribute>] query params that ClickFunnels list endpoints accept, rather than fetching everything and filtering in the browser. Orders, fulfillments, contacts and tags are all workspace scoped, so resolve the workspace once and reuse it. List endpoints are cursor paginated at 20 records ordered by id ascending, so build real paging: advance with ?after=<last id> and pass sort_order=desc when the user wants newest first. The queue needs a search box over buyer email, buyer name and order number, plus filter chips for at least paid and unfulfilled, partially fulfilled, fulfilled, refunded, and payment not matched.

Selecting a row opens a detail pane beside the queue. It shows the order itself from Fetch Order with line items, quantities, totals, currency and dates, its invoices from List Invoices, its fulfillment history from List Fulfillments, and the buyer's profile from Fetch Contact with their current tags from List Applied Tags (Contacts AppliedTag). Lay it out so fulfillment state and payment state are readable at a glance at the top, with the detail below.

From that pane I need to fulfill a whole order or only part of it using Create Fulfillment, which supports fulfilling an order or a part of an order. Give me item level selection with quantities rather than an all or nothing button. I also need to correct a fulfillment that went out wrong using Update Fulfillment, editable in place from the fulfillment history list.

I need to fix a bad email or address on the buyer with Update Contact, edited inline in the pane. I need to tag the buyer for follow up with Create Applied Tag (Contacts AppliedTag), and the tag picker must be populated from List Tags (Contacts Tag) so people choose from the vocabulary that already exists instead of inventing near duplicate tags.

Match each order to its real Stripe payment. Use Search Charges with Stripe's search query syntax on buyer email and amount as the primary lookup, and fall back to List Charges filtered by creation date around the order date when search returns nothing. Stripe search data can lag by roughly a minute, so never treat an empty search result as proof that no charge exists. Stripe amounts are in the smallest currency unit, so convert before comparing. This match is a heuristic, so present it as a likely match: show the charge id, the amount, the card brand and last four, the charge status, and how confident the match is, and let the person confirm it. The pane must show the real payment status from Stripe rather than only what ClickFunnels recorded, and show both side by side when they disagree.

Give me a refund button in the pane that issues the refund in Stripe with Create Refund against the matched charge, supporting a partial amount and a reason, and that tags the contact as refunded with Create Applied Tag (Contacts AppliedTag) in the same action. A refund is destructive and irreversible, so it must always show an explicit confirmation naming the buyer, the charge and the exact amount being refunded, and it must stay disabled until the charge match has been confirmed. If the refund succeeds but the tagging fails, say clearly which part succeeded so nobody refunds twice.

Flag any order where ClickFunnels says paid but no matching Stripe charge was found. Those are the ones that quietly cost me money, so surface them three ways: a badge on the queue row, a filter chip, and a count at the top of the page.

Persist the confirmed order to charge matches so a match one person confirms stays confirmed for everyone and nobody redoes the work. Keep a short activity log of what was done in the app, recording who fulfilled, corrected, refunded or tagged what and when, shown as recent activity on the order. Remember each user's last used queue filter and sort so the desk opens where they left it.

Related prompts

Explore more prompts
Let support send one-off Loops emails without an engineerCustomer lifecycle inspector for Loops, Stripe and PostHogMonth-end Stripe finance pack, stored and shared in SlackRank your Intercom queue by what each customer pays youCatch the trials quietly dying before the card gets chargedWork every open Stripe dispute from one chargeback war roomLook up any customer's support, billing and CRM in one pageInvestor update studio that builds your board deck monthlySell and invoice Ghost newsletter sponsor slots in one boardSupport console that pairs Gladly chats with orders and refunds