Braintree.TestUtil.TestHelper.GetNonceForNewPaymentMethod C# (CSharp) Method

GetNonceForNewPaymentMethod() public static method

public static GetNonceForNewPaymentMethod ( BraintreeGateway gateway, object>.System.Collections.Generic.Dictionary @params, bool isCreditCard ) : string
gateway Braintree.BraintreeGateway
@params object>.System.Collections.Generic.Dictionary
isCreditCard bool
return string
        public static string GetNonceForNewPaymentMethod(BraintreeGateway gateway, Params @params, bool isCreditCard)
        {
            var clientToken = GenerateDecodedClientToken(gateway);
            var authorizationFingerprint = extractParamFromJson("authorizationFingerprint", clientToken);

            var paymentMethodType = isCreditCard ? "credit_card" : "paypal_account";
            var paymentMethodTypePlural = paymentMethodType + "s";
            var builder = new RequestBuilder();
            builder.
                AddTopLevelElement("authorization_fingerprint", authorizationFingerprint).
                AddTopLevelElement("shared_customer_identifier", "test-identifier").
                AddTopLevelElement("shared_customer_identifier_type", "testing");
            foreach (var param in @params)
                builder.AddTopLevelElement(string.Format("{0}[{1}]", paymentMethodType, param.Key), param.Value.ToString());

            var response = new BraintreeTestHttpService().Post(
                gateway.MerchantId,
                "v1/payment_methods/" + paymentMethodTypePlural,
                builder.ToQueryString());

#if netcore
            StreamReader reader = new StreamReader(response.Content.ReadAsStreamAsync().Result, Encoding.UTF8);
            string responseBody = reader.ReadToEnd();
            return extractParamFromJson("nonce", responseBody);
#else
            return extractParamFromJson("nonce", response);
#endif
        }