Every action below is available as a verb in Cerebral OS — callable from a Cerebral, a Map, or the Runtime API. All executions are governed, audited, and dry-run safe.
Cancel VIP Subscription
checkoutchamp:cancel_subscription
Cancel a recurring VIP subscription in Checkout Champ using the subscription's purchaseId. CRITICAL: This cancels SUBSCRIPTIONS (stops future billing), NOT orders (which are transactions). Use purchaseId from items[].purchaseId where the item name contains "VIP Membership". To refund completed transactions, use checkoutchamp:refund_order with the orderId instead. Example: purchaseId "4AFAB9DD00" stops recurring billing, orderId "49F1D207D7" refunds a completed charge.
Write
Medium risk
Get Customer
checkoutchamp:get_customer
Search for customer by email or customerId in Checkout Champ. Returns customer details including customerId, contact info, payment methods, and notes.
Read
Low risk
Get Orders
checkoutchamp:get_orders
Get orders from Checkout Champ by customerId, email, or orderId. Returns order details including products, transactions, fulfillments, and subscription info.
Read
Low risk
Get Purchase Details
checkoutchamp:get_purchase
Get detailed subscription billing information for a specific VIP membership using the Purchase ID. This returns billing cycle history, transaction details, and refund information for the subscription. WHEN TO USE THIS: - After getting purchaseId from checkoutchamp:get_orders (from items[] array) - Need to check if customer has been billed for recurring charges - Need to determine the refund amount for VIP cancellation - Verify subscription status (ACTIVE, CANCELLED) KEY FIELDS RETURNED: - billingCycleNumber: Shows which billing cycle the subscription is on * 1 = Only initial charge, no recurring billing yet (30-day trial just ended or still active) * 2+ = Has been billed for recurring charges (customer paid for Month 2, 3, etc.) - totalBilled: Total amount charged for recurring billing (use this as refund amount) - status: ACTIVE (still billing) or CANCELLED (no future billing) - nextBillDate: When the next charge will occur (if ACTIVE) - transactions[]: Array of all billing transactions for this subscription EXAMPLE SCENARIO - Determining Refund Eligibility: Customer subscribed on Nov 22, 2025 (30-day free trial) Today is Dec 27, 2025 (5 days after trial ended) Customer was charged on Dec 22, 2025 (first recurring charge) Call: checkoutchamp:get_purchase(purchaseId="2B62622E84") Response: { "billingCycleNumber": 2, // Has recurring charge (Cycle 2) "totalBilled": "32.22", // Refund amount "status": "ACTIVE", "nextBillDate": "2026-01-22", "transactions": [ { "totalAmount": "0.00", "txnDate": "2025-11-22" }, // Initial (trial) { "totalAmount": "32.22", "txnDate": "2025-12-22" } // Recurring charge ] } DECISION LOGIC: - If billingCycleNumber === 1 → No recurring charge yet, cancel-only (no refund) - If billingCycleNumber >= 2 → Has recurring charge, cancel + refund totalBilled amount WORKFLOW INTEGRATION: Step 1: Get purchaseId from checkoutchamp:get_orders (items[].purchaseId where name='VIP Membership Benefits') Step 2: Call checkoutchamp:get_purchase(purchaseId) to get billing details Step 3: Check billingCycleNumber: - If 1 → Cancel subscription only (no refund needed) - If 2+ → Cancel subscription + refund using totalBilled as refund amount Step 4: Use checkoutchamp:cancel_subscription to stop future billing Step 5: If refund needed, use checkoutchamp:refund_purchase with totalBilled amount IMPORTANT NOTES: - billingCycleNumber is the MOST RELIABLE way to detect if recurring charges exist - totalBilled shows the actual amount charged (includes tax, may be higher than base price) - Even if customer is "out of trial", billingCycleNumber=1 means they haven't been charged yet - transactions[] array shows the complete billing history for this subscription
Read
Low risk
get transactions
checkoutchamp:get_transactions
Get transaction history from Checkout Champ to verify payments and refunds. Use this before issuing refunds to check if a refund already exists.
Read
Low risk
Refund Order
checkoutchamp:refund_order
Issue a full or partial refund on a Checkout Champ order using the ORDER ID (orderId). CRITICAL: Use orderId (order transaction ID like "49F1D207D7"), NOT purchaseId (subscription ID). This REFUNDS MONEY for completed orders but does NOT cancel subscriptions - use checkoutchamp:cancel_purchase to stop billing. Example: orderId "49F1D207D7" refunds completed order, purchaseId "4AFAB9DD00" cancels subscription.
Write
High risk
Refund Purchase (VIP/Subscription)
checkoutchamp:refund_purchase
Refund subscription charges (like VIP membership fees) using the Purchase ID. This refunds ONLY the subscription/recurring billing charges - it does NOT refund product purchases. WHEN TO USE THIS: - Customer wants to cancel VIP membership and get refund on the VIP charge only - Customer was double-charged for subscription - Refund recurring billing charges without affecting product purchases WHEN NOT TO USE THIS: - Customer wants refund on products (fire blankets, etc) → use checkoutchamp:refund_order - Customer wants refund on EVERYTHING (products + subscription) → use checkoutchamp:refund_order CRITICAL DIFFERENCE: - checkoutchamp:refund_purchase (purchaseId) → Refunds ONLY subscription charges (VIP membership) - checkoutchamp:refund_order (orderId) → Refunds entire order (products + subscription if bundled) EXAMPLE SCENARIO: Customer ordered: Fire Blanket ($39.98) + VIP Membership ($29.99) = Total $77.72 Customer emails: "I want to cancel my VIP and get refunded" CORRECT: checkoutchamp:refund_purchase(purchaseId="94A588BCD1", fullRefund=1) → Refunds $29.99 VIP charge only, customer keeps fire blanket WRONG: checkoutchamp:refund_order(orderId="BF125ECC4A", fullRefund=1) → Refunds entire $77.72, customer gets free fire blanket + VIP refund HOW TO GET PURCHASE ID: 1. Call checkoutchamp:get_orders with customer email 2. Look for "purchaseId" field in the response (NOT "orderId") 3. Use that purchaseId in this verb IMPORTANT NOTES: - This does NOT cancel future billing - always call checkoutchamp:cancel_purchase to stop future charges - Recommended workflow: (1) cancel_purchase, (2) refund_purchase - If purchaseId is not found, the order may not have a subscription component
Write
High risk