PHPackages                             stange/shopware-mercadopago - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Payment Processing](/categories/payments)
4. /
5. stange/shopware-mercadopago

ActiveLibrary[Payment Processing](/categories/payments)

stange/shopware-mercadopago
===========================

A MercadoPago integration with ShopWare AG

1.0.1(9y ago)27MITPHP

Since Mar 17Pushed 9y ago2 watchersCompare

[ Source](https://github.com/pthreat/StangeMercadoPago)[ Packagist](https://packagist.org/packages/stange/shopware-mercadopago)[ RSS](/packages/stange-shopware-mercadopago/feed)WikiDiscussions master Synced yesterday

READMEChangelogDependencies (1)Versions (3)Used By (0)

Shopware 5.2 MercadoPago Payment Plugin
=======================================

[](#shopware-52-mercadopago-payment-plugin)

### (by Federico Stange)

[](#by-federico-stange)

First Steps
-----------

[](#first-steps)

For using this plugin you need to create a mercado pago developer account at

After you have created your developer account and while signed in, obtain your MercadoPago credentials at

Configure the MercadoPago plugin in your ShopWare backend with the provided MercadoPago Credentials

Depending on your location (Argentina, Brazil, Cuba, etc) make *sure* to set the "Application Currency" setting to the correct currency from your country.

NOTE: Argentina accepts two currencies, USD and ARS

---

Plugin installation
-------------------

[](#plugin-installation)

### Manual

[](#manual)

As of now the plugin will not show up in the backend plugin list since I haven't submitted it to the ShopWare plugin store yet.

For installing it, get into your shopware directory, i.e: cd /var/www/shopware

Now get into the custom/plugins folder

Run the command:

git clone

Now get into to the plugin directory:

cd StangeMercadoPago

Run: ../../../composer.phar install

Get back into your shopware directory (in this example /var/www/shopware)

run php bin/console sw:plugin:refresh

run php bin/console sw:plugin:install --activate StangeMercadoPago

### Composer

[](#composer)

Simply run:

```
composer require stange/shopware-mercadopago

```

After running the command, move the vendor/stange/shopware-mercadopago folder to custom/plugins/StangeMercadoPago

Just in case, cd to custom/plugins/StangeMercadoPago and then run composer install

---

Configuring the plugin
----------------------

[](#configuring-the-plugin)

Login into your backend and open up the plugin manager

Look under the tab installed plugins, configure the plugin and save the configuration.

Refresh the shop cache (Under Configuration -&gt; Cache/Performance -&gt; Clear Shop Cache)

That's it! You should be ready to use the MercadoPago checkout plugin!

### IPN: Instant payment notifications

[](#ipn-instant-payment-notifications)

There's no additional need to configure any URL on the MercadoPago backend. Just have your store available to the outside world internet and you will get Instant Payment Notifications.

### UI MODE Configuration

[](#ui-mode-configuration)

The UI MODE option was removed to provide simplicity and correct operation of the plugin.

### Application currency configuration

[](#application-currency-configuration)

It is *very important* that you set the *correct* currency matching your mercadopago account given your geographical location

### Checkout mode Configuration

[](#checkout-mode-configuration)

The plugin admits two configuration modes, production and sandbox

(2017-03-05) As of this date the "sandbox mode" doesn't works correctly. The purposed workaround by MercadoPago is to use production mode and use testing credit cards and testing users provided here:

### Console commands

[](#console-commands)

This plugin makes available the following console commands:

#### Create a mercado pago test user

[](#create-a-mercado-pago-test-user)

```
php bin/console stange:mercadopago:create:test-user

```

#### Check the exchange rate between two currencies

[](#check-the-exchange-rate-between-two-currencies)

```
php bin/console stange:mercadopago:currency:exchange   [amount]

```

---

### Using test cards and test users:

[](#using-test-cards-and-test-users)

For testing you will need to create two test users before using the testing credit cards.

You can create said users through the Shopware's command line once the plugin is *installed and configured*.

For doing so I have created a simple console command that will do just that.

Please run:

```

php bin/console stange:mercadopago:create:test-user

```

Run it twice, one for creating the Buyer test user, and once more for creating the Seller user

After creating the test users, login into mercadopago with the selling user and obtain your application credentials.

Reconfigure your shopware backend to use the test user client id and client secret.

Go through the checkout process and when redirected to the mercadopago page login with your Buyer credentials

Grab any test card that belongs to your country here:

Use said card in the checkout process, don't worry about the PIN number (you can put any 3 digit number there)

Same goes for the expiration date, but remember that the expiration date should be set in the future.

---

Running tests
-------------

[](#running-tests)

For running the integration tests your plugin must be properly configured. While testing, please, use the Shopware's shipped phpunit binary located at shopware-folder/vendor/bin/phpunit

---

For coders
----------

[](#for-coders)

### Coding style

[](#coding-style)

The indentation style of the code must be respected. I use tabs only. Set your editor to have a tab stop of 3 for the code to display correctly in your editor.

### Namespaces

[](#namespaces)

A personal preference of mine is to surround with the namespace declaration.

```
namespace StangeMercadoPago{
   class Test{
	}
}
```

I believe this way makes you conscious that you are working within a namespace and not in the global namespace.

### Collaborating

[](#collaborating)

Simply send a pull request through github, send me an email or add an issue in github.

---

CHANGELOG
---------

[](#changelog)

#### Version 1.0.1

[](#version-101)

- Removed UI Modes for simplicity and correct plugin operation
- Added success, cancel and pending payment pages. When the user finishes buying on mercadopago the user will be redirected to your shop's success, cancel or pending page. Note that these pages can not be trusted for finishing the checkout process since mercadopago has a delay of 5 seconds in which the customer may close the window. For this reason, Instant Payment Notifications are prefered instead.
- Added small localization .ini files (Deutsch, English)

---

TODO
----

[](#todo)

- Enable edition of allowed checkout methods through the backend
- Enable edition of checkout methods preferences (cc installments, etc)

###  Health Score

28

—

LowBetter than 52% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity64

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~6 days

Total

2

Last Release

3386d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/c58f421340779f50b5cf5e0e1f0501692ee5141889dbe406509d795f0a728e3e?d=identicon)[pthreat](/maintainers/pthreat)

---

Top Contributors

[![pthreat](https://avatars.githubusercontent.com/u/8527076?v=4)](https://github.com/pthreat "pthreat (31 commits)")

---

Tags

mercadopagomercadopago-apishopwareshopware-mercadopagoshopware-pluginshopware-pluginsshopwaremercadopagocheckoutMercadoLibre

### Embed Badge

![Health badge](/badges/stange-shopware-mercadopago/health.svg)

```
[![Health](https://phpackages.com/badges/stange-shopware-mercadopago/health.svg)](https://phpackages.com/packages/stange-shopware-mercadopago)
```

###  Alternatives

[league/omnipay

Omnipay payment processing library

6.1k10.2M182](/packages/league-omnipay)[liqpay/liqpay

SDK for Liqpay

111712.0k9](/packages/liqpay-liqpay)[flux-se/sylius-payum-stripe-plugin

Payum Stripe gateways plugin for Sylius.

61349.4k](/packages/flux-se-sylius-payum-stripe-plugin)[sumup/sumup-ecom-php-sdk

SumUp PHP SDK

51294.9k1](/packages/sumup-sumup-ecom-php-sdk)[santigraviano/laravel-mercadopago

Mercado Pago SDK v0.5.2 for Laravel

47150.1k](/packages/santigraviano-laravel-mercadopago)[payum/stripe

The Payum extension. It provides Stripe payment integration.

20594.2k4](/packages/payum-stripe)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
