Giter Site home page Giter Site logo

proyecto26 / mercadopago-api Goto Github PK

View Code? Open in Web Editor NEW
21.0 4.0 6.0 25.46 MB

API for MercadoPago Checkout

Home Page: https://mercadopago-e-commerce.herokuapp.com/api

License: MIT License

JavaScript 0.76% TypeScript 88.69% EJS 10.53% Procfile 0.01%
mercadopago mercadopago-api ecommerce api api-rest api-documentation api-service

mercadopago-api's Introduction

Nest Logo MercadoPago Logo


MercadoPago API Template
⚡️ Launch your api instantly watching changes with live-reload
📈 Highly scalable using Repository design pattern to access the database even easier
😎 OpenAPI with Swagger to describe your RESTful APIs
KISS principle make everything as simple as possible, but not simpler
📱 Mobile friendly supporting Cross-origin resource sharing (CORS) with a list of domains for restricted resources
🔑 Security using JWT authentication strategy with Passport and other techniques to increase the security of your applications
👥 Made for Users. Easily validate permissions for specific routes using Guards with a Role-based access control
Don't repeat yourself, Single responsibility principle.
🔗 Validation: provides pipes available right out-of-the-box with class-validator to enforce validation rules for all incoming client payloads
⚠️ Logger with Winston using different levels to track exceptions easily
🔄 Migrations using TypeORM to apply incremental updates to the database

Introduction

Link: https://mercadopago-e-commerce.herokuapp.com/ecommerce image

Credentials

Son las claves que MercadoPago proporciona para poder configurar tus integraciones, es una llave que identifica a tu usario (No compartir). Ejemplo:

  • Public Key
  • Access Token
  • Client ID (Used with SDKs or plugins)
  • Client Secret (Used with SDKs or plugins)

Link: https://www.mercadopago.com.co/settings/account/credentials

Es un dato obligatorio. Sirven para validar la identidad de la cuenta por medio de un token.

Checkout

Crear preferencia de pago

Permite iniciar el proceso de pago, al crear una preferencia se obtiene una url init_point para redireccionar los usuarios a un flujo de checkout. Al 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.

Link: https://www.mercadopago.com.co/developers/es/reference/preferences/_checkout_preferences/post

Notificaciones

Es necesario definir un endpoint donde se notificará el resultado del proceso de pago. La 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.

Acciones:

  • payment.created: Pago creado, pendiente de pago.
  • payment.updated: Pago aprobado o rechazado.

Es 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.

Las notificaciones también se pueden configurar de manera global en el panel de desarrolladores, tanto para modo Sandbox como Producción.

Link: https://www.mercadopago.com.co/developers/es/guides/notifications/webhooks

Back Urls

Reflejan los estados finales de una transacción, las urls a la que serán redireccionados nuestros usuarios:

  • success: Pagos éxitosos.
  • failure: Pagos rechazados.
  • pending: Pagos en estado pendiente.

auto_return: Parámetro por el cual se puede habilitar el retorno automático según el estado de la transacción.

Devoluciones

Se permite realizar devoluciones parciales (en el caso de ingresar un monto menor al total del pago) o totales independientemente del medio de pago.

Link: https://www.mercadopago.com.co/developers/es/guides/manage-account/account/cancellations-and-refunds

Medios de Pago

Es 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.

Link: https://www.mercadopago.com.co/developers/es/guides/resources/localization/payment-methods

Impuestos

Existen consideraciones de impuestos diferentes por país, estos son establecidos en el momento de crear la preferencia de pago. MercadoPago 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.

Ivas en Colombia:

  • 0%
  • 5%
  • 15%
  • 19% (Defecto)

Link: https://www.mercadopago.com.co/developers/es/guides/resources/localization/iva-colombia

Testing

Installation 📚

# install dependencies
$ yarn

Running the app ▶

# development
$ yarn start

# watch mode
$ yarn start:dev

# production mode
$ yarn start:prod

Running migrations ▶

# run migration
$ yarn migration

# create migration
$ yarn migration:create

# revert migration
$ yarn migration:revert

Test 🕵️

# unit tests
$ yarn test

# e2e tests
$ yarn test:e2e

# test coverage
$ yarn test:cov

Credits 👍

Supporting 🍻

I believe in Unicorns 🦄 Support me, if you do too.

Donate Ethereum, ADA, BNB, SHIBA, USDT, DOGE:

Wallet address

Wallet address: 0x3F9fA8021B43ACe578C2352861Cf335449F33427

Please let us know your contributions! 🙏

Happy coding 💯

Made with ❤️

mercadopago-api's People

Contributors

jdnichollsc avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.