Coder Social home page Coder Social logo

madbrains / mad-pay-flutter Goto Github PK

View Code? Open in Web Editor NEW
29.0 4.0 15.0 4.11 MB

Mad Pay will help you make payments through Apple Pay and Google Pay

Home Page: https://pub.dev/packages/mad_pay

License: MIT License

Kotlin 6.56% Ruby 0.73% Swift 33.93% Objective-C 0.22% Dart 57.28% Shell 0.86% Makefile 0.42%
dart flutter apple-pay google-pay payment

mad-pay-flutter's Introduction

Mad Pay

Easy integration with Google Pay and Apple Pay for your flutter app.

We solve problems of brand presence on mobile devices, specializing in development of mobile applications and services in the b2c segment.

Subscribe for the latest updates:


SDK Features

  • Pay with Apple Pay and Google Pay
  • Checking payment availability on your device
  • Checking the user's active cards

Apple Pay API Documentation.

Google Pay API Documentation.

Platform Support

Android iOS
Google Pay Apple Pay

Packages

mad_pay pub package
mad_pay_ios pub package
mad_pay_android pub package
mad_pay_platform_interface pub package

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.

Example

The Example is in the corresponding folder

Payment Network matrix

Payment Network iOS Android
Visa + +
MasterCard + +
American Express + +
Interac + +
Discover + +
JCB + +
Maestro +
Electron +
Mir Pay + +
Cartes Bancarries +
Union Pay +
EftPos +
Elo +
ID Credit +
Mada +
Private Label +
Quic Pay +
Suica +
V Pay +
Dankort +
Nanaco +
Waon +
Girocard +
BARCODE +

Additional resources

Take a look at the following resources to manage your payment accounts and learn more about the APIs for the supported providers:

Google Pay Apple Pay
Platforms Android iOS
Documentation Overview Overview
Console Google Pay Business Console Developer portal
Reference API reference Apple Pay API
Style guidelines Brand guidelines Buttons and Marks

mad-pay-flutter's People

Contributors

antol avatar korotkoff-studio avatar mit-73 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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

mad-pay-flutter's Issues

Compilation error

mad_pay: 2.2.0

Can't compile it. Cleaning did not help 8(

Running Gradle task 'assembleDebug'...
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\MadPayAndroidPlugin.kt: (53, 19): Unresolved reference: MadPay
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\MadPayAndroidPlugin.kt: (58, 19): Unresolved reference: MadPay
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\MadPayAndroidPlugin.kt: (66, 19): Unresolved reference: MadPay
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\MadPayAndroidPlugin.kt: (76, 19): Unresolved reference: MadPay
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\MadPayAndroidPlugin.kt: (98, 50): Unresolved reference: MadPay
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\MadPayAndroidPlugin.kt: (100, 50): Unresolved reference: MadPay
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\MadPayAndroidPlugin.kt: (101, 32): Unresolved reference: MadPay
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\MadPayAndroidPlugin.kt: (106, 52): Unresolved reference: MadPay
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\MadPayAndroidPlugin.kt: (108, 13): Unresolved reference: MadPay
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\MadPayAndroidPlugin.kt: (136, 53): Unresolved reference: MadPay
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\MadPayAndroidPlugin.kt: (140, 45): Unresolved reference: MadPay
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\MadPayAndroidPlugin.kt: (141, 41): Unresolved reference: MadPay
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\MadPayAndroidPlugin.kt: (157, 37): Cannot choose among the following candidates without completing type inference:
@HidesMembers public inline fun Iterable.forEach(action: (???) -> Unit): Unit defined in kotlin.collections @HidesMembers public inline fun Map.forEach(action: (Map.Entry) -> Unit): Unit defined in kotlin.collections
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\MadPayAndroidPlugin.kt: (158, 25): Unresolved reference: it
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\PaymentHelpers.kt: (3, 37): Unresolved reference: MadPay
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\PaymentHelpers.kt: (4, 37): Unresolved reference: Google
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\PaymentHelpers.kt: (14, 58): Unresolved reference: PaymentNetwork
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\PaymentHelpers.kt: (16, 17): Unresolved reference: PaymentNetwork
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\PaymentHelpers.kt: (17, 17): Unresolved reference: PaymentNetwork
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\PaymentHelpers.kt: (18, 17): Unresolved reference: PaymentNetwork
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\PaymentHelpers.kt: (19, 17): Unresolved reference: PaymentNetwork
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\PaymentHelpers.kt: (20, 17): Unresolved reference: PaymentNetwork
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\PaymentHelpers.kt: (25, 56): Unresolved reference: CardAuthMethods
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\PaymentHelpers.kt: (27, 17): Unresolved reference: CardAuthMethods
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\PaymentHelpers.kt: (28, 17): Unresolved reference: CardAuthMethods
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\PaymentHelpers.kt: (33, 55): Unresolved reference: TotalPriceStatus
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\PaymentHelpers.kt: (35, 17): Unresolved reference: TotalPriceStatus
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\PaymentHelpers.kt: (36, 17): Unresolved reference: TotalPriceStatus
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\PaymentHelpers.kt: (37, 17): Unresolved reference: TotalPriceStatus
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\PaymentHelpers.kt: (42, 50): Unresolved reference: CheckoutOption
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\PaymentHelpers.kt: (44, 17): Unresolved reference: CheckoutOption
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\PaymentHelpers.kt: (45, 17): Unresolved reference: CheckoutOption
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\PaymentHelpers.kt: (50, 53): Unresolved reference: PaymentNetwork
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\PaymentHelpers.kt: (58, 46): Unresolved reference: CardAuthMethods
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\RawMethods.kt: (16, 54): Unresolved reference: Google
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\RawMethods.kt: (16, 108): Unresolved reference: MadPay
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\RawMethods.kt: (24, 50): Unresolved reference: Google
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\RawMethods.kt: (24, 104): Unresolved reference: MadPay
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\RawMethods.kt: (53, 58): Unresolved reference: Google
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\RawMethods.kt: (63, 48): Unresolved reference: Google
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\RawMethods.kt: (77, 77): Unresolved reference: Google
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\RawMethods.kt: (111, 67): Unresolved reference: MadPay
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\RawMethods.kt: (120, 38): Unresolved reference: Google
e: C:\flutter.pub-cache\hosted\pub.dartlang.org\mad_pay_android-2.2.0\android\src\main\kotlin\ru\madbrains\mad_pay_android\RawMethods.kt: (120, 92): Unresolved reference: MadPay

FAILURE: Build failed with an exception.

  • What went wrong:
    Execution failed for task ':mad_pay_android:compileDebugKotlin'.

Compilation error. See log for more details

  • Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

  • Get more help at https://help.gradle.org

BUILD FAILED in 28s
Exception: Gradle task assembleDebug failed with exit code 1

Q: can we exclude intermediateSigningKey from token string?

Thank you for the plugin!
It works, it returns a token string and I am trying to send it to Yookassa.
But Yookassa answer that payment_method_token is invalid.
Support suggests excluding intermediateSigningKey from token string, is there a good way to do it?
Thank you.

Getting message: "environments" is not supported by Apple Pay

I'm getting an error when doing a preflight check:

 final bool req =  await pay.checkPayments();
      final bool req1 = await pay.checkActiveCard(
        paymentNetworks: <PaymentNetwork>[
          PaymentNetwork.visa,
          PaymentNetwork.mastercard,
        ],
      );

[VERBOSE-2:ui_dart_state.cc(199)] Unhandled Exception: Response(success: true, errorCode: notImplemented, message: "environments" is not supported by Apple Pay, data: null)

Any ideas why this could be happening?

Type CardAuthMethods not properly exported

One cannot define the list of allowed card authentication methods (Parameter to class GoogleParameters), as the required enum type CardAuthMethods is not properly exported by the mad pay library. As a work around one can import the type from the implementation file directly, but it should ideally be exported (exported and shown) from library mad_pay

Method get token of PaymentResponce class throws exception even if token does exist.

Здравствуйте!

It seems to happen because deepSearch method that is used by PaymentResponse.token looks only in first branches of "map tree".

This is the way I fixed it:

extension _MapX<K, V> on Map<K, V> {
  dynamic deepSearch(K key) {
    if (this[key] != null) return this[key];
    
    for (final dynamic value in values) {
      if (value is Map) {
        final token = value.deepSearch(key);
        if (token != null) return token;
      }
    }
  }
}

Not building for android on Apple silicon

Looks like there are issues getting this to build on a Mac with Apple silicon:
Output from building this for my android emulator:

Launching lib/main.dart on sdk gphone arm64 in debug mode...
lib/main.dart:1

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':mad_pay_android:generateDebugProto'.
> Could not resolve all files for configuration ':mad_pay_android:protobufToolsLocator_protoc'.
   > Could not find protoc-3.14.0-osx-aarch_64.exe (com.google.protobuf:protoc:3.14.0).
     Searched in the following locations:
         https://repo.maven.apache.org/maven2/com/google/protobuf/protoc/3.14.0/protoc-3.14.0-osx-aarch_64.exe

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 10s
Exception: Gradle task assembleSandboxDebug failed with exit code 1
Exited (sigterm)

Duplicate class com.google.protobuf when buildink apk for Android

I'm having an error when building an apk for Android if Mad Pay plugin is added in pubspec.yaml. The error only happens when building for Android, not for iOS.

I run:
flutter build apk

The error message I get:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:checkDevReleaseDuplicateClasses'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
   > Duplicate class com.google.protobuf.AbstractMessageLite found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.AbstractMessageLite$Builder found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.AbstractMessageLite$Builder$LimitedInputStream found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.AbstractParser found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.AbstractProtobufList found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.BooleanArrayList found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.ByteBufferWriter found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.ByteOutput found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.ByteString found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.ByteString$1 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.ByteString$ArraysByteArrayCopier found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.ByteString$BoundedByteString found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.ByteString$ByteArrayCopier found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.ByteString$ByteIterator found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.ByteString$CodedBuilder found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.ByteString$LeafByteString found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.ByteString$LiteralByteString found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.ByteString$Output found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.ByteString$SystemByteArrayCopier found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.CodedInputStream found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.CodedOutputStream found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.CodedOutputStream$1 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.CodedOutputStream$AbstractBufferedEncoder found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.CodedOutputStream$ArrayEncoder found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.CodedOutputStream$ByteOutputEncoder found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.CodedOutputStream$OutOfSpaceException found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.CodedOutputStream$OutputStreamEncoder found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.DoubleArrayList found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.ExperimentalApi found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.ExtensionLite found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.ExtensionRegistryFactory found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.ExtensionRegistryLite found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.ExtensionRegistryLite$ObjectIntPair found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.FieldSet found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.FieldSet$1 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.FieldSet$FieldDescriptorLite found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.FloatArrayList found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.GeneratedMessageLite found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.GeneratedMessageLite$1 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.GeneratedMessageLite$Builder found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.GeneratedMessageLite$DefaultInstanceBasedParser found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.GeneratedMessageLite$ExtendableBuilder found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.GeneratedMessageLite$ExtendableMessage found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.GeneratedMessageLite$ExtendableMessage$ExtensionWriter found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.GeneratedMessageLite$ExtendableMessageOrBuilder found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.GeneratedMessageLite$ExtensionDescriptor found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.GeneratedMessageLite$GeneratedExtension found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.GeneratedMessageLite$MethodToInvoke found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.GeneratedMessageLite$SerializedForm found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.IntArrayList found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Internal found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Internal$BooleanList found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Internal$DoubleList found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Internal$EnumLite found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Internal$EnumLiteMap found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Internal$FloatList found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Internal$IntList found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Internal$ListAdapter found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Internal$ListAdapter$Converter found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Internal$LongList found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Internal$MapAdapter found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Internal$MapAdapter$1 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Internal$MapAdapter$Converter found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Internal$MapAdapter$EntryAdapter found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Internal$MapAdapter$IteratorAdapter found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Internal$MapAdapter$SetAdapter found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Internal$ProtobufList found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.InvalidProtocolBufferException found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.LazyField found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.LazyField$1 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.LazyField$LazyEntry found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.LazyField$LazyIterator found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.LazyFieldLite found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.LazyStringArrayList found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.LazyStringArrayList$ByteArrayListView found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.LazyStringArrayList$ByteStringListView found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.LazyStringList found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.LongArrayList found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.MapEntryLite found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.MapEntryLite$1 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.MapEntryLite$Metadata found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.MapFieldLite found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.MessageLite found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.MessageLite$Builder found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.MessageLiteOrBuilder found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.MessageLiteToString found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.MutabilityOracle found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.MutabilityOracle$1 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.NioByteString found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.NioByteString$1 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Parser found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.ProtobufArrayList found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.ProtocolStringList found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.RopeByteString found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.RopeByteString$1 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.RopeByteString$Balancer found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.RopeByteString$PieceIterator found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.RopeByteString$RopeInputStream found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.SmallSortedMap found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.SmallSortedMap$1 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.SmallSortedMap$EmptySet found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.SmallSortedMap$EmptySet$1 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.SmallSortedMap$EmptySet$2 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.SmallSortedMap$Entry found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.SmallSortedMap$EntryIterator found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.SmallSortedMap$EntrySet found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.TextFormatEscaper found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.TextFormatEscaper$1 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.TextFormatEscaper$2 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.TextFormatEscaper$ByteSequence found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.UninitializedMessageException found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.UnknownFieldSetLite found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.UnmodifiableLazyStringList found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.UnmodifiableLazyStringList$1 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.UnmodifiableLazyStringList$2 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.UnsafeUtil found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.UnsafeUtil$1 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Utf8 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Utf8$Processor found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Utf8$SafeProcessor found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Utf8$UnpairedSurrogateException found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.Utf8$UnsafeProcessor found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.WireFormat found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.WireFormat$1 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.WireFormat$FieldType found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.WireFormat$FieldType$1 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.WireFormat$FieldType$2 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.WireFormat$FieldType$3 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.WireFormat$FieldType$4 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.WireFormat$JavaType found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.WireFormat$Utf8Validation found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.WireFormat$Utf8Validation$1 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.WireFormat$Utf8Validation$2 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)
     Duplicate class com.google.protobuf.WireFormat$Utf8Validation$3 found in modules jetified-protobuf-javalite-3.14.0 (com.google.protobuf:protobuf-javalite:3.14.0) and jetified-protobuf-lite-3.0.1 (com.google.protobuf:protobuf-lite:3.0.1)

     Go to the documentation to learn how to <a href="d.android.com/r/tools/classpath-sync-errors">Fix dependency resolution errors</a>.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1m 7s
Running Gradle task 'assembleDevRelease'...
Running Gradle task 'assembleDevRelease'... Done                   68.6s
Gradle task assembleDevRelease failed with exit code 1

This are the details of my configuration flutter doctor -v

[✓] Flutter (Channel stable, 2.0.1, on macOS 11.2.3 20D91 darwin-x64, locale en-GB)
    • Flutter version 2.0.1 at /Development/flutter
    • Framework revision c5a4b4029c (6 days ago), 2021-03-04 09:47:48 -0800
    • Engine revision 40441def69
    • Dart version 2.12.0

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Library/Android/sdk
    • Platform android-30, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.54.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.20.0

I've been trying to solve this but I can't find any reason why it is failing. Can you help me understand the error?

Thanks!!

D/plugins.madbrains.ru/mad_pay_channel(10071): ignoring exception: java.lang.IllegalStateException: Reply already submitted. See https://github.com/flutter/flutter/issues/29092 for details.

Здравствуйте! После нажатия на кнопку GPay и выбора карты для оплаты в консоль вываливается ошибка D/plugins.madbrains.ru/mad_pay_channel(10071): ignoring exception: java.lang.IllegalStateException: Reply already submitted. See https://github.com/flutter/flutter/issues/29092 for details.

Дальнейшее выполнение программы не идет.

Ошибку вызывает функция из андроид пакета, находится в файле MadPayAndroidPlugin.kt на строке 61:

  private fun invokeSuccessResult(@Nullable data: ByteArray?) {
        val res = MadPay.Response.newBuilder().setSuccess(true)
        if (data != null)
            res.data = ByteString.copyFrom(data)

        ignoreIllegalState { activeResult.success(res.build().toByteArray()) }
    } 

Is there test MerchantID we can use?

I am creating an application to use commerce system but i don't have a merchantID, thing is complex and it takes time.

Is there test MerchantID you can provide so we can test if the system workds?

ApplePayButton Not working when the app is live

When using simulation the library works fine, but when testing the code on a real machine this issue appears

flutter: ApplePayButton, Error:
Response(success: false, errorCode: cancelled, message: User cancelled the payment, data: null)

Typo for contact email address property

Hello,

I think that I found a major typo in this plugin. The typo is in the contact class. The email address property is called emailAddres with one s. It should be emailAddress with 2 s. Other than that, the plugin is great!

Thank you and hopefully, the fix is updated soon since typos is kind of a freak out for me 😅

dependencies conflict

hello , i got this message whenever trying to update flutter_svg in my project, i guess its the time to upgrade mad_pay flutter_svg
Because no versions of mad_pay match >2.2.14 <3.0.0 and mad_pay 2.2.14 depends on mad_pay_android ^2.2.14, mad_pay ^2.2.14 requires mad_pay_android ^2.2.14. Because mad_pay_android 2.2.14 depends on flutter_svg ^1.1.6 and no versions of mad_pay_android match >2.2.14 <3.0.0, mad_pay_android ^2.2.14 requires flutter_svg ^1.1.6. Thus, mad_pay ^2.2.14 requires flutter_svg ^1.1.6. So, because youm depends on both flutter_svg ^2.0.4 and mad_pay ^2.2.14, version solving failed.

PlatformException when running in release mode on Android

I copied your code from the example folder and tried to run it on a real device (Pixel 3a, Android 11). In debug mode everything works fine, but in release mode I got the following runtime error:

PlatformException(error, Field environment_ for g.a.a.x not found. Known fields are [private int g.a.a.x.e, private static final g.a.a.x g.a.a.x.f, private static volatile b.b.c.a1 g.a.a.x.g], null, java.lang.RuntimeException: Field environment_ for g.a.a.x not found. Known fields are [private int g.a.a.x.e, private static final g.a.a.x g.a.a.x.f, private static volatile b.b.c.a1 g.a.a.x.g]
I/flutter ( 1527):    at b.b.c.v0.a(Unknown Source:72)
I/flutter ( 1527):     at b.b.c.v0.a(Unknown Source:655)
I/flutter ( 1527):     at b.b.c.v0.a(Unknown Source:12)
I/flutter ( 1527):     at b.b.c.k0.a(Unknown Source:60)
I/flutter ( 1527):     at b.b.c.k0.a(Unknown Source:49)
I/flutter ( 1527):     at b.b.c.d1.a(Unknown Source:17)
I/flutter ( 1527):     at b.b.c.d1.a(Unknown Source:4)
I/flutter ( 1527):     at b.b.c.z.a(Unknown Source:12)
I/flutter ( 1527):     at b.b.c.z.a(Unknown Source:6)
I/flutter ( 1527):     at g.a.a.x.a(Unknown Source:2)
I/flutter ( 1527):     at g.a.a.i0.a(Unknown Source:75)
I/flutter ( 1527):     at d.a.c.a.j$a.a(Unknown Source:17)
I/flutter ( 1527):     at io.flutter.embedding.engine.e.b.a(Unknown Source:57)
I/flutter ( 1527):     at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(Unknown Source:4)
I/flutter ( 1527):     at android.os.MessageQueue.nativePollOnce(Native Method)
I/flutter ( 1527):     at android.os.MessageQueue.next(MessageQueue.java:335)
I/flutter ( 1527):     at android.os.Looper.loop(Looper.java:183)
I/flutter ( 1527):     at android.app.ActivityThread.main(ActivityThread.java:7660)
I/flutter ( 1527):     at java.lang.reflect.Method.invoke(Native Method)
I/flutter ( 1527):     at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:592)
I/flutter ( 1527):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:947)
I/flutter ( 1527):  )
I/flutter ( 1527): 
I/flutter ( 1527):  #0   StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:581)
I/flutter ( 1527):  #1   MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:158)
I/flutter ( 1527):  #2   <asynchronous suspension>
I/flutter ( 1527):  #3   MethodChannel.invokeListMethod (package:flutter/src/services/platform_channel.dart:344)
I/flutter ( 1527):  #4   <asynchronous suspension>
I/flutter ( 1527):  #5   MadPay._invokeChannel (package:mad_pay/src/mad_pay.dart:27)
I/flutter ( 1527):  #6   <asynchronous suspension>
I/flutter ( 1527):  #7   MadPay._setEnvironment (package:mad_pay/src/mad_pay.dart:34)

Output of flutter doctor -v:

[✓] Flutter (Channel stable, 2.0.4, on macOS 11.2.3 20D91 darwin-arm, locale en-RU)
    • Flutter version 2.0.4 at /Users/svetozar/soft/flutter
    • Framework revision b1395592de (7 days ago), 2021-04-01 14:25:01 -0700
    • Engine revision 2dce47073a
    • Dart version 2.12.2

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/svetozar/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.4, Build version 12D4e
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.55.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.21.0

[✓] Connected device (3 available)
    • Pixel 3a (mobile)         • 99LAY1APNW    • android-arm64  • Android 11 (API 30)
    • sdk gphone arm64 (mobile) • emulator-5554 • android-arm64  • Android 11 (API 30) (emulator)
    • Chrome (web)              • chrome        • web-javascript • Google Chrome 89.0.4389.114

• No issues found!

Intl Package dependency

When using mad_pay with the latest intl version (0.18.0), the dependencies fail:

Because no versions of mad_pay match >2.2.14 <3.0.0 and mad_pay 2.2.14 depends on mad_pay_android ^2.2.14, mad_pay ^2.2.14 requires mad_pay_android ^2.2.14.
And because no versions of mad_pay_android match >2.2.14 <3.0.0, mad_pay ^2.2.14 requires mad_pay_android 2.2.14.
And because mad_pay_android 2.2.14 depends on flutter_localizations from sdk which depends on intl 0.17.0, mad_pay ^2.2.14 requires intl 0.17.0.

So we can't have both packakges updated to the latest version:
So, because <app> depends on both intl ^0.18.0 and mad_pay ^2.2.14, version solving failed.

Is it possible to update the dependencies on the package?

Thank you,

Incorrect value for the [paymentToken.signature] parameter, verification failed

When i first run my application on iphone, AS show me message:
`General] Payment request is invalid: Error Domain=PKPassKitErrorDomain Code=1 "Invalid in-app payment request" UserInfo={NSLocalizedDescription=Invalid in-app payment request, NSUnderlyingError=0x2806d7f00 {Error Domain=PKPassKitErrorDomain Code=1 "PKPaymentRequest must contain a property 'countryCode' of type 'NSString' within '(
AC,
AD,
AE,
AF,
AG,
AI,
AL,
AM,
AO,
AQ,
AR,
AS,
AT,
AU,
AW,
AX,
AZ,
BA,
BB,
BD,
BE,
BF,
BG,
BH,
BI,
BJ,
BL,
BM,
BN,
BO,
BQ,
BR,
BS,
BT,
BV,
BW,
BY,
BZ,
CA,
CC,
CD,
CF,
CG,
CH,
CI,
CK,
CL,
CM,
CN,
CO,
CP,
CR,
CU,
CV,
CW,
CX,
CY,
CZ,
DE,
DG,
DJ,
DK,
DM,
DO,
DZ,
EA,
EC,
EE,
EG,
EH,
ER,
ES,
ET,
FI,
FJ,
FK,
FM,
FO,
FR,
GA,
GB,
GD,
GE,
GF,
GG,
GH,
GI,
GL,
GM,
GN,
GP,
GQ,
GR,
GS,
GT,
GU,
GW,
GY,
HK,
HM,
HN,
HR,
HT,
HU,
IC,
ID,
IE,
IL,
IM,
IN,
IO,
IQ,
IR,
IS,
IT,
JE,
JM,
JO,
JP,
KE,
KG,
KH,
KI,
KM,
KN,
KP,
KR,
KW,
KY,
KZ,
LA,
LB,
LC,
LI,
LK,
LR,
LS,
LT,
LU,
LV,
LY,
MA,
MC,
MD,
ME,
MF,
MG,
MH,
MK,
ML,
MM,
MN,
MO,
MP,
MQ,
MR,
MS,
MT,
MU,
MV,
MW,
MX,
MY,
MZ,
NA,
NC,
NE,
NF,
NG,
NI,
NL,
NO,
NP,
NR,
NU,
NZ,
OM,
PA,
PE,
PF,
PG,
PH,
PK,
PL,
PM,
PN,
PR,
PS,
PT,
PW,
PY,
QA,
RE,
RO,
RS,
RU,
RW,
SA,
SB,
SC,
SD,
SE,
SG,
SH,
SI,
SJ,
SK,
SL,
SM,
SN,
SO,
SR,
SS,
ST,
SV,
SX,
SY,
SZ,
TA,
TC,
TD,
TF,
TG,
TH,
TJ,
TK,
TL,
TM,
TN,
TO,
TR,
TT,
TV,
TW,
TZ,
UA,
UG,
UM,
US,
UY,
UZ,
VA,
VC,
VE,
VG,
VI,
VN,
VU,
WF,
WS,
XK,
YE,
YT,
ZA,
ZM,
ZW
)'" UserInfo={NSLocalizedDescription=PKPaymentRequest must contain a property 'countryCode' of type 'NSString' within '(
AC,
AD,
AE,
AF,
AG,
AI,
AL,
AM,
AO,
AQ,
AR,
AS,
AT,
AU,
AW,
AX,
AZ,
BA,
BB,
BD,
BE,
BF,
BG,
BH,
BI,
BJ,
BL,
BM,
BN,
BO,
BQ,
BR,
BS,
BT,
BV,
BW,
BY,
BZ,
CA,
CC,
CD,
CF,
CG,
CH,
CI,
CK,
CL,
CM,
CN,
CO,
CP,
CR,
CU,
CV,
CW,
CX,
CY,
CZ,
DE,
DG,
DJ,
DK,
DM,
DO,
DZ,
EA,
EC,
EE,
EG,
EH,
ER,
ES,
ET,
FI,
FJ,
FK,
FM,
FO,
FR,
GA,
GB,
GD,
GE,
GF,
GG,
GH,
GI,
GL,
GM,
GN,
GP,
GQ,
GR,
GS,
GT,
GU,
GW,
GY,
HK,
HM,
HN,
HR,
HT,
HU,
IC,
ID,
IE,
IL,
IM,
IN,
IO,
IQ,
IR,
IS,
IT,
JE,
JM,
JO,
JP,
KE,
KG,
KH,
KI,
KM,
KN,
KP,
KR,
KW,
KY,
KZ,
LA,
LB,
LC,
LI,
LK,
LR,
LS,
LT,
LU,
LV,
LY,
MA,
MC,
MD,
ME,
MF,
MG,
MH,
MK,
ML,
MM,
MN,
MO,
MP,
MQ,
MR,
MS,
MT,
MU,
MV,
MW,
MX,
MY,
MZ,
NA,
NC,
NE,
NF,
NG,
NI,
NL,
NO,
NP,
NR,
NU,
NZ,
OM,
PA,
PE,
PF,
PG,
PH,
PK,
PL,
PM,
PN,
PR,
PS,
PT,
PW,
PY,
QA,
RE,
RO,
RS,
RU,
RW,
SA,
SB,
SC,
SD,
SE,
SG,
SH,
SI,
SJ,
SK,
SL,
SM,
SN,
SO,
SR,
SS,
ST,
SV,
SX,
SY,
SZ,
TA,
TC,
TD,
TF,
TG,
TH,
TJ,
TK,
TL,
TM,
TN,
TO,
TR,
TT,
TV,
TW,
TZ,
UA,
UG,
UM,
US,
UY,
UZ,
VA,
VC,
VE,
VG,
VI,
VN,
VU,
WF,
WS,
XK,
YE,
YT,
ZA,
ZM,
ZW
)'}}}

Unhandled Exception: Response(success: true, errorCode: notImplemented, message: "environments" is not supported by Apple Pay, data: null)`

After that apple pay is showing but I can't proceed payment in bank, because it returns message :
"Некорректное значение параметра [paymentToken.signature], проверка не пройдена."
Am I doing something wrong?

Automatic payment

This is actually a question.
Is it possible to enable automatic payment for the user in the application for apple pay, if I know that he needs to withdraw from his specified account at a specific time (for example, once a month)?

Failure delivering result ResultInfo

I have a problem to implement mad_pay with flutter on Android Application.
I already followed the guide and example, but I can't receive response after payment.
I'm using a Test enviroment and android test cards, and I have configured a MainActivity with onActivityResult.

I have configured the google pay button in this form:

googlePayButton: GooglePayButton(
                  width: 290,
                  height: 120,
                  style: GooglePayButtonStyle.black,
                  type: GooglePayButtonType.pay,
                  request: PaymentRequest.google(
                    paymentNetworks: <PaymentNetwork>[
                      PaymentNetwork.amex,
                      PaymentNetwork.discover,
                      PaymentNetwork.interac,
                      PaymentNetwork.jcb,
                      PaymentNetwork.mastercard,
                      PaymentNetwork.visa,
                      PaymentNetwork.mir,
                    ],
                    google: googleParameters,
                    currencyCode: 'USD',
                    countryCode: 'US',
                    paymentItems: items,
                  ),
                  onPaymentResult: (PaymentResponse? req) {
                    setState(() {
                      result = 'GooglePayButton, Try to pay:\n${req?.token}';
                    });
                  },
                  onError: (Object? e) {
                    setState(() {
                      result = 'GooglePayButton, Error:\n$e';
                    });
                  },

I have configured MainActivity:

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
        Log.i(TAG, "Card info: $resultCode - $requestCode - $data");

         if(resultCode != RESULT_CANCELED && data != null){
             super.onActivityResult(requestCode, resultCode, data);
         }
}

I'm using mad_pay 2.2.12, I when I finalized the pay, the app doesn't enter onPaymentResult neither onError, however onActivityResult I can see:

Card info: -1 - 991 - Intent { (has extras) }

And after I receive

[        ] E/AndroidRuntime(20743): java.lang.RuntimeException: Failure delivering result ResultInfo{who=null, request=991, result=-1, data=Intent { (has extras) }} to activity {com.media/com.media.MainActivity}: java.lang.NullPointerException
[        ] E/AndroidRuntime(20743): 	at android.app.ActivityThread.deliverResults(ActivityThread.java:5397)
[        ] E/AndroidRuntime(20743): 	at android.app.ActivityThread.handleSendResult(ActivityThread.java:5438)
[        ] E/AndroidRuntime(20743): 	at android.app.servertransaction.ActivityResultItem.execute(ActivityResultItem.java:51)
[        ] E/AndroidRuntime(20743): 	at android.app.servertransaction.TransactionExecutor.executeCallbacks(TransactionExecutor.java:140)
[        ] E/AndroidRuntime(20743): 	at android.app.servertransaction.TransactionExecutor.execute(TransactionExecutor.java:100)
[        ] E/AndroidRuntime(20743): 	at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2326)
[        ] E/AndroidRuntime(20743): 	at android.os.Handler.dispatchMessage(Handler.java:106)
[        ] E/AndroidRuntime(20743): 	at android.os.Looper.loop(Looper.java:263)
[        ] E/AndroidRuntime(20743): 	at android.app.ActivityThread.main(ActivityThread.java:8299)
[        ] E/AndroidRuntime(20743): 	at java.lang.reflect.Method.invoke(Native Method)
[        ] E/AndroidRuntime(20743): 	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:612)
[        ] E/AndroidRuntime(20743): 	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1006)
[        ] E/AndroidRuntime(20743): Caused by: java.lang.NullPointerException
[        ] E/AndroidRuntime(20743): 	at io.flutter.plugins.pay_android.GooglePayHandler.handlePaymentSuccess(GooglePayHandler.kt:216)
[        ] E/AndroidRuntime(20743): 	at io.flutter.plugins.pay_android.GooglePayHandler.onActivityResult(GooglePayHandler.kt:180)
[        ] E/AndroidRuntime(20743): 	at io.flutter.embedding.engine.FlutterEngineConnectionRegistry$FlutterEngineActivityPluginBinding.onActivityResult(FlutterEngineConnectionRegistry.java:805)
[        ] E/AndroidRuntime(20743): 	at io.flutter.embedding.engine.FlutterEngineConnectionRegistry.onActivityResult(FlutterEngineConnectionRegistry.java:428)
[        ] E/AndroidRuntime(20743): 	at io.flutter.embedding.android.FlutterActivityAndFragmentDelegate.onActivityResult(FlutterActivityAndFragmentDelegate.java:807)
[        ] E/AndroidRuntime(20743): 	at io.flutter.embedding.android.FlutterFragment.onActivityResult(FlutterFragment.java:964)
[        ] E/AndroidRuntime(20743): 	at io.flutter.embedding.android.FlutterFragmentActivity.onActivityResult(FlutterFragmentActivity.java:566)
[        ] E/AndroidRuntime(20743): 	at com.media.MainActivity.onActivityResult(MainActivity.kt:46)
[        ] E/AndroidRuntime(20743): 	at android.app.Activity.dispatchActivityResult(Activity.java:8464)
[        ] E/AndroidRuntime(20743): 	at android.app.ActivityThread.deliverResults(ActivityThread.java:5390)
[        ] E/AndroidRuntime(20743): 	... 11 more

Thanks

Samsung Pay

Do you have plans to integrate Samsung Pay as well?

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.