SumUp Integration Decisions and Best Practices
Knowledge and APIs can change. Always prefer the latest SumUp docs in markdown format over stale memory.
- Docs root:
https://developer.sumup.com/ - LLM entrypoint:
https://developer.sumup.com/llms.txt
Use this skill for architecture and security decisions, not implementation walkthroughs.
Quick Decision Tree
Start Here
- Classify the request:
terminal,online, orhybrid. - Choose the lowest-complexity viable path first:
- Prefer Hosted Checkout or Card Widget before custom orchestration.
- Prefer Cloud API for non-native Solo control.
- Select auth model:
- API key for single-merchant server integrations.
- OAuth 2.0 for delegated or multi-merchant apps.
- Confirm restricted access and affiliate prerequisites:
paymentsscope activation where needed.- Affiliate Key plus app/bundle identifier alignment for card-present.
- Confirm operational constraints:
- Currency/merchant alignment
- Webhook endpoint readiness and idempotency
- Legacy compatibility requirements
Non-Negotiable Rules
- Keep API keys and OAuth secrets server-side only.
- Never handle raw PAN/card details directly.
- Create online checkouts server-to-server.
- Prefer hosted/widget/SDK checkout UI over custom card handling.
- Avoid deprecated endpoints.
- Use unique transaction references (
checkout_reference,foreignTransactionId, or equivalent). - Treat webhook callbacks as signals and verify final state via API before fulfillment.
- Assume retries and duplicate deliveries; enforce idempotent backend handling.
Required Response Contract
When giving guidance, always return:
- Chosen integration path with a brief why.
- Credential model recommendation (API key vs OAuth) and scope requirements.
- Security posture checklist for the chosen path.
- Risks/trade-offs and when to pick a different path.
- Minimum validation plan before production rollout.
Hand-off to Implementation Skills
- Use
sumupfor end-to-end implementation steps. - Use
upgrade-sumupfor SDK/API migrations. - Use
sumup-debugfor failure diagnosis. - Use
sumup-testingfor sandbox and QA setup.
