public static string GenerateOneTimePayPalNonce(BraintreeGateway gateway)
{
var clientToken = GenerateDecodedClientToken(gateway);
var authorizationFingerprint = extractParamFromJson("authorizationFingerprint", clientToken);
RequestBuilder builder = new RequestBuilder("");
builder.AddTopLevelElement("authorization_fingerprint", authorizationFingerprint).
AddTopLevelElement("shared_customer_identifier_type", "testing").
AddTopLevelElement("shared_customer_identifier", "test-identifier").
AddTopLevelElement("paypal_account[access_token]", "access_token").
AddTopLevelElement("paypal_account[correlation_id]", Guid.NewGuid().ToString()).
AddTopLevelElement("paypal_account[options][validate]", "false");
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);
#else
StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.UTF8);
#endif
string responseBody = reader.ReadToEnd();
Regex regex = new Regex("nonce\":\"(?<nonce>[a-f0-9\\-]+)\"");
Match match = regex.Match(responseBody);
return match.Groups["nonce"].Value;
}