flutter_stripe_payment icon indicating copy to clipboard operation
flutter_stripe_payment copied to clipboard

Getting error when StripePayment.setOptions android native with flutter module

Open seyadubabu opened this issue 4 years ago • 7 comments

E/MethodChannel#stripe_payment: Failed to handle method call java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter context at com.stripe.android.Stripe.(Stripe.kt) at com.stripe.android.Stripe.(Stripe.kt:75) at com.stripe.android.Stripe.(Stripe.kt) at com.gettipsi.stripe.StripeModule.init(StripeModule.java:97) at de.jonasbark.stripepayment.StripePaymentPlugin.onMethodCall(StripePaymentPlugin.kt:16) at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:230) at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85) at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:692) at android.os.MessageQueue.nativePollOnce(Native Method) at android.os.MessageQueue.next(MessageQueue.java:328) at android.os.Looper.loop(Looper.java:173) at android.app.ActivityThread.main(ActivityThread.java:6802) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1103) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:964) E/flutter: [ERROR:flutter/lib/ui/ui_dart_state.cc(166)] Unhandled Exception: PlatformException(error, Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter context, null) #0 StandardMethodCodec.decodeEnvelope (package:flutter/src/services/message_codecs.dart:572:7) #1 MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:161:18) #2 MethodChannel.invokeMethod (package:flutter/src/services/platform_channel.dart:334:12) #3 StripePayment.setOptions (package:stripe_payment/src/stripe_payment.dart:22:14) #4 _PaymentScreenState.initState (package:orderingsystemmodule/PaymentScreen.dart:28:19) #5 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4684:58) #6 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4520:5) #7 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3490:14) #8 Element.updateChild (package:flutter/src/widgets/framework.dart:3258:18) #9 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5874:14) #10 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3490:14) #11 Element.updateChild (package:flutter/src/widgets/framework.dart:3258:18) #12 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4571:16) #13 Element.rebuild (package:flutter/src/widgets/framework.dart:4262:5) #14 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4525:5) #15 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4520:5) #16 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3490:14) #17 Element.updateChild (package:flutter/src/widgets/framework.dart:3258:18) #18 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5874:14) #19 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3490:14) #20 Element.updateChild (package:flutter/src/widgets/framework.dart:3258:18) #21 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5874:14) #22 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3490:14) #23 Element.updateChild (package:flutter/src/widgets/framework.dart:3258:18) #24 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4571:16) #25 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4719:11) #26 Element.rebuild (package:flutter/src/widgets/framework.dart:4262:5) #27 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4525:5) #28 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4710:11) #29 ComponentElement.mount (package:flutter/src/widgets/framework.dart:4520:5) #30 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3490:14) #31 Element.updateChild (package:flutter/src/widgets/framework.dart:3258:18) #32 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5874:14) #33 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3490:14) #34 Element.updateChild (package:flutter/src/widgets/framework.dart:3258:18) #35 SingleChildRenderObjectElement.mount (package:flutter/src/widgets/framework.dart:5874:14) #36 Element.inflateWidget (package:flutter/src/widgets/framework.dart:3490:14) #37 Element.updateChild (package:flutter/src/widgets/framework.dart:3258:18) #38 ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4571:16) #39 StatefulElement.performRebuild (package:flutter/src/widgets/framework.dart:4719:11) #40 Element.rebuild (package:flutter/src/widgets/framework.dart:4262:5) #41 ComponentElement._firstBuild (package:flutter/src/widgets/framework.dart:4525:5) #42 StatefulElement._firstBuild (package:flutter/src/widgets/framework.dart:4710:11) #43 ComponentElement.mount (package:flutter/src/widgets/fra

seyadubabu avatar Aug 28 '20 15:08 seyadubabu

I have same issues in live mode

curlyeto avatar Sep 16 '20 13:09 curlyeto

Then your parameters are wrong. What are you using to initialize StripePayment?

jonasbark avatar Sep 16 '20 14:09 jonasbark

Inıtilaze stripe payment method. Test publishable key is working but live publishable key is not working.

 StripePayment.setOptions(
      StripeOptions(
        publishableKey: StripeClient.stripePublishableKeyLive,
        merchantId: "Live",
        androidPayMode: 'live' //production  (in live mode)
      )
    );
 StripePayment.paymentRequestWithNativePay(
      androidPayOptions: AndroidPayPaymentRequest(
          totalPrice: '2.29',
          currencyCode: "EUR",
         ),
      applePayOptions: ApplePayPaymentOptions(
        currencyCode: 'EUR',
        items: [
          ApplePayItem(
            label: 'Koalassist',
            amount: '2.29',
          )
        ],
      ),
    ).then((token) {
      setState(() {
        StripePayment.completeNativePayRequest().then((_) {}).catchError(setError);
        _paymentToken = token;
	....
      });
    }).catchError(setError);

curlyeto avatar Sep 16 '20 14:09 curlyeto

Test mode option is

 StripePayment.setOptions(
      StripeOptions(
        publishableKey: StripeClient.stripePublishableKeyTest,
        merchantId: "Test",
        androidPayMode: 'test' //production  (in live mode)
      )
    );

curlyeto avatar Sep 16 '20 14:09 curlyeto

did you solved this error?

ArnoldRafi avatar Nov 18 '20 10:11 ArnoldRafi

@curlyeto Replace Live word for 'production' and set merchantId: 'merchant.thegreatestmarkeplace',

 StripePayment.setOptions(
      StripeOptions(
        publishableKey: StripeClient.stripePublishableKeyLive,
        merchantId: 'merchant.thegreatestmarkeplace',,
        androidPayMode: 'production' //production  (in live mode)
      )
    );

it's working for me

AYJF avatar May 01 '21 19:05 AYJF

@curlyeto Replace Live word for 'production' and set merchantId: 'merchant.thegreatestmarkeplace',

 StripePayment.setOptions(
      StripeOptions(
        publishableKey: StripeClient.stripePublishableKeyLive,
        merchantId: 'merchant.thegreatestmarkeplace',,
        androidPayMode: 'production' //production  (in live mode)
      )
    );

it's working for me

Were you able to put it into production? I Have an ERROR: Request Failed - Unexpected developer error, please try again later. My question is: in merchantId (Google Pay MerchantId or Stripe MerchantId). And where I inform Google Pay, the integration with Stripe, Google Pay has already authorized my application for production. The documentation is not clear about the steps to put into production.

joelsonrocha avatar May 13 '21 16:05 joelsonrocha