Skip to content
Back to skills

Source 2a1aabe8662fbcee89b32d2a

ASecurity

Troubleshoot common SumUp integration failures. Use when SumUp HMAC signature checks fail, checkout sessions expire, scopes aren't activated, widget mount is blocked, affiliate keys don't match, or `checkout_reference` collides.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added November 7, 2026
testingdebuggingapifrontendbackend

Works with

  • terminal
  • cli
  • api

Security analysis

A100/100

Pro scans all 6 files and shows the line behind each finding

Scanned November 7, 2026

npx -y skills add gutsofpratik/OpenClaude-Skills --skill source-2a1aabe8662fbcee89b32d2a --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Source 2a1aabe8662fbcee89b32d2a?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Source 2a1aabe8662fbcee89b32d2a
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/gutsofpratik-source-2a1aabe8662fbcee89b32d2a/badge)](https://www.skillsdirectory.com/skills/gutsofpratik-source-2a1aabe8662fbcee89b32d2a)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: sumup-debug
description: Troubleshoot common SumUp integration failures. Use when SumUp HMAC signature checks fail, checkout sessions expire, scopes aren't activated, widget mount is blocked, affiliate keys don't match, or `checkout_reference` collides.
license: Apache-2.0
---

# SumUp Troubleshooting Playbook

Use this skill for diagnosis and remediation of failing SumUp integrations.

## Fast Triage Matrix

1. Classify symptom:
   - Auth/signature error
   - Checkout creation/processing error
   - Widget/client-side mount or flow error
   - Async mismatch (success in UI, failure in backend state)
2. Capture evidence:
   - request/response payloads (sanitized), HTTP status, error code/message
   - checkout id, merchant code, `checkout_reference`
   - webhook delivery id and signature verdict
3. Reproduce in sandbox before changing production behavior.

## Common Failures and Fixes

### HMAC signature mismatch (`x-payload-signature`)

Symptoms:

- Webhook verification fails for all events or intermittently.

Likely causes:

- Body parser mutates payload before verification.
- Wrong webhook secret/environment pair.
- Digest computed with non-raw body bytes.

Fix:

- Verify against raw request body bytes.
- Ensure HMAC SHA-256 with exact configured secret.
- Confirm secret belongs to the same merchant/environment.

Verify:

- Signature validation passes for replayed payload and for live sandbox webhook.

### Expired checkout/session window

Symptoms:

- Payment attempt fails after delay, stale checkout status, or timeout flow.

Likely causes:

- Checkout left pending beyond validity window.
- Frontend retries with expired checkout id.

Fix:

- Create a new checkout for each retry attempt.
- Add frontend timeout handling that requests a fresh checkout.

Verify:

- Retried flow always uses new checkout id/reference and succeeds in sandbox.

### Missing scope activation or auth mismatch

Symptoms:

- 401/403 responses despite valid credentials.

Likely causes:

- Missing `payments` or other required scope.
- API key used where OAuth is required, or vice versa.

Fix:

- Confirm auth model for integration type.
- Request/enable required scopes and re-issue token/key as needed.

Verify:

- Previously failing endpoint succeeds with least-privilege valid credentials.

### Currency and merchant mismatch

Symptoms:

- Checkout rejected for currency or merchant constraints.

Likely causes:

- Checkout currency not enabled for merchant.
- Wrong merchant selected in multi-merchant context.

Fix:

- Validate merchant and currency before checkout creation.
- Enforce mapping rules in backend validation layer.

Verify:

- Invalid combinations are blocked early; valid combinations process.

### Affiliate key / app identifier mismatch

Symptoms:

- Card-present flows fail or cannot initialize correctly.

Likely causes:

- Bundle ID/app ID does not match affiliate key configuration.
- Missing affiliate metadata in card-present requests.

Fix:

- Align app identifiers with affiliate key setup.
- Include required affiliate data for terminal/cloud flows.

Verify:

- Device/reader checkout path initializes and completes in sandbox/test device.

### Duplicate `checkout_reference`

Symptoms:

- Duplicate or conflicting checkout outcomes, reconciliation confusion.

Likely causes:

- Non-unique reference generation.
- Retry logic reuses stale reference without idempotency safeguards.

Fix:

- Generate unique deterministic references per logical payment intent.
- Add duplicate detection and safe retry behavior.

Verify:

- Duplicate attempts are rejected or reconciled without double fulfillment.

### Card Widget blocked or not mounting

Symptoms:

- Widget fails to render or emits `error`/init failures.

Likely causes:

- Script blocked by CSP or domain policy.
- Invalid checkout id or environment mismatch.
- Frontend initialization race conditions.

Fix:

- Allow required SumUp script origin in CSP and JS origins config.
- Confirm checkout id environment and lifecycle.
- Mount only after script load and DOM ready.

Verify:

- Widget consistently mounts and can complete test payments.

## Required Response Contract

For each debugging answer, include:

1. Most likely root cause ranked by confidence.
2. Minimal reproducible check to confirm/disprove each hypothesis.
3. Exact fix steps with low-risk rollout advice.
4. Post-fix verification checklist.
5. Any monitoring/logging improvements to prevent recurrence.

Files in this skill

  • PROVENANCE.json191 B
  • SKILL.md4.4 KB
  • UPSTREAM-LICENSE.txt10.6 KB
  • agents/openai.yaml291 B
  • assets/large-logo.png3.5 KB
  • assets/small-logo.svg416 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.