Andorid SCA Activity Not Showing After Called

I am having trouble getting the BuyerVerification function to work.

I have followed the docs (https://developer.squareup.com/docs/in-app-payments-sdk/verify-buyer) ( aside from changing the version to 1.5.1 (instead of the outdated 1.3 that crashes when called)).

I am using android (java), my code is shown below. When it is called it no errors appear in the debug console (shown below) and the activity does not show.

Also as a feat request could you add a setable BackgroundHandler like the card-entry classes does for card nonces ( CardEntry.setCardNonceBackgroundHandler)?

Any help will be appreciated

  Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == CardEntry.DEFAULT_CARD_ENTRY_REQUEST_CODE) {
        CardEntry.handleActivityResult(data, result -> {
            if (result.isSuccess()) {
                try {
                    CardDetails cardResult = result.getSuccessValue();
                    nonce = cardResult.getNonce();
                    JSONObject address = user.getJSONObject("");
                    SquareIdentifier squareIdentifier = new SquareIdentifier.LocationToken();
                    Contact contact = new Contact.Builder()
                            .familyName(user.getString(""))
                            .email(user.getString(""))
                            .addressLines(Arrays.asList(address.getString(""), ""))
                            .city(address.getString(""))
                            .countryCode(Country.GB)
                            .postalCode(address.getString(""))
                            .phone(user.getString(""))
                            .build(user.getString(""));

                    VerificationParameters params = new VerificationParameters(nonce,
                            new BuyerAction.Charge(new Money((int) (Price), Currency.GBP)),
                            squareIdentifier,
                            contact);

                    BuyerVerification.verify(this, params);

                } catch (JSONException | GeneralSecurityException | IOException e) {
                    e.printStackTrace();
                }
            }
        });
    }
    if (requestCode == BuyerVerification.DEFAULT_BUYER_VERIFICATION_REQUEST_CODE) {
        BuyerVerification.handleActivityResult(data, result -> {
            if (result.isSuccess()) {
                Log.d("result", result.getSuccessValue().getVerificationToken());
            } else if (result.isError()) {
                Log.d("buyer_verification", "Error on verification:"
                        + result.getErrorValue().getMessage());
            }

        });
    }
}

Debug:

D/InputMethodManager: startInputInner - Id : 0
I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
D/InputTransport: Input channel constructed: 'ClientS', fd=125
Input channel destroyed: 'ClientS', fd=126
W/IInputConnectionWrapper: endBatchEdit on inactive InputConnection
endBatchEdit on inactive InputConnection
I/ViewRootImple40cad0[CardEntryActivity]: ViewPostIme key 0
I/ViewRootImple40cad0[CardEntryActivity]: ViewPostIme key 1
I/ViewRootImple40cad0[CardEntryActivity]: ViewPostIme key 0
I/ViewRootImple40cad0[CardEntryActivity]: ViewPostIme key 1
I/ViewRootImple40cad0[CardEntryActivity]: ViewPostIme key 0
D/InputMethodManager: prepareNavigationBarInfo() DecorView59940df[CardEntryActivity]
getNavigationBarColor() -16711423
V/InputMethodManager: Starting input: tba=com.redact
ic=com.android.internal.widget.EditableInputConnection547f0e2 mNaviBarColor -16711423         mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
D/InputMethodManager: startInputInner - Id : 0
I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
D/InputTransport: Input channel constructed: 'ClientS', fd=128
Input channel destroyed: 'ClientS', fd=125
W/IInputConnectionWrapper: sendKeyEvent on inactive InputConnection
W/IInputConnectionWrapper: getExtractedText on inactive InputConnection
W/IInputConnectionWrapper: getSelectedText on inactive InputConnection
W/IInputConnectionWrapper: getCursorCapsMode on inactive InputConnection
W/IInputConnectionWrapper: requestCursorAnchorInfo on inactive InputConnection
I/ViewRootImple40cad0[CardEntryActivity]: [DP] cancelDraw         sqip.internal.BaseCardEntryActivity$layoutChangeListener$1cf5dcec  isViewVisible: true
I/ViewRootImple40cad0[CardEntryActivity]: ViewPostIme pointer 0
I/ViewRootImple40cad0[CardEntryActivity]: ViewPostIme pointer 1
D/InputMethodManager: HSIFW - flag : 0
D/InsetsSourceConsumer: setRequestedVisible: visible=false, type=13,         host=com.redact/sqip.internal.CardEntryActivity, from=android.view.InsetsSourceConsumer.hide:236     android.view.ImeInsetsSourceConsumer.hide:101 android.view.InsetsController.hideDirectly:1430 android.view.InsetsController.controlAnimationUnchecked:1112 android.view.InsetsController.applyAnimation:1417 android.view.InsetsController.hide:984 android.view.ViewRootImpl$ViewRootHandler.handleMessage:6150 android.os.Handler.dispatchMessage:106 android.os.Looper.loop:246 android.app.ActivityThread.main:8512 
I/ViewRootImple40cad0[CardEntryActivity]: [DP] cancelDraw sqip.internal.BaseCardEntryActivity$layoutChangeListener$1cf5dcec  isViewVisible: true
I/SurfaceControl: nativeRelease nativeObject s[-5476376647052807648]
nativeRelease nativeObject e[-5476376647052807648]
V/FA: Recording user engagement, ms: 14976
V/FA: Connecting to remote service
V/FA: Activity paused, time: 61695685
V/FA: Connection attempt already in progress
I/ViewRootImpla9dc04f[MenuActivity]: stopped(false) old=true
I/ViewRootImpla9dc04f[MenuActivity]: stopped(false) old=false
V/FA: Activity resumed, time: 61695805
I/ViewRootImple40cad0[CardEntryActivity]: MSG_WINDOW_FOCUS_CHANGED 0 1
I/SurfaceControl: assignNativeObject: nativeObject = 0 Surface(name=null)/0x50e6c5b / android.view.SurfaceControl.readFromParcel:1115 android.view.IWindowSession$Stub$Proxy.relayout:1820 android.view.ViewRootImpl.relayoutWindow:9005 android.view.ViewRootImpl.performTraversals:3360 android.view.ViewRootImpl.doTraversal:2618 android.view.ViewRootImpl$TraversalRunnable.run:9971 android.view.Choreographer$CallbackRecord.run:1010 android.view.Choreographer.doCallbacks:809 android.view.Choreographer.doFrame:744 android.view.Choreographer$FrameDisplayEventReceiver.run:995 
I/ViewRootImpla9dc04f[MenuActivity]: Relayout returned: old=(0,0,720,1600) new=(0,0,720,1600) req=(720,1600)0 dur=10 res=0x7 s={true -5476376642221122848} ch=true fn=-1
I/ViewRootImpla9dc04f[MenuActivity]: [DP] dp(1) 1 android.view.ViewRootImpl.reportNextDraw:10957 android.view.ViewRootImpl.performTraversals:3845 android.view.ViewRootImpl.doTraversal:2618 
[DP] pd() Asnyc report
I/ViewRootImpla9dc04f[MenuActivity]: [DP] pdf(0) 1 android.view.ViewRootImpl.lambda$performDraw$1$ViewRootImpl:4668 android.view.-$$Lambda$ViewRootImpl$DJd0VUYJgsebcnSohO6h8zc_ONI.run:6 android.os.Handler.handleCallback:938 
[DP] rdf()
I/SurfaceControl: nativeRelease nativeObject s[-5476376647052903408]
nativeRelease nativeObject e[-5476376647052903408]
I/SurfaceControl: nativeRelease nativeObject s[-5476376647052877088]
nativeRelease nativeObject e[-5476376647052877088]
I/SurfaceControl: nativeRelease nativeObject s[-5476376647052836880]
nativeRelease nativeObject e[-5476376647052836880]
V/FA: Connection attempt already in progress
V/FA: Connection attempt already in progress
D/FA: Connected to remote service
V/FA: Processing queued up service tasks: 4
I/ViewRootImpla9dc04f[MenuActivity]: MSG_WINDOW_FOCUS_CHANGED 1 1
D/InputMethodManager: prepareNavigationBarInfo() DecorViewb24416[MenuActivity]
getNavigationBarColor() -16711423
D/InputMethodManager: prepareNavigationBarInfo() DecorViewb24416[MenuActivity]
getNavigationBarColor() -16711423
V/InputMethodManager: Starting input: tba=com.redact ic=null mNaviBarColor -16711423     mIsGetNaviBarColorSuccess true , NavVisible : true , NavTrans : false
D/InputMethodManager: startInputInner - Id : 0
I/InputMethodManager: startInputInner - mService.startInputOrWindowGainedFocus
D/InputTransport: Input channel constructed: 'ClientS', fd=154
Input channel destroyed: 'ClientS', fd=128
I/SurfaceControl: nativeRelease nativeObject s[-5476376647052807648]
nativeRelease nativeObject e[-5476376647052807648]
I/SurfaceControl: nativeRelease nativeObject s[-5476376647052808432]
nativeRelease nativeObject e[-5476376647052808432]
nativeRelease nativeObject s[-5476376647052902176]
nativeRelease nativeObject e[-5476376647052902176]
W/libEGL: EGLNativeWindowType 0xb400007580396c40 disconnect failed
I/SurfaceControl: nativeRelease nativeObject s[-5476376647052899040]
nativeRelease nativeObject e[-5476376647052899040]
I/SurfaceControl: assignNativeObject: nativeObject = 0 Surface(name=null)/0xc65462f / android.view.SurfaceControl.readFromParcel:1115 android.view.IWindowSession$Stub$Proxy.relayout:1810 android.view.ViewRootImpl.relayoutWindow:9005 android.view.ViewRootImpl.performTraversals:3360 android.view.ViewRootImpl.doTraversal:2618 android.view.ViewRootImpl$TraversalRunnable.run:9971 android.view.Choreographer$CallbackRecord.run:1010 android.view.Choreographer.doCallbacks:809 android.view.Choreographer.doFrame:744 android.view.Choreographer$FrameDisplayEventReceiver.run:995 
I/SurfaceControl: assignNativeObject: nativeObject = 0 Surface(name=null)/0xe1800af / android.view.SurfaceControl.readFromParcel:1115 android.view.IWindowSession$Stub$Proxy.relayout:1820 android.view.ViewRootImpl.relayoutWindow:9005 android.view.ViewRootImpl.performTraversals:3360 android.view.ViewRootImpl.doTraversal:2618 android.view.ViewRootImpl$TraversalRunnable.run:9971 android.view.Choreographer$CallbackRecord.run:1010 android.view.Choreographer.doCallbacks:809 android.view.Choreographer.doFrame:744 android.view.Choreographer$FrameDisplayEventReceiver.run:995 
I/ViewRootImple40cad0[CardEntryActivity]: Relayout returned: old=(0,0,720,1600) new=(0,0,720,1600) req=(720,1600)8 dur=10 res=0x5 s={false 0} ch=true fn=706
I/ViewRootImple40cad0[CardEntryActivity]: stopped(true) old=false
I/ViewRootImple40cad0[CardEntryActivity]: dispatchDetachedFromWindow
D/InputTransport: Input channel destroyed: '488405c', fd=118
I/SurfaceControl: nativeRelease nativeObject s[-5476376647052838112]
nativeRelease nativeObject e[-5476376647052838112]
I/SurfaceControl: nativeRelease nativeObject s[-5476376647052824336]

nativeRelease nativeObject e[-5476376647052824336]
nativeRelease nativeObject s[-5476376647052859280]
nativeRelease nativeObject e[-5476376647052859280]

Dependency’s:

implementation "com.squareup.sdk.in-app-payments:card-entry:1.5.1"
implementation "com.squareup.sdk.in-app-payments:buyer-verification:1.5.1"
implementation "com.squareup.sdk.in-app-payments:google-pay:1.5.1" 
implementation(platform("com.squareup.okhttp3:okhttp-bom:4.7.1"))
implementation("com.squareup.okhttp3:okhttp")
implementation("com.squareup.okhttp3:logging-interceptor")

Updated formatting:**

Wanted to provide an update, the team is aware and working on it. :slightly_smiling_face:

1 Like