• Модуль интеграций
  • Сообщество
  • Блог
Документация
Плагины и интеграцииВсе расширения для Medusa от сообществаСтартерыЗапускайте проекты быстрее с готовыми решениями
ЭкспертыПодберите специалиста для разработки и развития вашего проекта на MedusaКейсыПосмотрите примеры Medusa в продакшене и успешные внедрения
Т-Касса от Т-Банка для Medusa: приём платежей для РФ

16 октября 2026 г. · Продукт

Gorgo снижает затраты на адаптацию Medusa к локальным рынкам.

Мы разрабатываем плагины интеграции, осуществляем поддержку и развиваем сообщество разработчиков на Medusa в Telegram.

  • Ресурсы Medusa
  • Плагины и интеграции
  • Модуль интеграций
  • Стартеры
  • Эксперты
  • Кейсы
  • Medusa Чат в Telegram
  • Medusa Новости в Telegram
  • Документация Gorgo
  • Связаться с нами
  • TelegramGitHub
Плагины
S

Sumup

Платёжный провайдер SumUp для Medusa v2

npm install medusa-payment-sumup
Категория
Платежи
Создано
Meister-eder
Версия
0.2.1
Последнее обновление
5 дней назад
Ежемесячные загрузки
Загрузка данных
Звезды на Github
0
npmNPMGitHubGithub

SumUp Payments for Medusa

A SumUp payment provider plugin for Medusa V2. Inspired by https://github.com/VariableVic/mollie-payments-medusa and mostly implemented by Claude.

[!WARNING] This plugin has not been tested on a live store. Please conduct thorough testing before using it in a production environment. I am not responsible for any missed or failed payments resulting from the use of this plugin. If you encounter any issues, please report them here.

Table of Contents

  • Features
  • Prerequisites
  • Installation
  • Configuration
    • Configuration Options
    • Environment Variables
  • Usage
  • Client-Side Integration
  • License

Features

  • SumUp Checkout: Creates a hosted SumUp checkout session that customers complete via the SumUp Card Widget or a custom card form.
  • Webhook Support: Receives real-time checkout status updates via SumUp webhooks.
  • Refunds: Supports full and partial refunds via the SumUp Transactions API.
  • Amount verification: A PAID checkout only authorizes/captures the session it was created for — its amount and currency must match the ones stored in the session data.
  • No extra dependencies: Uses the native Node.js API — no additional HTTP client needed.

Prerequisites

  • Medusa server v2.3.0 or later
  • Node.js v20 or later
  • A SumUp merchant account with a valid API key and merchant code

[!NOTE] You can find your API key and merchant code in your SumUp Dashboard under Settings → Developer → API Keys.

Installation

Configuration

Add the provider to the module in your file:

Configuration Options

OptionDescriptionRequiredDefault
Your SumUp API key (e.g. )✅—
Your SumUp merchant code (e.g. )✅—
The public URL of your Medusa backend✅—
The default storefront URL to redirect the customer to after payment. Must be a valid / URL.✅—
Extra hostnames permitted when a payment session supplies its own . The host of is always allowed. Any override on a non-allowed host is rejected (open-redirect protection).❌
Enable verbose debug logging❌

Per-session redirect URL

A payment session may override the redirect target by passing (e.g. a locale-specific ). The override is accepted only when its host is the same as 's host or appears in , and its scheme is /; otherwise the checkout is rejected with . When omitted, is used.

[!IMPORTANT] The storefront's own origin must be an allowed redirect host. A typical storefront sends ${location.origin}/${countryCode}/checkout/complete`redirectUrlredirectUrlAllowedHosts`, session creation fails and customers cannot pay.

This bites most often when the backend env and the storefront domain drift apart between environments (e.g. a or preview deploy, or a separate admin vs. storefront domain). Whenever you add a storefront origin, add it to . Example:

Environment Variables

Add the following to your file:

Usage

Once installed and configured, the SumUp payment method will be available in your Medusa Admin. To enable it:

  1. Log in to your Medusa Admin
  2. Go to Settings → Regions
  3. Add or edit a region and select SumUp from the payment providers dropdown

The provider ID for the SumUp checkout is:

pp_sumup_sumup

Client-Side Integration

SumUp checkouts are created server-side by Medusa. After a payment session is initiated, the session data will contain a SumUp checkout that you pass to the SumUp Card Widget on your storefront to render the payment form.

Basic flow:

  1. Customer reaches the payment step — Medusa creates a SumUp checkout via
  2. Your storefront receives the checkout from the payment session data
  3. Render the SumUp Card Widget with the checkout ID
  4. SumUp processes the payment and calls the Medusa webhook ()
  5. Because SumUp auto-captures, a checkout is reported to Medusa as captured at authorize time — the order's payment is marked captured immediately on completion, without waiting for the webhook. The webhook (which the plugin always re-verifies against the SumUp API, since SumUp webhooks are unsigned) acts as a backstop that reconciles status if the browser flow is interrupted.

Example Card Widget integration:

For APMs (iDEAL, Bancontact, etc.), the option handles the post-payment redirect automatically.

License

MIT

Еще в этой категории

Посмотреть все
Платежи
Braintree logo

Braintree

От Lambda Curry

Поддержка платежей и 3D Secure через Braintree

Загрузка данных
GitHubnpm
Платежи
Pay. logo

Pay.

От Webbers

Принимайте кредитные карты, цифровые платежи и купи сейчас, плати потом

Загрузка данных
GitHubnpm
Платежи
Mollie logo

Mollie

От Variable Vic

Легко принимайте мультивалютные платежи через Mollie

Загрузка данных
GitHubnpm
1npm install medusa-payment-sumup
2# or
3yarn add medusa-payment-sumup
1modules: [
2 // ... other modules
3 {
4 resolve: "@medusajs/payment",
5 options: {
6 providers: [
7 // ... other providers
8 {
9 resolve: "medusa-payment-sumup/providers/sumup",
10 id: "sumup",
11 options: {
12 apiKey: process.env.SUMUP_API_KEY,
13 merchantCode: process.env.SUMUP_MERCHANT_CODE,
14 medusaUrl: process.env.MEDUSA_BACKEND_URL,
15 redirectUrl: process.env.SUMUP_REDIRECT_URL,
16 },
17 },
18 ],
19 },
20 },
21]
1options: {
2 redirectUrl: "https://shop.example.com/checkout/complete",
3 redirectUrlAllowedHosts: [
4 "shop.example.com",
5 "staging.shop.example.com",
6 "my-preview.sslip.io",
7 ],
8}
1SUMUP_API_KEY=sup_sk_your_api_key
2SUMUP_MERCHANT_CODE=YOUR_MERCHANT_CODE
3MEDUSA_BACKEND_URL=https://your-medusa-server.com
4SUMUP_REDIRECT_URL=https://your-store.com/checkout/payment
1<script src="https://gateway.sumup.com/gateway/ecom/card/v2/sdk.js"></script>
2<div id="sumup-card"></div>
3
4<script>
5 SumUpCard.mount({
6 checkoutId: "<checkout-id-from-session-data>",
7 onResponse: function (type, body) {
8 if (type === "success") {
9 // Redirect or poll for order completion
10 }
11 },
12 });
13</script>