In the new version of @gorgo/medusa-payment-yookassa we moved settings out of medusa-config and into the Admin, powered by the Integration Module. Here's what changed and how to upgrade.

We've released version 2.0 of the plugin. Its headline change is a settings page in the Medusa Admin, built on our Integration Module. YooKassa credentials, online receipt options for fiscal law (54-FZ), and payment behavior are now filled in by a store admin directly in the Admin, with no code edits and no redeployment.
The Integration Module moves plugin settings out of code and into the Admin and the database. A plugin declares which options it needs and how they are displayed, and from that declaration the module generates the settings page, stores the values, encrypts the secrets, and returns validated configuration at runtime.
A plugin author no longer writes forms, API routes, and workflows to manage settings. A store admin no longer needs code access to rotate a key or turn on receipts.
Every option was set in and environment variables. Any change meant editing code and redeploying the Medusa application:
1module.exports = defineConfig({2 modules: [3 {4 resolve: "@medusajs/medusa/payment",5 options: {6 providers: [7 {8 resolve: "@gorgo/medusa-payment-yookassa/providers/payment-yookassa",9 id: "yookassa",10 options: {11 shopId: process.env.YOOKASSA_SHOP_ID,12 secretKey: process.env.YOOKASSA_SECRET_KEY,13 capture: true,14 paymentDescription: "Test payment",15 useReceipt: true,16 useAtolOnlineFFD120: true,17 taxSystemCode: 1,18 taxItemDefault: 1,19 taxShippingDefault: 1,20 },21 },22 ],23 },24 },25 // ...26 ],27})The same options live on the Settings → Integrations → YooKassa page, split into three sections: credentials, payment behavior, and receipts. Values are stored in the database, and changes take effect as soon as you save.
The settings page does more than repeat the old list of options.
Version 2.0 is not compatible with 1.x in how it is configured. What to keep in mind:
The webhook URL doesn't change, so there is nothing to reconfigure in your YooKassa account.
The 1.x setup guide stays available here.
Upgrading takes a few minutes. The plugin requires Medusa v2.17.2 or newer.
npm install @gorgo/medusa-integration @gorgo/medusa-payment-yookassa@latestRegister the integration provider under the Integration Module and link the payment provider to it through a shared identifier. The old payment provider options can be removed:
1const YOOKASSA_INTEGRATION_ID = "yookassa-1"2
3module.exports = defineConfig({4 plugins: [5 {6 resolve: "@gorgo/medusa-integration",7 options: {8 encryptionKey: process.env.INTEGRATION_ENCRYPTION_KEY,9 providers: [10 {11 resolve: "@gorgo/medusa-payment-yookassa/providers/integration-yookassa",12 id: YOOKASSA_INTEGRATION_ID,13 options: {},14 },15 ],16 },17 },18 // Registered so Admin picks up the settings page translations19 {20 resolve: "@gorgo/medusa-payment-yookassa",21 options: {},22 },23 // ...24 ],25 modules: [26 {27 resolve: "@medusajs/medusa/payment",28 options: {29 providers: [30 {31 resolve: "@gorgo/medusa-payment-yookassa/providers/payment-yookassa",32 id: "yookassa",33 options: {34 id: YOOKASSA_INTEGRATION_ID, // matches the integration provider id above35 },36 },37 ],38 },39 },40 // ...41 ],42})The constant ties the two config entries together. The module uses that identifier to find the right integration instance and hand its options to the payment provider.
The module uses this key to encrypt secrets in the database:
INTEGRATION_ENCRYPTION_KEY=supersecretAfter that the and environment variables can be removed. Full installation instructions and a complete option reference live in Getting Started and Managing settings.
Ask questions and discuss Medusa in the Telegram community, report plugin issues in the Gorgo support chat, or open Issues and Pull Requests on GitHub.