AnsweredAssumed Answered

IOS triPOSMobileSDK framework - VXP send request missing data

Question asked by eyalzo on Apr 15, 2020
Latest reply on Apr 15, 2020 by jhess

Hello,

After I updated to 1.6.2 version, my current code is breaking (I didn't change anything in my code post update)

The data that I'm missing is the token data that is in the response for VXP send function.

I'm also getting a response message that tells me that "CardNumber Required", can you tell me more about this message?

I will also attache a screenshot of the card data that I'm getting and the back of the terminal that I'm using.

 

<TokenCreateResponse xmlns='https://services.elementexpress.com'><Response><ExpressResponseCode>101</ExpressResponseCode><ExpressResponseMessage>CardNumber Required</ExpressResponseMessage><ExpressTransactionDate>20200415</ExpressTransactionDate><ExpressTransactionTime>130541</ExpressTransactionTime><ExpressTransactionTimezone>UTC-05:00:00</ExpressTransactionTimezone><ServicesID>120397147</ServicesID><Card><EncryptedFormat>Format4</EncryptedFormat></Card><Token><TokenProvider>2</TokenProvider></Token></Response></TokenCreateResponse>

 

this is our code to create the card for the VXPRequest:

 

let card = VXPCard()

        if let encryptedSwipe = cardData as? VTPEncryptedSwipedCardData {

            if let encryptedTrack2 = encryptedSwipe.encryptedTrack2, !encryptedTrack2.isEmpty {

                card.encryptedTrack2Data = encryptedTrack2

                card.cardDataKeySerialNumber = encryptedSwipe.encryptedTrack2KeySerialNumber

            } else if let encryptedTrack1 = encryptedSwipe.encryptedTrack1, !encryptedTrack1.isEmpty {

                card.encryptedTrack1Data = encryptedTrack1

                card.cardDataKeySerialNumber = encryptedSwipe.encryptedTrack1KeySerialNumber

            }

            

            card.encryptedFormat = getEncryptedFormat(encryption: encryptedSwipe.encryptedDataEncryption)

           

            return card

        }

 

 

private func getEncryptedFormat(encryption: VTPCardDataEncryption) -> VXPCardEncryptedFormat {

        switch encryption {

        case VTPCardDataEncryptionDataVariantEpsFormat:

            return VXPCardEncryptedFormat4

            

        case VTPCardDataEncryptionPinVariantEpsFormat:

            return VXPCardEncryptedFormatDefault

            

        case VTPCardDataEncryptionPinVariantMercuryFormat:

            return VXPCardEncryptedFormat5

            

        case VTPCardDataEncryptionDataVariantEpsMxFormat:

            return VXPCardEncryptedFormat7

            

        default:

            return VXPCardEncryptedFormatNotSet

        }

    }

 

Did we fail to add a new code after the SDK update?

 

 

Thanks,

 

Eyal

Outcomes