mercado_pago_mobile_checkout 0.0.2

Flutter Android iOS

Mercado Pago's Unofficial Flutter checkout library that implements the MercadoPago Mobile Checkout using the native SDK.

px-flutter #

Mercado Pago's Unofficial Flutter checkout library


Made with ❤️ by Ricardo Markiewicz // @gazeria.

What is this? #

Flutter implementation of MercadoPago Mobile Checkout

Before to start #

This is a Work in progress project!, so please use with care and report the issues and feature request to our Github page. Thanks!

Getting Started #

  • Create an account in MercadoPago, you may need to choose the country where you want to accept payments.
  • Create an Application
  • Go to the credentials page (the url may change depending the country, but looks like https://www.mercadopago.com/mla/account/credentials) and get the Public Key of the new app ** SECURITY WARNING: Do not use the Access Token, ClientID or Client Secret in your mobile application.
  • Call your backend to create a Checkout Preference and get a PreferenceId ** TODO: Add more documentation about preferences
  • In your Flutter code, call MercadoPagoMobileCheckout.startCheckout() to allow the user to pay
  • Save the payment response into your database.

Setup #

Android #

Nothing special to do, just add the plugin and use it.

iOS #

At the moment we need to setup a UINavigationController manually because the one that Flutter provides do not work with MercadoPago px-ios.

You need to setup your root view controller as UINavigationController in your AppDelegate of the ios folder of your app:

// AppDelegate.swift

import UIKit
import Flutter

@UIApplicationMain
@objc class AppDelegate: FlutterAppDelegate {
  var navigationController: UINavigationController?;

  override func application(
    _ application: UIApplication,
    didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
  ) -> Bool {
    // Add this line before GeneratedPluginRegistrant
    let flutterViewController: FlutterViewController = window?.rootViewController as! FlutterViewController

    // This line is added by the Flutter App Generator
    GeneratedPluginRegistrant.register(with: self)

    // Add these lines after GeneratedPluginRegistrant
    self.navigationController = UINavigationController(rootViewController: flutterViewController);
    self.navigationController?.setNavigationBarHidden(true, animated: false);

    self.window = UIWindow(frame: UIScreen.main.bounds);
    self.window.rootViewController = self.navigationController;
    self.window.makeKeyAndVisible();
    // End of edit

    return super.application(application, didFinishLaunchingWithOptions: launchOptions)
  }
}

Installation #

Add this to your package's pubspec.yaml file:

dependencies:
  mercado_pago_mobile_checkout: ^0.0.2

Add the following import to your Dart code:

import 'package:mercado_pago_mobile_checkout/mercado_pago_mobile_checkout.dart';

F.A.Q. #

Why not px_flutter instead of mercado_pago_mobile_checkout?

Honestly, I think that 'px_flutter' is shorter but more difficult to discover if you do not know that the native ones are called px-something.

Also maybe in the future, MercadoPago may want to use that name to release their own version and I do not want to argue with them about a name :).

Need help? #

Create an issue in https://github.com/Gazer/px-flutter

23
likes
70
pub points
75%
popularity

Mercado Pago's Unofficial Flutter checkout library that implements the MercadoPago Mobile Checkout using the native SDK.

Repository (GitHub)
View/report issues

Documentation

API reference

Uploader

ricardo.markiewicz@gmail.com

License

unknown (LICENSE)

Dependencies

flutter, freezed_annotation, json_annotation

More

Packages that depend on mercado_pago_mobile_checkout