Proof · run itmwd6l20z

32 of 33 steps behaved as designed on PayPal

27 moved money as asked · 5 were safety checks that correctly refused to move money (approval limit, injected price, repeated refund, new payee, reused reference) · 1 payout could not run because the shared business account ran out of payout balance.

Recorded Thu, 12 Nov 2026 06:44:40 GMT by the repository's proof script. Each row is one MCPal call; the ids are PayPal's own, and the debug id is what PayPal support can look up. The file is docs/sandbox-proof.json in the repository.

StepResultPayPal idsDebug id
fix4 charge default payment_linkneeds_buyer_approval
order_id 83793224WB374020T
f4293219fe6c7
fix4 charge invoiceinvoice_sent
invoice_id INV2-7YBD-G2AG-UQN4-6GSZ
f175107a7b0aa
fix4 invoice cancelled via void_holdcancelled
invoice_id INV2-7YBD-G2AG-UQN4-6GSZ
f501450f700e9
charge card_on_filecaptured
order_id 8WL07358AH480534W
capture_ids 8LL876624A021532X
f8679443fa658
charge replaycaptured
order_id 8WL07358AH480534W
capture_ids 8LL876624A021532X
—
fix2 charge 500.00 at thresholdblocked as designed · needs_approval—
fix3 charge injected 1.00 vs quote 42.50blocked as designed · denied—
fix3 charge from quotecaptured
order_id 8Y6898978F559301U
capture_ids 5JN56756YW2495610
f6689502dd4f6
holddeposit_captured
order_id 4WA91673YB5993516
authorization_id 00L63365U8115122W
capture_ids 8VV98434S14012132
f687510927493
fix1 capture_holdcaptured
order_id 4WA91673YB5993516
authorization_id 00L63365U8115122W
capture_ids 8VV98434S14012132, 0SR20478P95281829
f213644fa1c7b
refund partialpartially_refunded
order_id 4WA91673YB5993516
authorization_id 00L63365U8115122W
capture_ids 8VV98434S14012132, 0SR20478P95281829
refund_ids 55644962WW153740W, 9CU997903P5264643
f3071797572e8
refund restrefunded
order_id 4WA91673YB5993516
authorization_id 00L63365U8115122W
capture_ids 8VV98434S14012132, 0SR20478P95281829
refund_ids 55644962WW153740W, 9CU997903P5264643, 3LW21339698037348
f4725522757af
status holdrefunded
order_id 4WA91673YB5993516
authorization_id 00L63365U8115122W
capture_ids 8VV98434S14012132, 0SR20478P95281829
refund_ids 55644962WW153740W, 9CU997903P5264643, 3LW21339698037348
f84405993573d
multi holddeposit_captured
order_id 8DN93996M35305806
authorization_id 4B813455N5034935B
capture_ids 7P398101GN9837110
f619921a4b375
multiple_partial_captures{"fallback_used_for_first_partial":null,"second_partial_capture":{"id":"7PX61138V30634015","status":"COMPLETED"}}
multi capture_holdcaptured
order_id 8DN93996M35305806
authorization_id 4B813455N5034935B
capture_ids 7P398101GN9837110, 7PX61138V30634015, 0V301958K9059171B
f198981d8bfc9
hold for voidauthorized
order_id 08472947K8539704V
authorization_id 4SL87695TB410735M
f98689960bc33
fix1 void_holdvoided
order_id 08472947K8539704V
authorization_id 4SL87695TB410735M
f90336540894b
charge 80captured
order_id 2WK79313E1072701X
capture_ids 29A87647VS501882V
f19769335fea7
fix5 refund fraction 0.5partially_refunded
order_id 2WK79313E1072701X
capture_ids 29A87647VS501882V
refund_ids 98Y83114TX187724G
f2621189a3ffb
fix5 status refundable_remainingpartially_refunded
order_id 2WK79313E1072701X
capture_ids 29A87647VS501882V
refund_ids 98Y83114TX187724G
f9902293c8b09
fix6 refund 10.00partially_refunded
order_id 95187587WE555045D
capture_ids 5Y126813Y9816454S
refund_ids 64E23321K2546941P
f9285679d6105
fix6 refund retry (replay)partially_refunded
order_id 95187587WE555045D
capture_ids 5Y126813Y9816454S
refund_ids 64E23321K2546941P
—
fix6 refund confirm_additional within 10 minblocked as designed · needs_approval
order_id 95187587WE555045D
capture_ids 5Y126813Y9816454S
refund_ids 64E23321K2546941P
—
fix6 second refund after human approvalpartially_refunded
order_id 95187587WE555045D
capture_ids 5Y126813Y9816454S
refund_ids 64E23321K2546941P, 8XC56048SG7315034
f5962479af00b
fix2 pay_out new recipientblocked as designed · needs_approval—
pay_out after approvalpayout balance emptyf821668b2940c
payout_balance"sandbox business account has no balance left for payouts (INSUFFICIENT_FUNDS); add funds in the sandbox dashboard"
subscribe new plansubscription_active
product_id PROD-16512327WB5214436
plan_id P-67W57524RR3697220NL2WAQA
subscription_id I-N2UV6FVVPFGH
f649036eeaafc
fix7 subscribe existing plan_idsubscription_approval_pending
product_id PROD-16512327WB5214436
plan_id P-67W57524RR3697220NL2WAQA
subscription_id I-7ETY9SPM0GTN
f86208073ecf9
void_hold subscriptioncancelled
product_id PROD-16512327WB5214436
plan_id P-67W57524RR3697220NL2WAQA
subscription_id I-N2UV6FVVPFGH
f711260fbe231
idempotency install A orderRef=ordercaptured
order_id 5G143027Y4159494K
capture_ids 6RX61932FX557434U
f8032553f7865
idempotency install B orderRef=ordercaptured
order_id 2YK25148PK003545U
capture_ids 76W71881FL444341N
f52203355f557
idempotency install A retry (replay)captured
order_id 5G143027Y4159494K
capture_ids 6RX61932FX557434U
—
idempotency install A same ref, different amountblocked as designed · invalid_input
order_id 5G143027Y4159494K
capture_ids 6RX61932FX557434U
—

“replay” rows call the same verb again with the same orderRef: PayPal returns the same order and capture ids, so no money moves twice.