night-owl-mvqxsgac175@example.com charged $64.00 twice for cart cart-43957

Status
Needs you
At risk
$64.00
Detected (detector clock)
2026-11-23 17:06

Diagnosis

AI agent (anthropic/claude-haiku-5.5)

The same customer was charged $64.00 twice for one box (cart-43957): two separate orders were paid 26 seconds apart, on Oct 27. Both charges are still held by PayPal, and neither order has shipped, so the shop has taken $128.00 for one $64.00 box. If nobody acts, the customer will likely see two charges and file a dispute, which can cost the shop the $64.00 plus a dispute fee.

Decisions

The agent proposes, the policy gate decides, the executor calls PayPal.

Refund capture

$64.002EM7504181217974HWaiting for you

Agent proposed

The second capture (order 2LV770658P852971N) duplicates the first for the same cart and has not shipped, so returning the full $64.00 removes the double charge before the buyer disputes it.

Note: Refunding your duplicate $64.00 charge for the Roaster's Choice box. You will only be charged once.

Policy said

Needs approval
  • Refunds send money back to the buyer and cannot be reversed, so the owner approves every one.

PayPal returned

Not called yet.

Exact API call (PayPal-Request-Id ns-94e6fb08b8e600f04c804da46d95fe51)
POST /v2/payments/captures/2EM7504181217974H/refund
{
  "amount": {
    "currency_code": "USD",
    "value": "64.00"
  },
  "note_to_payer": "Refunding your duplicate $64.00 charge for the Roaster's Choice box. You will only be charged once."
}

Edited amounts go back through the policy gate before anything is sent to PayPal.

Ask the owner

Waiting for you

Agent proposed

Confirming which of the two charges to keep and whether the box has shipped, since only the owner knows that.

Note: Did the Roaster's Choice box for cart-43957 ship, or is it still waiting to go out? Keep the first charge (8PA85072JA264461G, order 8GD92263P7851072A) for the box you send, and do not capture anything else on this order.

Policy said

Needs approval
  • The agent asked for a human decision.

PayPal returned

No PayPal call for this action.

Evidence

Captures 8PA85072JA264461G (order 8GD92263P7851072A) and 2EM7504181217974H (order 2LV770658P852971N) charged the same payer $64.00 for the same cart reference cart-43957 26 seconds apart. A buyer who sees two charges files a dispute.

payer
night-owl-mvqxsgac175@example.com
cart ref
cart-43957
amount
$64.00
first capture id
8PA85072JA264461G
first order id
8GD92263P7851072A
first captured at
2026-10-27T17:05:54.000Z
duplicate capture id
2EM7504181217974H
duplicate order id
2LV770658P852971N
duplicate captured at
2026-10-27T17:06:20.000Z
seconds apart
26
same cart reference
true
order8GD92263P7851072Acapture8PA85072JA264461Gorder2LV770658P852971Ncapture2EM7504181217974H

All ids are real PayPal sandbox objects; GET them with your sandbox credentials to check.

Audit trail

Detected, diagnosed, decided, executed. Live.

Detected: night-owl-mvqxsgac175@example.com charged $64.00 twice for cart cart-43957
Detector
Captures 8PA85072JA264461G (order 8GD92263P7851072A) and 2EM7504181217974H (order 2LV770658P852971N) charged the same payer $64.00 for the same cart reference cart-43957 26 seconds apart. A buyer who sees two charges files a dispute.
Agent started triage
Agent
Agent read ledger_lookup
Agent
ledger_lookupNightshift ledgerok
args { "order_id": "2LV770658P852971N" }
Result
{"order":{"id":"2LV770658P852971N","intent":"CAPTURE","status":"COMPLETED","amountCents":6400,"currency":"USD","payer":"night-owl-mvqxsgac175@example.com","cartRef":"cart-43957","description":"Roaster's Choice box, monthly","fulfillment":"unfulfilled","shippedAt":null,"createdAt":"2026-10-27T17:06:20.000Z","updatedAt":"2026-10-27T17:06:23.769Z","source":"webhook"},"buyer_note_untrusted":null,"authorizations":[],"captures":[{"id":"2EM7504181217974H","orderId":"2LV770658P852971N","authorizationId":null,"status":"COMPLETED","statusReason":null,"amountCents":6400,"currency":"USD","finalCapture":true,"createdAt":"2026-10-27T17:06:20.000Z","updatedAt":"2026-10-27T17:06:23.772Z"}],"refunds":[],"failed_capture_attempts":[]}
Agent read ledger_lookup
Agent
ledger_lookupNightshift ledgerok
args { "order_id": "8GD92263P7851072A" }
Result
{"order":{"id":"8GD92263P7851072A","intent":"CAPTURE","status":"COMPLETED","amountCents":6400,"currency":"USD","payer":"night-owl-mvqxsgac175@example.com","cartRef":"cart-43957","description":"Roaster's Choice box, monthly","fulfillment":"unfulfilled","shippedAt":null,"createdAt":"2026-10-27T17:05:54.000Z","updatedAt":"2026-10-27T17:06:08.151Z","source":"webhook"},"buyer_note_untrusted":null,"authorizations":[],"captures":[{"id":"8PA85072JA264461G","orderId":"8GD92263P7851072A","authorizationId":null,"status":"COMPLETED","statusReason":null,"amountCents":6400,"currency":"USD","finalCapture":true,"createdAt":"2026-10-27T17:05:54.000Z","updatedAt":"2026-10-27T17:06:08.154Z"}],"refunds":[],"failed_capture_attempts":[]}
Agent read get_capture
Agent
get_capturevia Nightshift REST clientok
args { "capture_id": "2EM7504181217974H" }
Result
{"id":"2EM7504181217974H","amount":{"currency_code":"USD","value":"64.00"},"final_capture":true,"seller_protection":{"status":"NOT_ELIGIBLE"},"seller_receivable_breakdown":{"gross_amount":{"currency_code":"USD","value":"64.00"},"paypal_fee":{"currency_code":"USD","value":"2.80"},"net_amount":{"currency_code":"USD","value":"61.20"}},"custom_id":"cart-43957","status":"COMPLETED","supplementary_data":{"related_ids":{"order_id":"2LV770658P852971N"}},"payee":{"email_address":"sb-djk8i53501233@business.example.com","merchant_id":"D8M8MT98DPNNG"},"create_time":"2026-10-27T17:06:20Z","update_time":"2026-10-27T17:06:20Z","links":[{"href":"https://api.sandbox.paypal.com/v2/payments/captures/2EM7504181217974H","rel":"self","method":"GET"},{"href":"https://api.sandbox.paypal.com/v2/payments/captures/2EM7504181217974H/refund","rel":"refund","method":"POST"},{"href":"https://api.sandbox.paypal.com/v2/checkout/orders/2LV770658P852971N","rel":"up","method":"GET"}]}
Agent read get_capture
Agent
get_capturevia Nightshift REST clientok
args { "capture_id": "8PA85072JA264461G" }
Result
{"id":"8PA85072JA264461G","amount":{"currency_code":"USD","value":"64.00"},"final_capture":true,"seller_protection":{"status":"NOT_ELIGIBLE"},"seller_receivable_breakdown":{"gross_amount":{"currency_code":"USD","value":"64.00"},"paypal_fee":{"currency_code":"USD","value":"2.80"},"net_amount":{"currency_code":"USD","value":"61.20"}},"custom_id":"cart-43957","status":"COMPLETED","supplementary_data":{"related_ids":{"order_id":"8GD92263P7851072A"}},"payee":{"email_address":"sb-djk8i53501233@business.example.com","merchant_id":"D8M8MT98DPNNG"},"create_time":"2026-10-27T17:05:54Z","update_time":"2026-10-27T17:05:54Z","links":[{"href":"https://api.sandbox.paypal.com/v2/payments/captures/8PA85072JA264461G","rel":"self","method":"GET"},{"href":"https://api.sandbox.paypal.com/v2/payments/captures/8PA85072JA264461G/refund","rel":"refund","method":"POST"},{"href":"https://api.sandbox.paypal.com/v2/checkout/orders/8GD92263P7851072A","rel":"up","method":"GET"}]}
Agent diagnosis
Agent
The same customer was charged $64.00 twice for one box (cart-43957): two separate orders were paid 26 seconds apart, on Oct 27. Both charges are still held by PayPal, and neither order has shipped, so the shop has taken $128.00 for one $64.00 box. If nobody acts, the customer will likely see two charges and file a dispute, which can cost the shop the $64.00 plus a dispute fee.
Agent proposed: Refund capture $64.00
Agent
The second capture (order 2LV770658P852971N) duplicates the first for the same cart and has not shipped, so returning the full $64.00 removes the double charge before the buyer disputes it.
Policy said: needs the owner's approval
Policy gate
  • Refunds send money back to the buyer and cannot be reversed, so the owner approves every one.
Agent proposed: Ask the owner
Agent
Confirming which of the two charges to keep and whether the box has shipped, since only the owner knows that.
Policy said: needs the owner's approval
Policy gate
  • The agent asked for a human decision.