2

I have implemented the google pay library to scan debit/credit card details, its working fine in the QA environment but when I try to test it on production I am facing a crash.

https://developers.google.com/pay/payment-card-recognition/debit-credit-card-recognition

private fun createPaymentsClient(activity: Activity): PaymentsClient {
        val walletOptions = Wallet.WalletOptions.Builder()
                           .setEnvironment(WalletConstants.ENVIRONMENT_PRODUCTION)
                           .build()
        return Wallet.getPaymentsClient(activity, walletOptions)
    }

when I change environment to "WalletConstants.ENVIRONMENT_PRODUCTION" from "setEnvironment(Constants.PAYMENTS_ENVIRONMENT)" facing the crash below is crash log

FATAL EXCEPTION: main
                                                                                                        Process: com.dhl.pay.google, PID: 5219
                                                                                                       kotlin.UninitializedPropertyAccessException: lateinit property cardRecognitionPendingIntent has not been initialized
at com.dhl.pay.google.MainActivity.startPaymentCardOcr(MainActivity.kt:80)                                                                                                  at com.dhl.pay.google.MainActivity.onCreate$lambda$0(MainActivity.kt:38)                            at com.dhl.pay.google.MainActivity.$r8$lambda$9ZIx61lkQCSM4mTsrQGymHGsZ_g(Unknown Source:0)                             at com.dhl.pay.google.MainActivity$$ExternalSyntheticLambda0.onClick(Unknown Source:2)          at android.view.View.performClick(View.java:7488)
at android.view.View.performClickInternal(View.java:7464)                                                                                                  at android.view.View.access$3700(View.java:841)
at android.view.View$PerformClick.run(View.java:28911)
at android.os.Handler.handleCallback(Handler.java:938)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:233)
at android.os.Looper.loop(Looper.java:344)
at android.app.ActivityThread.main(ActivityThread.java:8212)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034)
                                                                                                    
Hitesh Dhamshaniya
  • 2,088
  • 2
  • 16
  • 23
  • Found a note in the document. 'Important: The payment card recognition API requires production access to Google Pay API for Android.' – MMK Mar 20 '23 at 09:36

0 Answers0