Set up and run SumUp sandbox tests. Use when configuring a SumUp test merchant, picking test cards, triggering deliberate failure (`amount = 11`), or building a SumUp end-to-end test harness.
Installs into .claude/skills of the current project.
Are you the author of Source Bfcffd1fd543ce291092b88b?
Add the live security badge to your README. It updates with every re-scan.
[](https://www.skillsdirectory.com/skills/gutsofpratik-source-bfcffd1fd543ce291092b88b)
---
name: sumup-testing
description: Set up and run SumUp sandbox tests. Use when configuring a SumUp test merchant, picking test cards, triggering deliberate failure (`amount = 11`), or building a SumUp end-to-end test harness.
license: Apache-2.0
---
# SumUp Sandbox Testing Guide
Use this skill for test setup, scenario design, and verification of SumUp integrations.
## Test Environment Setup
1. Use a sandbox merchant account only.
2. Confirm credentials map to sandbox environment.
3. Prepare webhook endpoint in a non-production environment.
4. Enable logging for checkout id, reference, status, and error code.
## Core Card Test Data
Default values unless docs specify otherwise:
- CVV: any 3 digits (for example `123`)
- Expiry: any future date (for example `12/30`)
- Cardholder: any name
Happy path cards:
- VISA `4200 0000 0000 0091`
- Mastercard `5200 0000 0000 0007`
3DS challenge cards:
- VISA `4200 0000 0000 0042`
- Mastercard `5200 0000 0000 0015`
## Deliberate Failure Conventions
- For skill-level test recipes, use `amount = 11` as the default forced-failure trigger.
- If an integration already uses canonical amount-based failures (for example `42.01`, `42.76`, `42.91`), run both patterns and document which one is authoritative for that flow.
## End-to-End Smoke Test Recipe
1. Create checkout with unique `checkout_reference`.
2. Complete payment with a happy-path card.
3. Verify frontend callback/result handling.
4. Verify backend retrieves final paid status before fulfillment.
5. Verify webhook delivery and idempotent processing.
6. Repeat with forced-failure amount and confirm order remains unpaid.
## cURL Skeleton
```bash
curl -X POST "https://api.sumup.com/v0.1/checkouts" \
-H "Authorization: Bearer $SUMUP_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"checkout_reference": "order-12345",
"amount": 11,
"currency": "EUR",
"pay_to_email": "merchant@example.com",
"description": "Sandbox test payment"
}'
```
Adjust payload fields to the selected flow and auth model.
## SDK Smoke Test Guidance
- Keep one smoke test per integration surface (server SDK, mobile SDK, widget).
- Assert normalized outcomes: `success`, `pending`, `failed`.
- Capture and store reconciliation keys: checkout id, transaction id/code, merchant code, reference.
## Required QA Matrix
- [ ] Happy path payment succeeds.
- [ ] Forced-failure payment does not fulfill order.
- [ ] 3DS challenge flow completes and returns expected status.
- [ ] Duplicate reference behavior is deterministic.
- [ ] Expired checkout/session path is handled with a fresh checkout.
- [ ] Webhook retries do not create duplicate side effects.
## Required Response Contract
When asked for test planning, always provide:
1. Test environment assumptions.
2. Exact scenarios to run (success + failure + async).
3. Assertions for frontend and backend.
4. Evidence to collect for reconciliation/debugging.