Skip to content

google-pay/flutter-plugin

A plugin to add payments to your Flutter application.

paypay_androidpay_iospay_platform_interface
pub packagepub packagepub packagepub package

Platform Support

AndroidiOS
Google PayApple Pay

Getting started

Before you start, create an account with the payment providers you are planning to support and follow the setup instructions:

Apple Pay:

  1. Take a look at the integration requirements.
  2. Create a merchant identifier for your business.
  3. Create a payment processing certificate to encrypt payment information.

Google Pay:

  1. Take a look at the integration requirements.
  2. Sign up to the business console and create an account.

Installation

This adds the pay package to the list of dependencies in your pubspec.yaml file with the following command:

flutter pub add pay

Usage

Define the configuration for your payment provider(s). Take a look at the parameters available in the documentation for Apple Pay and Google Pay, and explore the sample configurations in this package.

Example

This snippet assumes the existence of a payment configuration for Apple Pay (defaultApplePayConfig) and another one for Google Pay (defaultGooglePayConfig):

import'package:pay/pay.dart'; import'payment_configurations.dart'as payment_configurations; const _paymentItems = [ PaymentItem( label:'Total', amount:'99.99', status:PaymentItemStatus.final_price, ) ]; ApplePayButton( paymentConfiguration: payment_configurations.defaultApplePayConfig, paymentItems: _paymentItems, style:ApplePayButtonStyle.black, type:ApplePayButtonType.buy, margin:constEdgeInsets.only(top:15.0), onPaymentResult: onApplePayResult, loadingIndicator:constCenter( child:CircularProgressIndicator(), ), ), GooglePayButton( paymentConfiguration: payment_configurations.defaultGooglePayConfig, paymentItems: _paymentItems, type:GooglePayButtonType.buy, margin:constEdgeInsets.only(top:15.0), onPaymentResult: onGooglePayResult, loadingIndicator:constCenter( child:CircularProgressIndicator(), ), ), voidonApplePayResult(paymentResult){// Send the resulting Apple Pay token to your server / PSP } voidonGooglePayResult(paymentResult){// Send the resulting Google Pay token to your server / PSP }

To learn more about the pay plugin and alternative integration paths, check out the readme in the pay folder.

Other packages in this plugin

The packages in this repository follow the federated plugin architecture. Each package has a specific responsibility and can be used independently to fulfil less conventional integration needs:

PackageDescriptionWhen to use
payAn app-facing package with support for all the platforms supported by this plugin.This package offers an agnostic integration for the platforms supported in this plugin and features the easiest path to add payments to your Flutter application.
pay_androidThe endorsed implementation of this plugin for Android.This package contains the necessary business logic to support the Android platform. You can integrate this package separately or use it to build your own app-facing package.
pay_iosThe endorsed implementation of this plugin for iOS.This package contains the necessary business logic to support the iOS platform. You can integrate this package separately or use it to build your own app-facing package.
pay_platform_interfaceA common API contract for platform-specific implementations.Folow the contract in this package to add new platforms to the plugin or create your own Android or iOS implementations. Take a look at the guide about plugin development to learn more.

Additional resources

Check out the following resources to manage your payment accounts and learn more about the APIs for the supported providers:

Google PayApple Pay
Platforms Android iOS
DocumentationOverviewOverview
ConsoleGoogle Pay Business ConsoleDeveloper portal
ReferenceAPI referenceApple Pay API
Style guidelinesBrand guidelinesButtons and Marks

Note: This is not an officially supported Google product.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 16