{"id":18822087,"url":"https://github.com/proyecto26/mercadopago-api","last_synced_at":"2026-03-11T17:03:34.205Z","repository":{"id":45101365,"uuid":"365433445","full_name":"proyecto26/mercadopago-api","owner":"proyecto26","description":"API for MercadoPago Checkout","archived":false,"fork":false,"pushed_at":"2022-08-16T23:13:09.000Z","size":26074,"stargazers_count":26,"open_issues_count":0,"forks_count":5,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-14T01:07:18.887Z","etag":null,"topics":["api","api-documentation","api-rest","api-service","ecommerce","mercadopago","mercadopago-api"],"latest_commit_sha":null,"homepage":"https://mercadopago-e-commerce.herokuapp.com/api","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/proyecto26.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2021-05-08T06:07:40.000Z","updated_at":"2025-02-21T00:06:22.000Z","dependencies_parsed_at":"2022-07-13T15:30:38.128Z","dependency_job_id":null,"html_url":"https://github.com/proyecto26/mercadopago-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proyecto26%2Fmercadopago-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proyecto26%2Fmercadopago-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proyecto26%2Fmercadopago-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/proyecto26%2Fmercadopago-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/proyecto26","download_url":"https://codeload.github.com/proyecto26/mercadopago-api/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248804803,"owners_count":21164134,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","api-documentation","api-rest","api-service","ecommerce","mercadopago","mercadopago-api"],"created_at":"2024-11-08T00:47:47.239Z","updated_at":"2026-03-11T17:03:34.145Z","avatar_url":"https://github.com/proyecto26.png","language":"TypeScript","funding_links":["http://www.paypal.me/jdnichollsc/2"],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"http://nestjs.com/\" target=\"blank\"\u003e\n    \u003cimg src=\"https://avatars.githubusercontent.com/u/28507035?s=200\u0026v=4\" width=\"200\" alt=\"Nest Logo\" /\u003e\n  \u003c/a\u003e\n  \u003ca href=\"http://developers.mercadopago.com\" target=\"blank\"\u003e\n    \u003cimg src=\"https://avatars.githubusercontent.com/u/900583?s=200\u0026v=4\" width=\"200\" alt=\"MercadoPago Logo\" /\u003e\n  \u003c/a\u003e\n  \u003chr\u003e\n\u003c/p\u003e\n\n|   | MercadoPago API Template |\n| - | ------------ |\n| ⚡️ | **Launch your api instantly** watching changes with live-reload |\n| 📈 | **Highly scalable** using [Repository design pattern](https://docs.nestjs.com/techniques/database#repository-pattern) to access the database even easier |\n| 😎 | **OpenAPI** with [Swagger](https://docs.nestjs.com/openapi/introduction) to describe your RESTful APIs |\n| ✨ | **KISS principle** make everything as simple as possible, but not simpler |\n| 📱 | **Mobile friendly** supporting Cross-origin resource sharing (CORS) with a list of domains for restricted resources |\n| 🔑 | **Security** using JWT authentication strategy with [Passport](https://docs.nestjs.com/techniques/authentication) and other techniques to increase the security of your applications |\n| 👥 | **Made for Users.** Easily validate permissions for specific routes using [Guards](https://docs.nestjs.com/guards) with a Role-based access control\n| ⏱ | Don't repeat yourself, Single responsibility principle. |\n| 🔗 | **Validation:** provides pipes available right out-of-the-box with [class-validator](https://github.com/typestack/class-validator) to enforce validation rules for all incoming client payloads |\n| ⚠️ | **Logger** with [Winston](https://github.com/winstonjs/winston) using different levels to track exceptions easily |\n| 🔄 | **Migrations** using [TypeORM](https://github.com/typeorm/typeorm) to apply incremental updates to the database |\n\n## Introduction\n\nLink: https://mercadopago-e-commerce.herokuapp.com/ecommerce\n![image](https://user-images.githubusercontent.com/2154886/118763210-146aee00-b83d-11eb-97ee-8646df3620c4.png)\n\n### Credentials\nSon las claves que **MercadoPago** proporciona para poder configurar tus integraciones, es una llave que identifica a tu usario **(No compartir)**.\nEjemplo:\n- Public Key\n- Access Token\n- Client ID (Used with SDKs or plugins)\n- Client Secret (Used with SDKs or plugins)\n\nLink: https://www.mercadopago.com.co/settings/account/credentials\n\nEs un dato obligatorio. Sirven para validar la identidad de la cuenta por medio de un token.\n\n### Checkout\n\n#### Crear preferencia de pago\nPermite iniciar el proceso de pago, al crear una preferencia se obtiene una url `init_point` para redireccionar los usuarios a un flujo de checkout.\nAl finalizar el proceso de pago se recibe una notificación por medio de un Webhook que se configura en la creación de la preferencia, con una url `notification_url` de la API de nuestro negocio.\n\n\u003e Link: https://www.mercadopago.com.co/developers/es/reference/preferences/_checkout_preferences/post\n\n#### Notificaciones\nEs necesario definir un endpoint donde se notificará el resultado del proceso de pago.\nLa notificación se realizará a un Webhook el cual es un POST request unidireccional que MercadoPago envía a nuestro endpoint definido al momento de crear la preferencia de pago.\n\nAcciones:\n- `payment.created`: Pago creado, pendiente de pago.\n- `payment.updated`: Pago aprobado o rechazado.\n\nEs necesario retornar un HTTP Status 200 (OK) o 201 (Created), de lo contrario MercadoPago seguirá reintentando notificar el cambio con su política de reintentos hasta 4 días después del primer intento mediante una cola de notificaciones.\n\nLas notificaciones también se pueden configurar de manera global en el [panel de desarrolladores](http://mercadopago.com/mco/account/webhooks), tanto para modo Sandbox como Producción.\n\n\u003e Link: https://www.mercadopago.com.co/developers/es/guides/notifications/webhooks\n\n#### Back Urls\nReflejan los estados finales de una transacción, las urls a la que serán redireccionados nuestros usuarios:\n- `success`: Pagos éxitosos.\n- `failure`: Pagos rechazados.\n- `pending`: Pagos en estado pendiente.\n\n\u003e `auto_return`: Parámetro por el cual se puede habilitar el retorno automático según el estado de la transacción.\n\n#### Devoluciones\nSe permite realizar devoluciones parciales (en el caso de ingresar un monto menor al total del pago) o totales independientemente del medio de pago.\n\n\u003e Link: https://www.mercadopago.com.co/developers/es/guides/manage-account/account/cancellations-and-refunds\n\n#### Medios de Pago\nEs posible establecer medios de pago no soportados dependiendo del país, además de obtener la información de montos mínimos y máximos soportados por cada medio de pago.\n\n\u003e Link: https://www.mercadopago.com.co/developers/es/guides/resources/localization/payment-methods\n\n#### Impuestos\nExisten consideraciones de impuestos diferentes por país, estos son establecidos en el momento de crear la preferencia de pago.\nMercadoPago es un agente de retención y por defecto aplica retención sobre el 19% de la base del monto total de la preferencia generada a menos que se indique lo contrario en la creación de la preferencia.\n\nIvas en Colombia:\n- 0%\n- 5%\n- 15%\n- 19% (Defecto)\n\n\u003e Link: https://www.mercadopago.com.co/developers/es/guides/resources/localization/iva-colombia\n\n\n### Testing\n- [Integración QR - Postman API Collection](https://documenter.getpostman.com/view/7908112/SVfNv9FJ?version=latest)\n- [Checkout Pro](https://www.mercadopago.com.co/developers/es/guides/online-payments/checkout-pro/test-integration)\n- [Checkout API](https://www.mercadopago.com.co/developers/es/guides/online-payments/checkout-api/testing)\n- [Mobile Checkout](https://www.mercadopago.com.co/developers/es/guides/online-payments/mobile-checkout/testing)\n- **sandbox_init_point**: Url usada para emular un flujo de pago por medio de una redirección de nuestros usuarios con tarjetas de prueba.\n\n## Installation 📚\n\n```bash\n# install dependencies\n$ yarn\n```\n\n## Running the app ▶\n\n```bash\n# development\n$ yarn start\n\n# watch mode\n$ yarn start:dev\n\n# production mode\n$ yarn start:prod\n```\n\n## Running migrations ▶\n\n```bash\n# run migration\n$ yarn migration\n\n# create migration\n$ yarn migration:create\n\n# revert migration\n$ yarn migration:revert\n```\n\n## Test 🕵️\n\n```bash\n# unit tests\n$ yarn test\n\n# e2e tests\n$ yarn test:e2e\n\n# test coverage\n$ yarn test:cov\n```\n\n## Credits 👍\n* **typescript-starter:** [Nest framework TypeScript starter repository](https://github.com/nestjs/typescript-starter).\n* **[Mercado Pago SDK for NodeJS](https://mercadopago.github.io/sdk-nodejs)**\n\n## Supporting 🍻\nI believe in Unicorns 🦄\nSupport [me](http://www.paypal.me/jdnichollsc/2), if you do too.\n\nDonate **Ethereum**, **ADA**, **BNB**, **SHIBA**, **USDT**, **DOGE**:\n\n![Wallet address](https://user-images.githubusercontent.com/2154886/123501719-84bf1900-d60c-11eb-882c-98a499cea323.png)\n\n\u003e Wallet address: 0x3F9fA8021B43ACe578C2352861Cf335449F33427\n\nPlease let us know your contributions! 🙏\n\n## Happy coding 💯\nMade with ❤️\n\n\u003cimg width=\"150px\" src=\"https://avatars0.githubusercontent.com/u/28855608?s=200\u0026v=4\" align=\"right\"\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproyecto26%2Fmercadopago-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fproyecto26%2Fmercadopago-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fproyecto26%2Fmercadopago-api/lists"}