Как получить ответ об оплате от PayTM - PullRequest
0 голосов
/ 04 мая 2019

Я пытаюсь интегрировать платежный шлюз PayTM на веб-сайте ASP.Net MVC.Платежный шлюз прекрасно работает на локальном сервере и тестовом сервере (который размещен на godaddy), но не на живом сервере (также размещен на godaddy).
Код для генерации контрольной суммы:

Dictionary<String, String> paytmParams = new Dictionary<String, String>();
String merchantMid = "xxxxxx";
// Key in your staging and production MID available in your dashboard
String merchantKey = "xxxxxxx";
// Key in your staging and production merchant key available in your dashboard
String orderId = Guid.NewGuid().ToString();
String channelId = "WEB";
String mobileNo = "xxxxxx";
String email = "xxxxx";
String txnAmount = "500";
String website = "DEFAULT";
// This is the staging value. Production value is available in your dashboard
String industryTypeId = "Retail";
// This is the staging value. Production value is available in your dashboard
String callbackUrl = "https://xxxxxx/Home/PaymentResponse";
paytmParams.Add("MID", merchantMid);
paytmParams.Add("CHANNEL_ID", channelId);
paytmParams.Add("WEBSITE", website);
paytmParams.Add("CALLBACK_URL", callbackUrl);
paytmParams.Add("CUST_ID", custId);
paytmParams.Add("MOBILE_NO", mobileNo);
paytmParams.Add("EMAIL", email);
paytmParams.Add("ORDER_ID", orderId);
paytmParams.Add("INDUSTRY_TYPE_ID", industryTypeId);
paytmParams.Add("TXN_AMOUNT", txnAmount);
// for production 
string transactionURL = "https://securegw.paytm.in/theia/processTransaction?orderid=" + orderId;

string paytmChecksum = paytm.CheckSum.generateCheckSum(merchantKey, paytmParams);
string outputHTML = "<html>";
outputHTML += "<head>";
outputHTML += "<title>Membership</title>";
outputHTML += "</head>";
outputHTML += "<body>";
outputHTML += "<center><h1>Please do not refresh this page...</h1></center>";
outputHTML += "<form method='post' action='" + transactionURL + "' name='f1'>";
foreach (string key in paytmParams.Keys)
{
outputHTML += "<input type='hidden' name='" + key + "' value='" + paytmParams[key] + "'>";
}
outputHTML += "<input type='hidden' name='CHECKSUMHASH' value='" + paytmChecksum + "'>";
outputHTML += "<script type='text/javascript'>";
outputHTML += "document.f1.submit();";
outputHTML += "</script>";
outputHTML += "</form>";
outputHTML += "</body>";
outputHTML += "</html>";
Response.Write(outputHTML);  

Сумма равнаудерживается со счета PayTM, но PayTM не дает ответ на URL обратного вызова.Код для получения ответа от PayTM:

Dictionary<string, string> parameters = new Dictionary<string, string>(); string paytmChecksum = ""; 
foreach (string key in Request.Form.Keys) 
{ parameters.Add(key.Trim(), Request.Form[key].Trim()); } 

Здесь URL-адрес обратного вызова открывается, но я получаю 0 отсчета Request.Form.Keys.Count.Подскажите пожалуйста, где я не прав.

...