public SchibstedPaymentMethodService(SchibstedPageBuilder pageBuilder, SchibstedSha256Computer sha256Computer, ILoggingService loggingService, IAbsoluteUrlService absoluteUrlService) { _absoluteUrlService = absoluteUrlService; PageBuilder = pageBuilder; Sha256Computer = sha256Computer; LoggingService = loggingService; }
public SchibstedRecurringPaymentMethodService( SchibstedPageBuilder pageBuilder, SchibstedSha256Computer sha256Computer, ILoggingService loggingService, IAbsoluteUrlService absoluteUrlService) : base(pageBuilder, sha256Computer, loggingService, absoluteUrlService) { _absoluteUrlService = absoluteUrlService; }
public SchibstedPageBuilder(SchibstedSha256Computer sha256Computer, ILoggingService loggingService, IAbsoluteUrlService absoluteUrlService, ICallbackUrl callbackUrl) { _absoluteUrlService = absoluteUrlService; _callbackUrl = callbackUrl; Sha256Computer = sha256Computer; LoggingService = loggingService; LocalizationContext = new CustomGlobalization(); }
public SppCallbackContainer DecodeSignedRequest(string signedRequest, string signatureSecret) { var requestArr = signedRequest.Split('.'); var encodedSig = requestArr[0]; var payload = requestArr[1]; var hashComputer = new SchibstedSha256Computer(); var expectedSig = hashComputer.ComputeHash(payload, signatureSecret, true); var data = Base64UrlDecode(payload); if (expectedSig != encodedSig) { throw new SecurityException("Checksum verification failed"); } var jsonSerializer = new DataContractJsonSerializer(typeof(SppCallbackContainer)); var ms = new MemoryStream(Encoding.UTF8.GetBytes(data)); return(jsonSerializer.ReadObject(ms) as SppCallbackContainer); }