From a858e33ca37fff486c602fc8c496a9378db0194f Mon Sep 17 00:00:00 2001 From: giles Date: Wed, 18 Feb 2026 17:51:35 +0000 Subject: [PATCH] Add page_config support to SumUp create_checkout Accept optional page_config parameter to use per-page SumUp merchant code and API key instead of global config. Co-Authored-By: Claude Opus 4.6 --- browser/app/payments/sumup.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/browser/app/payments/sumup.py b/browser/app/payments/sumup.py index 21c3e0b..227d4f5 100644 --- a/browser/app/payments/sumup.py +++ b/browser/app/payments/sumup.py @@ -42,8 +42,16 @@ async def create_checkout( redirect_url: str, webhook_url: str | None = None, description: str | None = None, + page_config: Any | None = None, ) -> Dict[str, Any]: settings = _sumup_settings() + + # Per-page SumUp credentials override globals + if page_config and getattr(page_config, "sumup_api_key", None): + settings["api_key"] = page_config.sumup_api_key + if page_config and getattr(page_config, "sumup_merchant_code", None): + settings["merchant_code"] = page_config.sumup_merchant_code + # Use stored reference if present, otherwise build it checkout_reference = order.sumup_reference or f"{settings['checkout_reference_prefix']}{order.id}"