public static string GetNonceForPayPalAccount(BraintreeGateway gateway, Params paypalAccountDetails)
{
var clientToken = GenerateDecodedClientToken(gateway);
var authorizationFingerprint = extractParamFromJson("authorizationFingerprint", clientToken);
var builder = new RequestBuilder();
builder.AddTopLevelElement("authorization_fingerprint", authorizationFingerprint);
foreach (var param in paypalAccountDetails)
builder.AddTopLevelElement(string.Format("paypal_account[{0}]", param.Key), param.Value.ToString());
var response = new BraintreeTestHttpService().Post(gateway.MerchantId, "v1/payment_methods/paypal_accounts", 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
}