Нам нужно внедрить вариант платежного шлюза CCAvenue. Как я могу сделать это с помощью ASP.net/С#?
Как реализовать опцию платежного шлюза CCAvenue
Ответы (3)
Пожалуйста, ознакомьтесь с Руководством по интеграции на официальном сайте ccavenue. Надеюсь, оно вам поможет.
http://world.ccavenue.com/content/works_any_shoppingcart.jsp
Я решил это. Да, CCAvenue обеспечивает хорошую поддержку. Но человек, который использует форум asp.net, всегда будет искать коды asp.net и прямые ответы. :)
Я надеюсь, что это поможет кому-то. Я создал два свойства в коде позади. Один из них — вернуть значение контрольной суммы, а другой — вернуть сведения об элементах оформления заказа.
public string CCAvenueItemList
{
get
{
StringBuilder CCAvenueItems = new StringBuilder();
DataTable dt = new DataTable();
DataTable dtClientInfo = new DataTable();
dt = (DataTable)Session["CheckedItems"];
dtClientInfo = (DataTable)Session["ClientInfo"];
for (int i = 0; i <= dt.Rows.Count - 1; i++)
{
string amountTemplate = "<input type=\"hidden\" name=\"Amount\" value=\"$Amount$\" />\n";
string orderTemplate = "<input type=\"hidden\" name=\"Order_Id\" value=\"$Order_Id$\" />\n";
// BILLING INFO
string billingNameTemplate = "<input type=\"hidden\" name=\"billing_cust_name\" value=\"$billing_cust_name$\" />\n";
string billingCustAddressTemplate = "<input type=\"hidden\" name=\"billing_cust_address\" value=\"$billing_cust_address$\" />\n";
string billingCountryTemplate = "<input type=\"hidden\" name=\"billing_cust_country\" value=\"$billing_cust_country$\" />\n";
string billingEmailTemplate = "<input type=\"hidden\" name=\"billing_cust_email\" value=\"$billing_cust_email$\" />\n";
string billingTelTemplate = "<input type=\"hidden\" name=\"billing_cust_tel\" value=\"$billing_cust_tel$\" />\n";
string billingStateTemplate = "<input type=\"hidden\" name=\"billing_cust_state\" value=\"$billing_cust_state$\" />\n";
string billingCityTemplate = "<input type=\"hidden\" name=\"billing_cust_city\" value=\"$billing_cust_city$\" />\n";
string billingZipTemplate = "<input type=\"hidden\" name=\"billing_zip_code\" value=\"$billing_zip_code$\" />\n";
billingCustAddressTemplate = billingCustAddressTemplate.Replace("$billing_cust_address$", dtClientInfo.Rows[0]["Address"].ToString());
billingCountryTemplate = billingCountryTemplate.Replace("$billing_cust_country$", dtClientInfo.Rows[0]["Country"].ToString());
billingEmailTemplate = billingEmailTemplate.Replace("$billing_cust_email$", dtClientInfo.Rows[0]["Email_ID"].ToString());
billingTelTemplate = billingTelTemplate.Replace("$billing_cust_tel$", dtClientInfo.Rows[0]["Phone_no"].ToString());
billingStateTemplate = billingStateTemplate.Replace("$billing_cust_state$", dtClientInfo.Rows[0]["State"].ToString());
billingCityTemplate = billingCityTemplate.Replace("$billing_cust_city$", dtClientInfo.Rows[0]["City"].ToString());
billingZipTemplate = billingZipTemplate.Replace("$billing_zip_code$", dtClientInfo.Rows[0]["ZipCode"].ToString());
strAmount = dt.Rows[i]["INR"].ToString();
amountTemplate = amountTemplate.Replace("$Amount$", dt.Rows[i]["INR"].ToString());
orderTemplate = orderTemplate.Replace("$Order_Id$", dt.Rows[i]["ClientID"].ToString());
billingNameTemplate = billingNameTemplate.Replace("$billing_cust_name$", dtClientInfo.Rows[0]["Name"].ToString());
CCAvenueItems.Append(amountTemplate)
.Append(orderTemplate)
.Append(billingNameTemplate)
.Append(billingCustAddressTemplate)
.Append(billingCountryTemplate)
.Append(billingEmailTemplate)
.Append(billingTelTemplate)
.Append(billingStateTemplate)
.Append(billingCityTemplate)
.Append(billingZipTemplate)
.Append(deliveryNameTemplate)
.Append(deliveryCustAddressTemplate)
.Append(deliveryCountryTemplate)
}
return CCAvenueItems.ToString();
}
}
Еще одно свойство для возврата контрольной суммы:
public string propcheckSum
{
get {
libfuncs objLib = new libfuncs();
string strCheckSum = objLib.getchecksum("YourMerchantID", Session["ClientID"].ToString(), strAmount, "UrReturnUrl", "your working key");
return strCheckSum;
}
}
И использовал это свойство в представлении источника дизайна, как показано ниже.
<div>
<%=CCAvenueItemList%>
<input type="hidden" name="Merchant_Id" value="yourmerchantID" />
<input type="hidden" name="Checksum" value="<%=propcheckSum%>" />
<input type="hidden" name="Redirect_Url" value="YourWebsite'sThankyoupage.aspx" />
<input type="submit" value="Submit" runat="server" />
</div>
Вы можете получить идентификатор продавца и сгенерировать рабочий ключ на веб-сайте CCAvenue. То есть в логине мерчанта.
Надеюсь, это хоть кому-то поможет.
Вам нужно будет сначала зарегистрироваться или свяжитесь с ними и попросите руководство по интеграции платежей. Я не думаю, что это то же самое, что и интеграция PayPal на ваш сайт.