On This Page

{#jumplink-list}  
[Markdown](/docs/cybs/en-us/payer-authentication/developer/all/so/payer-auth/pa-sdk-intro/pa-sdk-implementing-sdk-pa/pa-sdk-implementing-sdk-authenticating-enrolled-ca/pa-sdk-implementing-call-cardinal-session-continue.md)  
Filter  
FILTER BY TAG

Calling Cardinal session continue (iOS SDK) {#reference_isy_1jf_xpb}
====================================================================

When you have verified that a customer's card is enrolled in a card authentication program, include the payload, and the` payerAuthEnrollReply_authenticationTransactionID` response field and incorporate them into the *Cardinal session continue* function before proceeding with the authentication session.  
In the *Cardinal session continue* function, you should pass a class conforming to the *CardinalValidationDelegate* protocol (and implement the *stepUpDidValidate* method) as a parameter. These examples show a class conforming to the *CardinalValidationDelegate* protocol.

*Objective-C Examples*
----------------------

Cardinal session continue (iOS SDK - Objective-C)

```
@interface YourViewController()&lt;CardinalValidationDelegate&gt;{ //Conform your ViewController or any other class to CardinalValidationDelegate protocol
   
}
@end
  
@implementation YourViewController
  
    /**
     * This method is triggered when the transaction has 
     * been terminated.This is how SDK hands back
     * control to the merchant's application. This method will
     * include data on how the transaction attempt ended and
     * you should have your logic for reviewing the results of
     * the transaction and making decisions regarding next steps.
     * JWT will be empty if validate was not successful
     *
     * @param session
     * @param validateResponse
     * @param serverJWT
     */
    -(void)cardinalSession:(CardinalSession *)session stepUpDidValidateWithResponse:(CardinalResponse *)validateResponse serverJWT:(NSString *)serverJWT{
       
    }
  
@end                         
```

If the *Cardinal.continue* process is requested in the same class, request the method shown in the following example to start the step up flow.  
Cardinal.continue Request in the Same Class (Objective-C)

```
[session continueWithTransactionId: @"[TRANSACTION_ID]"
                           payload: @"[PAYLOAD]"
               didValidateDelegate: self];                           
```

*Swift Examples*
----------------

Cardinal session continue (iOS SDK - Swift)

```
class YourViewController:CardinalValidationDelegate {
  
    /**
     * This method is triggered when the transaction has been 
     * terminated.This is how SDK hands back
     * control to the merchant's application. This method will
     * include data on how the transaction attempt ended and
     * you should have your logic for reviewing the results of
     * the transaction and making decisions regarding next steps.
     * JWT will be empty if validate was not successful
     *
     * @param session
     * @param validateResponse
     * @param serverJWT
     */
    func cardinalSession(cardinalSession session: CardinalSession!, stepUpValidated validateResponse: CardinalResponse!, serverJWT: String!) {
        
    }
 
}                          
```

If the *Cardinal.continue* function is requested in the same class, request the method shown in the example below to start the step up flow.  
Cardinal.continue Request in the Same Class (Swift)

```
session.continueWith(transactionId: "[TRANSACTION_ID]", payload: "[PAYLOAD]", validationDelegate: self)            
```

When necessary, the SDK displays the authentication window and the customer enters their authentication information.  
RELATED TO THIS PAGE

