Falló la validación del extremo de eliminación de la cuenta de Marketplace. Haga clic aquí para obtener más información sobre cómo configurar un punto final.
Creé un método API para responder a la respuesta de desafío a eBay. Pero la validación está fallando. No estoy seguro de qué mal estoy haciendo aquí.
A continuación se muestra la lógica del código que agregué.
public ActionResult<string> ChallengeResponse([FromQuery] string challenge_code) { try { string verificationToken = _configuration["eBayVerificationToken"]; string endpoint = _configuration["eBayNotificationEndPoint"]; string challengeResponse = string.Empty; IncrementalHash sha256 = IncrementalHash.CreateHash(HashAlgorithmName.SHA256); sha256.AppendData(Encoding.UTF8.GetBytes(challenge_code)); sha256.AppendData(Encoding.UTF8.GetBytes(verificationToken)); sha256.AppendData(Encoding.UTF8.GetBytes(endpoint)); byte[] bytes = sha256.GetHashAndReset(); challengeResponse = BitConverter.ToString(bytes).Replace("-", string.Empty).ToLower(); JObject json = JObject.Parse("{\"challengeResponse\":\"" + challengeResponse + "\"}"); return JsonConvert.SerializeObject(json); } catch (Exception ex) { return string.Empty; } }Usé un objeto con respuesta de desafío a un miembro:
class challengeResponseObj { public string challengeResponse { get; set; } }Luego simplemente asigno el valor de la respuesta y devuelvo el objeto como un resultado JSON:
challengeResponseObj resObj = new challengeResponseObj() { challengeResponse = resMessage }; return new JsonResult(resObj);