• Модуль интеграций
  • Сообщество
  • Блог
Документация
Плагины и интеграцииВсе расширения для Medusa от сообществаСтартерыЗапускайте проекты быстрее с готовыми решениями
ЭкспертыПодберите специалиста для разработки и развития вашего проекта на MedusaКейсыПосмотрите примеры Medusa в продакшене и успешные внедрения
Представляем готовый к продакшену Medusa DTC Starter от Gorgo

26 августа 2026 г. · Продукт

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

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

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

Paypal

Интеграция PayPal для Medusa v2

npm install @easypayment/medusa-payment-paypal
Категория
Платежи
Создано
Easypayment
Версия
1.2.8
Последнее обновление
5 дней назад
Ежемесячные загрузки
Загрузка данных
Звезды на Github
3
npmNPMGitHubGithub

PayPal for Medusa

Accept PayPal and credit card payments in your Medusa v2 store — built by an official PayPal Partner.


✨ What you get

FeatureDetails
🔵 PayPal ButtonsOne-click PayPal checkout for your customers
💳 Card PaymentsSecure credit & debit card fields, hosted by PayPal (PCI compliant)
🛠 Admin DashboardConnect your PayPal account and manage everything from Medusa Admin
🌍 Test & Live modesTry everything safely in Sandbox before going live
🔐 3D SecureExtra card security, configurable in one click
🔄 Reliable by designPayments are verified with PayPal at every step — webhooks, retries, and safety nets are handled for you

✅ Requirements

  • Medusa v2.12+
  • Node.js 20+
  • PostgreSQL

🚀 Installation

In your Medusa backend folder, run:


⚙️ Setup — 5 steps

1. Add the plugin to

2. Run database migrations

npx medusa db:migrate

3. Connect your PayPal account

  1. Start your Medusa server
  2. Open Medusa Admin → Settings → PayPal
  3. Choose Sandbox (testing) or Live (real payments)
  4. Click Connect to PayPal and follow the steps

That's it — your credentials are saved automatically. Webhooks are registered for you too.

💡 Prefer manual setup? Click Insert credentials manually and paste your Client ID and Secret from developer.paypal.com.

4. Turn PayPal on in your region

Go to Medusa Admin → Settings → Regions → your region and enable:

Payment providerWhat it is
PayPal Buttons
Card payments

5. Add PayPal to your storefront

The checkout UI comes as a separate package — install it in your storefront project:

📦 @easypayment/medusa-paypal-ui — ready-made PayPal components for Next.js storefronts, with a step-by-step guide.


🎨 Customize (optional)

Everything is managed in Medusa Admin → Settings → PayPal — changes apply instantly, no restart needed:

  • PayPal Settings — turn PayPal on/off, button color, shape, and label
  • Advanced Card Payments — turn card payments on/off, 3D Secure mode
  • Additional Settings — capture vs. authorize, brand name shown at PayPal, invoice prefix

🔐 Going live — two things we recommend

  1. — set this to any long random text in your server's environment. Your PayPal credentials are then stored encrypted in the database. Keep the key safe: if it's lost, just reconnect PayPal.
  2. — set this to your backend's public address (e.g. ) so PayPal can reach your store for payment notifications.
Advanced options (for developers — everything works without these)
VariableDefaultWhat it does
(unset)Storefront address used for PayPal return/cancel pages (can also be set in Admin)
= refuse to save credentials unencrypted
(auto)Set a fixed random string when running multiple server instances
first entryRestricts the onboarding popup to your admin URL
Safety net that finishes an order when the payment succeeded but the buyer's browser closed. disables it
/ (off) / Optional request limit for the public checkout routes
/ (off) / Optional request limit for the webhook endpoint (separate from the above)
Rejects webhook deliveries older than this
When the retry job re-picks-up interrupted webhook events
/ (auto)Manual webhook-id override (normally automatic)
Timeout for calls to PayPal
Fallback currency if none is configured
(unset)Comma-separated URLs that receive operational alert notifications

Monitoring: operational counters live in the table; every webhook is recorded in with automatic retries; audit events are logged as JSON lines tagged (secrets redacted).


💬 Support

  • 🐛 Found a bug? Open an issue
  • 💡 Questions or feature requests? Start a discussion
  • 🛍 Storefront UI package: @easypayment/medusa-paypal-ui

📄 License

MIT © Easy Payment

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

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

Braintree

От Lambda Curry

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

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

Pay.

От Webbers

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

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

Mollie

От Variable Vic

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

Загрузка данных
GitHubnpm

Еще от этого автора

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

Braintree

От Easypayment

Плагин платёжного провайдера Braintree для Medusa v2. Приём кредитных и дебетовых карт и ACH Direct Debit с 3D Secure, сохранением карт, возвратами и обновлением статусов платежей через вебхуки.

Загрузка данных
GitHubnpm
npm install @easypayment/medusa-payment-paypal
1import { loadEnv, defineConfig } from "@medusajs/framework/utils"
2
3loadEnv(process.env.NODE_ENV || "development", process.cwd())
4
5export default defineConfig({
6 projectConfig: {
7 databaseUrl: process.env.DATABASE_URL,
8 http: {
9 storeCors: process.env.STORE_CORS!,
10 adminCors: process.env.ADMIN_CORS!,
11 authCors: process.env.AUTH_CORS!,
12 jwtSecret: process.env.JWT_SECRET || "supersecret",
13 cookieSecret: process.env.COOKIE_SECRET || "supersecret",
14 },
15 },
16
17 plugins: [
18 {
19 resolve: "@easypayment/medusa-payment-paypal",
20 options: {},
21 },
22 ],
23
24 modules: [
25 {
26 resolve: "@medusajs/medusa/payment",
27 options: {
28 providers: [
29 {
30 // PayPal Buttons
31 resolve: "@easypayment/medusa-payment-paypal/providers/paypal",
32 id: "paypal",
33 options: {},
34 dependencies: ["paypal_onboarding"],
35 },
36 {
37 // Card payments
38 resolve: "@easypayment/medusa-payment-paypal/providers/paypal_card",
39 id: "paypal_card",
40 options: {},
41 dependencies: ["paypal_onboarding"],
42 },
43 ],
44 },
45 },
46 ],
47})