← Back to report Page 2 of 3

Full Transcript

Stripe - Sonnet Transcript

Report: Stripe - Universal Baseline Model: Sonnet 4.6 Tested: 2026-03-24 Agent CLI: Claude Code v2.1.81
Task 3

Core task

OperatorStep 1
Using the Stripe test mode API key, complete this workflow:

1. Create a customer with the name "Test User" and email "test@example.com"
2. Create a product called "Usability Audit" priced at $99 (one-time, not recurring)
3. Create a Payment Intent for that amount, attached to the customer
4. Confirm the Payment Intent using a test card number
5. Verify the payment shows as succeeded

Use only the Stripe API. Show me the API calls you make and the responses you get. After each step, verify it succeeded before moving to the next — show me the evidence (e.g. the API response confirming creation/status).
AgentStep 2
I'll work through each step sequentially, verifying before moving on.

---

### Step 1 — Create Customer
BashTool Use
Show input
{
  "command": "curl -s https://api.stripe.com/v1/customers \\\n  -u sk_test_[REDACTED]: \\\n  -d name=\"Test User\" \\\n  -d email=\"test@example.com\" \\\n  | python3 -m json.tool",
  "description": "Create Stripe customer: Test User / test@example.com",
  "dangerouslyDisableSandbox": true
}
BashTool Result
Show output
{
    "id": "cus_UCsIF9bS5c49z6",
    "object": "customer",
    "address": null,
    "balance": 0,
    "created": 1774349448,
    "currency": null,
    "customer_account": null,
    "default_currency": null,
    "default_source": null,
    "delinquent": false,
    "description": null,
    "discount": null,
    "email": "test@example.com",
    "invoice_prefix": "ZV1IQD65",
    "invoice_settings": {
        "custom_fields": null,
        "default_payment_method": null,
        "footer": null,
        "rendering_options": null
    },
    "livemode": false,
    "metadata": {},
    "name": "Test User",
    "next_invoice_sequence": 1,
    "phone": null,
    "preferred_locales": [],
    "shipping": null,
    "sources": {
        "object": "list",
        "data": [],
        "has_more": false,
        "total_count": 0,
        "url": "/v1/customers/cus_UCsIF9bS5c49z6/sources"
    },
    "subscriptions": {
        "object": "list",
        "data": [],
        "has_more": false,
        "total_count": 0,
        "url": "/v1/customers/cus_UCsIF9bS5c49z6/subscriptions"
    },
    "tax_exempt": "none",
    "tax_ids": {
        "object": "list",
        "data": [],
        "has_more": false,
        "total_count": 0,
        "url": "/v1/customers/cus_UCsIF9bS5c49z6/tax_ids"
    },
    "test_clock": null
}
AgentStep 3
**Step 1 ✓** Customer created.
- `id`: `cus_UCsIF9bS5c49z6`
- `name`: Test User, `email`: test@example.com, `livemode: false`

---

### Step 2 — Create Product, then Price

First the product:
BashTool Use
Show input
{
  "command": "curl -s https://api.stripe.com/v1/products \\\n  -u sk_test_[REDACTED]: \\\n  -d name=\"Usability Audit\" \\\n  | python3 -m json.tool",
  "description": "Create Stripe product: Usability Audit",
  "dangerouslyDisableSandbox": true
}
BashTool Result
Show output
{
    "id": "prod_UCsIU0SZWdiEba",
    "object": "product",
    "active": true,
    "attributes": [],
    "created": 1774349455,
    "default_price": null,
    "description": null,
    "features": [],
    "images": [],
    "livemode": false,
    "marketing_features": [],
    "metadata": {},
    "name": "Usability Audit",
    "package_dimensions": null,
    "shippable": null,
    "statement_descriptor": null,
    "tax_code": null,
    "type": "service",
    "unit_label": null,
    "updated": 1774349455,
    "url": null
}
AgentStep 4
Product created (`prod_UCsIU0SZWdiEba`). Now attach a one-time price of $99 USD:
BashTool Use
Show input
{
  "command": "curl -s https://api.stripe.com/v1/prices \\\n  -u sk_test_[REDACTED]: \\\n  -d product=prod_UCsIU0SZWdiEba \\\n  -d unit_amount=9900 \\\n  -d currency=usd \\\n  | python3 -m json.tool",
  "description": "Create one-time price of $99 USD for the Usability Audit product",
  "dangerouslyDisableSandbox": true
}
BashTool Result
Show output
{
    "id": "price_1TESYBLSFkr2JHffmFMsC0Fk",
    "object": "price",
    "active": true,
    "billing_scheme": "per_unit",
    "created": 1774349467,
    "currency": "usd",
    "custom_unit_amount": null,
    "livemode": false,
    "lookup_key": null,
    "metadata": {},
    "nickname": null,
    "product": "prod_UCsIU0SZWdiEba",
    "recurring": null,
    "tax_behavior": "unspecified",
    "tiers_mode": null,
    "transform_quantity": null,
    "type": "one_time",
    "unit_amount": 9900,
    "unit_amount_decimal": "9900"
}
AgentStep 5
**Step 2 ✓** Product and price created.
- Product `prod_UCsIU0SZWdiEba` — "Usability Audit"
- Price `price_1TESYBLSFkr2JHffmFMsC0Fk` — $99.00 USD, `type: one_time`, `recurring: null` (confirmed not a subscription)

---

### Step 3 — Create PaymentIntent for $99 attached to the customer
BashTool Use
Show input
{
  "command": "curl -s https://api.stripe.com/v1/payment_intents \\\n  -u sk_test_[REDACTED]: \\\n  -d amount=9900 \\\n  -d currency=usd \\\n  -d customer=cus_UCsIF9bS5c49z6 \\\n  -d description=\"Usability Audit\" \\\n  -d \"metadata[price_id]=price_1TESYBLSFkr2JHffmFMsC0Fk\" \\\n  -d \"metadata[product_id]=prod_UCsIU0SZWdiEba\" \\\n  | python3 -m json.tool",
  "description": "Create PaymentIntent for $99 USD linked to customer cus_UCsIF9bS5c49z6",
  "dangerouslyDisableSandbox": true
}
BashTool Result
Show output
{
    "id": "pi_3TESYKLSFkr2JHff180KdHja",
    "object": "payment_intent",
    "amount": 9900,
    "amount_capturable": 0,
    "amount_details": {
        "tip": {}
    },
    "amount_received": 0,
    "application": null,
    "application_fee_amount": null,
    "automatic_payment_methods": null,
    "canceled_at": null,
    "cancellation_reason": null,
    "capture_method": "automatic",
    "charges": {
        "object": "list",
        "data": [],
        "has_more": false,
        "total_count": 0,
        "url": "/v1/charges?payment_intent=pi_3TESYKLSFkr2JHff180KdHja"
    },
    "client_secret": "pi_3TESYKLSFkr2JHff180KdHja_secret_eyEwhLq3yFNMTWHu1SuEL3vqh",
    "confirmation_method": "automatic",
    "created": 1774349476,
    "currency": "usd",
    "customer": "cus_UCsIF9bS5c49z6",
    "customer_account": null,
    "description": "Usability Audit",
    "excluded_payment_method_types": null,
    "invoice": null,
    "last_payment_error": null,
    "latest_charge": null,
    "livemode": false,
    "metadata": {
        "price_id": "price_1TESYBLSFkr2JHffmFMsC0Fk",
        "product_id": "prod_UCsIU0SZWdiEba"
    },
    "next_action": null,
    "on_behalf_of": null,
    "payment_method": null,
    "payment_method_configuration_details": null,
    "payment_method_options": {
        "card": {
            "installments": null,
            "mandate_options": null,
            "network": null,
            "request_three_d_secure": "automatic"
        }
    },
    "payment_method_types": [
        "card"
    ],
    "processing": null,
    "receipt_email": null,
    "review": null,
    "setup_future_usage": null,
    "shipping": null,
    "source": null,
    "statement_descriptor": null,
    "statement_descriptor_suffix": null,
    "status": "requires_payment_method",
    "transfer_data": null,
    "transfer_group": null
}
AgentStep 6
**Step 3 ✓** PaymentIntent created.
- `id`: `pi_3TESYKLSFkr2JHff180KdHja`
- `amount`: 9900 ($99.00 USD)
- `customer`: `cus_UCsIF9bS5c49z6` ✓
- `status`: `requires_payment_method` — ready to confirm
- `livemode: false` ✓

---

### Step 4 — Confirm with test card `pm_card_visa`

Stripe provides `pm_card_visa` as a built-in server-side test payment method (equivalent to card `4242 4242 4242 4242`), usable directly without a frontend:
BashTool Use
Show input
{
  "command": "curl -s https://api.stripe.com/v1/payment_intents/pi_3TESYKLSFkr2JHff180KdHja/confirm \\\n  -u sk_test_[REDACTED]: \\\n  -d payment_method=pm_card_visa \\\n  | python3 -m json.tool",
  "description": "Confirm PaymentIntent using Stripe's built-in test Visa payment method",
  "dangerouslyDisableSandbox": true
}
BashTool Result
Show output
{
    "id": "pi_3TESYKLSFkr2JHff180KdHja",
    "object": "payment_intent",
    "amount": 9900,
    "amount_capturable": 0,
    "amount_details": {
        "tip": {}
    },
    "amount_received": 9900,
    "application": null,
    "application_fee_amount": null,
    "automatic_payment_methods": null,
    "canceled_at": null,
    "cancellation_reason": null,
    "capture_method": "automatic",
    "charges": {
        "object": "list",
        "data": [
            {
                "id": "ch_3TESYKLSFkr2JHff1ZzjFlh8",
                "object": "charge",
                "amount": 9900,
                "amount_captured": 9900,
                "amount_refunded": 0,
                "application": null,
                "application_fee": null,
                "application_fee_amount": null,
                "balance_transaction": "txn_3TESYKLSFkr2JHff1ilZ5Q5b",
                "billing_details": {
                    "address": {
                        "city": null,
                        "country": null,
                        "line1": null,
                        "line2": null,
                        "postal_code": null,
                        "state": null
                    },
                    "email": null,
                    "name": null,
                    "phone": null,
                    "tax_id": null
                },
                "calculated_statement_descriptor": "PMJOBLIST.COM",
                "captured": true,
                "created": 1774349485,
                "currency": "usd",
                "customer": "cus_UCsIF9bS5c49z6",
                "description": "Usability Audit",
                "destination": null,
                "dispute": null,
                "disputed": false,
                "failure_balance_transaction": null,
                "failure_code": null,
                "failure_message": null,
                "fraud_details": {},
                "invoice": null,
                "livemode": false,
                "metadata": {
                    "price_id": "price_1TESYBLSFkr2JHffmFMsC0Fk",
                    "product_id": "prod_UCsIU0SZWdiEba"
                },
                "on_behalf_of": null,
                "order": null,
                "outcome": {
                    "advice_code": null,
                    "network_advice_code": null,
                    "network_decline_code": null,
                    "network_status": "approved_by_network",
                    "reason": null,
                    "risk_level": "normal",
                    "risk_score": 36,
                    "seller_message": "Payment complete.",
                    "type": "authorized"
                },
                "paid": true,
                "payment_intent": "pi_3TESYKLSFkr2JHff180KdHja",
                "payment_method": "pm_1TESYTLSFkr2JHffHa0Wt8so",
                "payment_method_details": {
                    "card": {
                        "amount_authorized": 9900,
                        "authorization_code": "403620",
                        "brand": "visa",
                        "checks": {
                            "address_line1_check": null,
                            "address_postal_code_check": null,
                            "cvc_check": "pass"
                        },
                        "country": "US",
                        "exp_month": 3,
                        "exp_year": 2027,
                        "extended_authorization": {
                            "status": "disabled"
                        },
                        "fingerprint": "LYfZCkLjnCpwibDF",
                        "funding": "credit",
                        "incremental_authorization": {
                            "status": "unavailable"
                        },
                        "installments": null,
                        "last4": "4242",
                        "mandate": null,
                        "multicapture": {
                            "status": "unavailable"
                        },
                        "network": "visa",
                        "network_token": {
                            "used": false
                        },
                        "network_transaction_id": "768910290671077",
                        "overcapture": {
                            "maximum_amount_capturable": 9900,
                            "status": "unavailable"
                        },
                        "regulated_status": "unregulated",
                        "three_d_secure": null,
                        "wallet": null
                    },
                    "type": "card"
                },
                "radar_options": {},
                "receipt_email": null,
                "receipt_number": null,
                "receipt_url": "https://pay.stripe.com/receipts/payment/CAcaFwoVYWNjdF8xSERab2tMU0ZrcjJKSGZmKK7Zic4GMgZ0wO5S2Os6LBb3kC8FK1pAJya0ggfdJSNAXapvM-qQTUl1OH_sI9IsDGniPJ5EuXsDSQ1J",
                "refunded": false,
                "refunds": {
                    "object": "list",
                    "data": [],
                    "has_more": false,
                    "total_count": 0,
                    "url": "/v1/charges/ch_3TESYKLSFkr2JHff1ZzjFlh8/refunds"
                },
                "review": null,
                "shipping": null,
                "source": null,
                "source_transfer": null,
                "statement_descriptor": null,
                "statement_descriptor_suffix": null,
                "status": "succeeded",
                "transfer_data": null,
                "transfer_group": null
            }
        ],
        "has_more": false,
        "total_count": 1,
        "url": "/v1/charges?payment_intent=pi_3TESYKLSFkr2JHff180KdHja"
    },
    "client_secret": "pi_3TESYKLSFkr2JHff180KdHja_secret_eyEwhLq3yFNMTWHu1SuEL3vqh",
    "confirmation_method": "automatic",
    "created": 1774349476,
    "currency": "usd",
    "customer": "cus_UCsIF9bS5c49z6",
    "customer_account": null,
    "description": "Usability Audit",
    "excluded_payment_method_types": null,
    "invoice": null,
    "last_payment_error": null,
    "latest_charge": "ch_3TESYKLSFkr2JHff1ZzjFlh8",
    "livemode": false,
    "metadata": {
        "price_id": "price_1TESYBLSFkr2JHffmFMsC0Fk",
        "product_id": "prod_UCsIU0SZWdiEba"
    },
    "next_action": null,
    "on_behalf_of": null,
    "payment_method": "pm_1TESYTLSFkr2JHffHa0Wt8so",
    "payment_method_configuration_details": null,
    "payment_method_options": {
        "card": {
            "installments": null,
            "mandate_options": null,
            "network": null,
            "request_three_d_secure": "automatic"
        }
    },
    "payment_method_types": [
        "card"
    ],
    "processing": null,
    "receipt_email": null,
    "review": null,
    "setup_future_usage": null,
    "shipping": null,
    "source": null,
    "statement_descriptor": null,
    "statement_descriptor_suffix": null,
    "status": "succeeded",
    "transfer_data": null,
    "transfer_group": null
}
AgentStep 7
**Step 4 ✓** PaymentIntent confirmed and payment processed immediately.

---

### Step 5 — Independent verification: re-fetch the PaymentIntent
BashTool Use
Show input
{
  "command": "curl -s https://api.stripe.com/v1/payment_intents/pi_3TESYKLSFkr2JHff180KdHja \\\n  -u sk_test_[REDACTED]: \\\n  | python3 -c \"\nimport json, sys\npi = json.load(sys.stdin)\ncharge = pi['charges']['data'][0]\nprint('=== PaymentIntent ===')\nprint(f'  ID:              {pi[\\\"id\\\"]}')\nprint(f'  Status:          {pi[\\\"status\\\"]}')\nprint(f'  Amount received: \\${pi[\\\"amount_received\\\"]/100:.2f} {pi[\\\"currency\\\"].upper()}')\nprint(f'  Customer:        {pi[\\\"customer\\\"]}')\nprint(f'  Description:     {pi[\\\"description\\\"]}')\nprint(f'  Live mode:       {pi[\\\"livemode\\\"]}')\nprint()\nprint('=== Charge ===')\nprint(f'  Charge ID:       {charge[\\\"id\\\"]}')\nprint(f'  Status:          {charge[\\\"status\\\"]}')\nprint(f'  Captured:        {charge[\\\"captured\\\"]}')\nprint(f'  Paid:            {charge[\\\"paid\\\"]}')\nprint(f'  Card brand:      {charge[\\\"payment_method_details\\\"][\\\"card\\\"][\\\"brand\\\"]}')\nprint(f'  Last 4:          {charge[\\\"payment_method_details\\\"][\\\"card\\\"][\\\"last4\\\"]}')\nprint(f'  Network outcome: {charge[\\\"outcome\\\"][\\\"network_status\\\"]}')\nprint(f'  Seller message:  {charge[\\\"outcome\\\"][\\\"seller_message\\\"]}')\nprint(f'  Balance txn:     {charge[\\\"balance_transaction\\\"]}')\n\"\n",
  "description": "Fetch and summarize final PaymentIntent state as independent verification",
  "dangerouslyDisableSandbox": true
}
BashTool Result
Show output
=== PaymentIntent ===
  ID:              pi_3TESYKLSFkr2JHff180KdHja
  Status:          succeeded
  Amount received: $99.00 USD
  Customer:        cus_UCsIF9bS5c49z6
  Description:     Usability Audit
  Live mode:       False

=== Charge ===
  Charge ID:       ch_3TESYKLSFkr2JHff1ZzjFlh8
  Status:          succeeded
  Captured:        True
  Paid:            True
  Card brand:      visa
  Last 4:          4242
  Network outcome: approved_by_network
  Seller message:  Payment complete.
  Balance txn:     txn_3TESYKLSFkr2JHff1ilZ5Q5b
AgentStep 8
**Step 5 ✓** Independent fetch confirms success.

---

## Summary

All 5 steps completed successfully:

| Step | Object | ID | Result |
|------|--------|----|--------|
| 1 | Customer | `cus_UCsIF9bS5c49z6` | Created — Test User / test@example.com |
| 2 | Product + Price | `prod_UCsIU0SZWdiEba` / `price_1TESYBLSFkr2JHffmFMsC0Fk` | "Usability Audit", $99.00 USD, one-time |
| 3 | PaymentIntent | `pi_3TESYKLSFkr2JHff180KdHja` | Created, linked to customer |
| 4 | Confirmation | `ch_3TESYKLSFkr2JHff1ZzjFlh8` | Visa `4242`, `approved_by_network` |
| 5 | Verification | Balance txn `txn_3TESYKLSFkr2JHff1ilZ5Q5b` | `status: succeeded`, `amount_received: $99.00` |

The full charge lifecycle works. In a real integration, step 4 happens client-side (Stripe.js collects the real card in the browser and calls confirm) — the server never touches raw card numbers.