public static void Run() { var generateKeyResult = GenerateKey.Run(); var keyId = generateKeyResult.KeyId; var derFormat = generateKeyResult.Der.Format; var derAlgo = generateKeyResult.Der.Algorithm; var derPublicKey = generateKeyResult.Der.PublicKey; var requestObj = new TokenizeRequest ( KeyId: keyId, CardInfo: new Flexv1tokensCardInfo ( CardExpirationYear: "2031", CardNumber: "5555555555554444", CardType: "002", CardExpirationMonth: "03" ) ); try { var configDictionary = new Configuration().GetConfiguration(); var clientConfig = new CyberSource.Client.Configuration(merchConfigDictObj: configDictionary); var apiInstance = new TokenizationApi(clientConfig); var result = apiInstance.Tokenize(requestObj); Console.WriteLine(result); var flexPublicKey = new FlexPublicKey(keyId, new FlexServerSDK.Model.DerPublicKey(derFormat, derAlgo, derPublicKey), null); var flexToken = new FlexToken() { keyId = result.KeyId, token = result.Token, maskedPan = result.MaskedPan, cardType = result.CardType, timestamp = (long)result.Timestamp, signedFields = result.SignedFields, signature = result.Signature, discoverableServices = result.DiscoverableServices }; IDictionary <string, string> postParameters = new Dictionary <string, string>(); postParameters["signedFields"] = flexToken.signedFields; postParameters["signature"] = flexToken.signature; postParameters["cardType"] = flexToken.cardType; postParameters["keyId"] = flexToken.keyId; postParameters["maskedPan"] = flexToken.maskedPan; postParameters["token"] = flexToken.token; postParameters["timestamp"] = Convert.ToString(flexToken.timestamp); var tokenVerificationResult = Verify(flexPublicKey, postParameters); Console.WriteLine("TOKEN VERIFICATION : " + tokenVerificationResult); } catch (Exception e) { Console.WriteLine("Exception on calling the API: " + e.Message); } }
public static void Run(IReadOnlyDictionary <string, string> configDictionary) { var generateKeyResult = GenerateKey.GenerateKeyResult(configDictionary); var keyId = generateKeyResult.KeyId; var derFormat = generateKeyResult.Der.Format; var derAlgo = generateKeyResult.Der.Algorithm; var derPublicKey = generateKeyResult.Der.PublicKey; var requestObj = new TokenizeRequest { KeyId = keyId, CardInfo = new Paymentsflexv1tokensCardInfo() { CardExpirationYear = "2031", CardNumber = "5555555555554444", CardType = "002", CardExpirationMonth = "03" } }; var merchantConfig = new MerchantConfig(configDictionary) { RequestType = "POST", RequestTarget = "/flex/v1/tokens", RequestJsonData = JsonConvert.SerializeObject(requestObj) }; try { var configurationSwagger = new ApiClient().CallAuthenticationHeader(merchantConfig); var apiInstance = new TokenizationApi(configurationSwagger); var result = apiInstance.Tokenize(requestObj); Console.WriteLine(result); var flexPublicKey = new FlexPublicKey(keyId, new FlexServerSDK.Model.DerPublicKey(derFormat, derAlgo, derPublicKey), null); var flexToken = new FlexToken() { keyId = result.KeyId, token = result.Token, maskedPan = result.MaskedPan, cardType = result.CardType, timestamp = (long)result.Timestamp, signedFields = result.SignedFields, signature = result.Signature, discoverableServices = result.DiscoverableServices }; //var tokenVerificationResult = Verify( // configDictionary["merchantID"], // configDictionary["merchantKeyId"], // configDictionary["merchantsecretKey"], // flexPublicKey, // flexToken); // Console.WriteLine(tokenVerificationResult); IDictionary <string, string> postParameters = new Dictionary <string, string>(); postParameters["signedFields"] = flexToken.signedFields; postParameters["signature"] = flexToken.signature; postParameters["cardType"] = flexToken.cardType; postParameters["keyId"] = flexToken.keyId; postParameters["maskedPan"] = flexToken.maskedPan; postParameters["token"] = flexToken.token; postParameters["timestamp"] = Convert.ToString(flexToken.timestamp); var tokenVerificationResult = Verify(flexPublicKey, postParameters); Console.WriteLine(tokenVerificationResult); } catch (Exception e) { Console.WriteLine("Exception on calling the API: " + e.Message); } }
public static FlexV1TokensPost200Response Run() { var generateKeyResult = GenerateKeyLegacyTokenFormat.Run(); string keyId = generateKeyResult.KeyId; var derFormat = generateKeyResult.Der.Format; var derAlgo = generateKeyResult.Der.Algorithm; var derPublicKey = generateKeyResult.Der.PublicKey; string cardInfoCardNumber = "4111111111111111"; string cardInfoCardExpirationMonth = "12"; string cardInfoCardExpirationYear = "2031"; string cardInfoCardType = "001"; Flexv1tokensCardInfo cardInfo = new Flexv1tokensCardInfo( CardNumber: cardInfoCardNumber, CardExpirationMonth: cardInfoCardExpirationMonth, CardExpirationYear: cardInfoCardExpirationYear, CardType: cardInfoCardType ); var requestObj = new TokenizeRequest( KeyId: keyId, CardInfo: cardInfo ); try { var configDictionary = new Configuration().GetConfiguration(); var clientConfig = new CyberSource.Client.Configuration(merchConfigDictObj: configDictionary); var apiInstance = new TokenizationApi(clientConfig); FlexV1TokensPost200Response result = apiInstance.Tokenize(requestObj); Console.WriteLine(result); TokenVerificationUtility tokenVerifier = new TokenVerificationUtility(); var flexPublicKey = new FlexPublicKey(keyId, new FlexDerPublicKey(derFormat, derAlgo, derPublicKey), null); var flexToken = new FlexToken() { keyId = result.KeyId, token = result.Token, maskedPan = result.MaskedPan, cardType = result.CardType, timestamp = (long)result.Timestamp, signedFields = result.SignedFields, signature = result.Signature, discoverableServices = result.DiscoverableServices }; IDictionary <string, string> postParameters = new Dictionary <string, string>(); postParameters["signedFields"] = flexToken.signedFields; postParameters["signature"] = flexToken.signature; postParameters["cardType"] = flexToken.cardType; postParameters["keyId"] = flexToken.keyId; postParameters["maskedPan"] = flexToken.maskedPan; postParameters["token"] = flexToken.token; postParameters["timestamp"] = Convert.ToString(flexToken.timestamp); var tokenVerificationResult = tokenVerifier.Verify(flexPublicKey, postParameters); Console.WriteLine("TOKEN VERIFICATION : " + tokenVerificationResult); return(result); } catch (Exception e) { Console.WriteLine("Exception on calling the API : " + e.Message); return(null); } }