void TestSet(NSCharacterSet s, string setName, char characterThatShouldBeInSet) { RequiresIos8(); Assert.IsNotNull(s, setName + " was null"); Assert.IsTrue(s.Contains(characterThatShouldBeInSet), setName + " did not contain: " + characterThatShouldBeInSet); }
internal static void SummonThreeDSecure(PaymentRequiresThreeDSecureModel threedDSecureReceipt, SecureWebView secureWebView) { secureWebView.ReceiptID = threedDSecureReceipt.ReceiptId; NSCharacterSet allowedCharecterSet = NSCharacterSet.FromString(@":/=,!$&'()*+;[]@#?").InvertedSet; NSString paReq = new NSString(threedDSecureReceipt.PaReq); var encodedPaReq = paReq.CreateStringByAddingPercentEncoding(allowedCharecterSet); NSString termUrl = new NSString("judo1234567890://threedsecurecallback"); var encodedTermUrl = termUrl.CreateStringByAddingPercentEncoding(allowedCharecterSet); NSUrl url = new NSUrl(threedDSecureReceipt.AcsUrl); NSMutableUrlRequest req = new NSMutableUrlRequest(url); NSString postString = new NSString("MD=" + threedDSecureReceipt.Md + "&PaReq=" + encodedPaReq + "&TermUrl=" + encodedTermUrl + ""); NSData postData = postString.Encode(NSStringEncoding.UTF8); req.HttpMethod = "POST"; req.Body = postData; try { DispatchQueue.MainQueue.DispatchAfter(DispatchTime.Now, () => { secureWebView.LoadRequest(req); LoadingScreen.HideLoading(); secureWebView.Hidden = false; }); } catch (Exception e) { if (secureWebView._failureCallback != null) { var judoError = new JudoError { Exception = e }; secureWebView.CloseView(); secureWebView._failureCallback(judoError); } } }