2016-07-26 7 views
0

paypal을 지불 옵션으로 사용하는 온라인 거래가있는 웹 사이트가 있습니다. 체크 아웃 및 페이팔 측의 장바구니 계산이 작동하지만 페이팔 샌드 박스에서 IPN 메시지를받지 못합니다. 로그를 작성한 후에 formdata이 null이라는 것을 알았습니다. IPN 히스토리를 확인해도 IPN 메시지의 상태가 다시 시도 중임을 나타냅니다 ... IPN 알림 URL도 설정되었습니다. 다음은 수신기 코드입니다.Paypal : IPN 리스너가 IPN 메시지를받지 못합니다.

[Route("IPN")] 
    public IHttpActionResult IPN(FormDataCollection formData) 
    { 

     var formVals = new Dictionary<string, string>(); 
     formVals.Add("cmd", "_notify-validate"); 

     string response = GetPayPalResponse(formVals, formData); 

     if (response.ToUpper().Trim() == "VERIFIED") 
     { 

      //entry into database 

      } 
      else 
      { 

       return InternalServerError(); 
      } 

     return InternalServerError(); 
    } 

string GetPayPalResponse(Dictionary<string, string> formVals, FormDataCollection formData) 
    { 

     string paypalUrl = GetPayPalURL(); 
     HttpWebRequest req = (HttpWebRequest)WebRequest.Create(paypalUrl); 

     // Set values for the request back 
     req.Method = "POST"; 
     req.ContentType = "application/x-www-form-urlencoded"; 

     Encoding encoding = Encoding.UTF8; 

     StringBuilder sb = new StringBuilder(); 
     foreach (var entry in formData.ToList()) 
     { 
      sb.AppendFormat("{0}={1}&", entry.Key, encoding.GetString(encoding.GetBytes(entry.Value))); 
     } 

     string strRequest = sb.ToString(); 
     strRequest += "cmd=_notify-validate"; 
     req.ContentLength = strRequest.Length; 

     //Send the request to PayPal and get the response 
     StreamWriter streamOut = new StreamWriter(req.GetRequestStream()); 
     streamOut.Write(strRequest); 
     streamOut.Close(); 

     StreamReader streamIn = new StreamReader(req.GetResponse().GetResponseStream()); 
     string strResponse = streamIn.ReadToEnd(); 
     streamIn.Close(); 

     return strResponse; 
    } 

이것은 이전에는 작동했지만 멈추지 않았다. 페이팔 지불 게이트웨이에 새로운 것이므로, 도움을 주시면 감사하겠습니다.

+0

누구나이 작업을 수행 했습니까? –

답변

1

어제부터 페이팔에는 일정한 문제가 있습니다. 나는 그것이 일시적인 문제이며 그것이 가능한 빨리 수정되기를 바랍니다. 샌드 박스에 문제가 있습니다.하지만 이전에도 발생했습니다.

+0

샌드 박스 모드에 문제가 있습니다. 다른 사람이이를 확인할 수 있습니까? .NET SDK 및 적응 지불 사용 중 ... – zzare

0

샌드 박스 모드에 문제가 있습니다 ... 다른 사람이이를 확인할 수 있습니까? .NET SDK 및 적응 지불을 사용 중입니다 ... 편집 : 오늘 다시 작업 중입니다.)