Back to All

iOS 3DS challenge Flow callback

I am following the to implement 3DS.

I am able to successfully create Frictionless transactions as well as transactions that have Step up/Challenge response. However, the behavior I am seeing is slightly different from what the guide states.

When I use sandbox test card for lookup Challenge/StepUp from specifically 4000000760000002, I get the challenge and I get the JWT in the callback but the validateResponse is nil. I am able to successfully create transactions with the JWT returned in this callback, but there is no way to check the actionCode

func cardinalSession(cardinalSession session: CardinalSession!, stepUpValidated validateResponse: CardinalResponse!, serverJWT: String!) {
    switch validateResponse.actionCode {
    case .success:
        // Handle successful transaction, send JWT to backend to verify
    case .noAction:
        // Handle no actionable outcome
    case .failure:
        // Handle failed transaction attempt
    case .error:
        // Handle service level error

    case .cancel:
        // Handle transaction canceled by user

    case .timeout:
        // Handle transaction timedout

Am I doing something wrong or should I ignore the validateResponse.actionCode in step 12 of this guide.