puntodev/mercadopago-fake
A Laravel/PHP package for faking Mercado Pago in tests. Simulate preferences, payments, webhooks, and API responses without real credentials or network calls, enabling fast, deterministic feature tests and safe local development.
puntodev/mercadopago ^8.0. This makes the fake a forcing function on your PHP and SDK upgrade roadmap — it is now a trailing indicator of the runtime version you must already be on.Consider adoption when:
puntodev/mercadopago (not the official mercadopago/sdk-php) — the fake targets that SDK's surface, so it is only useful inside that ecosystem.Look elsewhere (official SDK test helpers, contract tests against sandbox, or an in-house fake) when:
To executives: this is a small open-source testing utility for our Mercado Pago integration. The value is straightforward — it lets us test payment flows deterministically without touching Mercado Pago's sandbox, which cuts CI flakiness and shortens the feedback loop on payment changes. The cost is not licence fees but timing: the new 2.0.0 release requires PHP 8.5 and a matching major of the Mercado Pago SDK, neither of which we run today. So this is not a "adopt now" decision; it is a decision to sequence it behind our PHP 8.5 upgrade, and to keep the payment test suite on the current 1.0.x line until then. No spend, no vendor contract, modest ongoing maintenance risk from a single-maintainer project.
To engineering: 2.0.0 is a breaking release with no functional changes — it is purely a platform bump (PHP >= 8.5, puntodev/mercadopago ^8.0). That means the upgrade itself is low-risk if the platform upgrade lands first; the real work is the PHP 8.5 and SDK 8 migration, not this package. Two things to note before committing: (1) the fake's major tracks the SDK's major, so every future SDK major is a paired upgrade — budget for that; (2) the fake must not become our only payment test. Keep a thin layer of sandbox/contract tests for webhook signatures, auth, and any Mercado Pago behaviour we don't control. Recommended path: pin 1.0.x now, add a tracking ticket for PHP 8.5 + SDK 8 + fake 2.0 as a single coordinated change, and re-evaluate if the package goes more than one SDK major behind.
How can I help you explore Laravel packages today?