using PayOnline.Sdk.Payments;
...
...
protected void RedirectToPaymentPage(object sender, EventArgs e)
{
//Задаем параметры конфигурации
var settings = new PaymentGatewaySettings()
{
//Указываем локализацию, по умолчанию Россия
Language = "RU",
//Указываем идентификатор мерчанта
MerchantId = 333,
//Указываем приватный ключ, выданный мерчанту
ApiKey = "9999B77C-8DD9-4123-B412-9999999F0E7D",
//Указываем адрес сервера процессинга PayOnline
GatewayUrl = "https://secure.payonlinesystem.com"
};
//Создаем экземпляр библиотеки процессинга
PaymentGateway client = new PaymentGateway(settings);
//Создаем запрос для получения ссылки на платежную форму
PaymentUrlRequest pureq = new PaymentUrlRequest()
{
//Номер заказа в Вашем магазине
OrderId = Request.Form["orderId"],
//Сумма
Amount = decimal.Parse(Request.Form["amount"]),
//Валюта
Currency = "RUB",
//Дополнительные опции платежа:
//Описание
OrderDdescription = Request.Form["orderdescription"],
//Дата валидности ссылки
ValidUntil = DateTime.Parse(Request.Form["validuntil"]),
//URL страницы возврата, по умолчанию та же страница
ReturnUrl = "http://yoursite.com/return",
//URL страницы ошибки
FailUrl = "http://yoursite.com/error",
//Email плательщика
Email = Request.Form["email"],
//Поле IndustryData - по согласованию с PayOnline
IndustryData = null,
//Дополнительные параметры по согласованию с PayOnline
CustomParameters = new NameValueCollection() {{"some", "data"}}
};
//Уходим на страницу оплаты
Response.Redirect(
client.GetPaymentUrl(pureq).Url
);
}
...
...
using PayOnline.Sdk.Payments;
...
...
protected void Pay(object sender, EventArgs e)
{
//Задаем параметры конфигурации
var settings = new PaymentGatewaySettings
{
//Указываем идентификатор мерчанта
MerchantId = 333,
//Указываем приватный ключ, выданный мерчанту
ApiKey = "9999B77C-8DD9-4123-B412-9999999F0E7D",
//Указываем локализацию, по умолчанию Россия
Language = "RU",
//Указываем адрес сервера процессинга PayOnline
GatewayUrl = "https://secure.payonlinesystem.com"
};
//Создаем экземпляр библиотеки процессинга
var gateway = new PaymentGateway(settings);
//Создаем запрос для проведения платежа
var paymentRequest = new PaymentRequest()
{
CardNumber = Request.Form["pan"],
Cvc = Request.Form["cvv2"],
CardholderName = Request.Form["сardholer_name"],
OrderId = Request.Form["orderId"],
Amount = decimal.Parse(Request.Form["amount"]),
Currency = "RUB",
CardExpirationYear = int.Parse(Request.Form["valid_thru_year"]),
CardExpirationMonth = int.Parse(Request.Form["valid_thru_month"]),
IpAddress = Request.UserHostAddress,
Email = Request.Form["email"],
Country = Request.Form["country"],
City = Request.Form["city"],
Address = Request.Form["address"],
State = Request.Form["state"],
Phone = Request.Form["phone"],
// Необязательный список дополнительных параметров, связанных с платежом - по согласованию с PayOnline
CustomParameters = null,
};
//Проводим платеж и обрабатываем результат
var paymentResponse = gateway.ProcessPayment(paymentRequest);
//Обработка результата платежа
if (paymentResponse.Result == "ACCEPTED")
{
Response.Write("Оплата прошла успешно.");
}
//Требуется 3-D Secureаутентификация?
else if (paymentResponse.ThreeDSecureRequired)
{
Response.Write("Требуется 3DS.");
}
else
{
//Показываем страницу с ошибкой
Response.Write("Ошибки. " + paymentResponse.ResultMessage);
}
}
...
...
using PayOnline.Sdk.Payments;
...
...
protected void Page_Load(object sender, EventArgs e)
{
//Задаем параметры конфигурации
var settings = new PaymentGatewaySettings
{
//Указываем идентификатор мерчанта
MerchantId = 333,
//Указываем приватный ключ, выданный мерчанту
ApiKey = "9999B77C-8DD9-4123-B412-9999999F0E7D",
//Указываем локализацию, по умолчанию Россия
Language = "RU",
//Указываем адрес сервера процессинга PayOnline
GatewayUrl = "https://secure.payonlinesystem.com"
};
//Создаем экземпляр библиотеки процессинга
var gateway = new PaymentGateway(settings);
//Ответ
PaymentResponse paymentResponse;
//Попали в обработчик с сайта банка после 3-D Secure аутентификации
if (gateway.IsThreeDSecureCallback(Request.Params))
{
paymentResponse = gateway.CompletePayment(Request.Params);
}
else
{
//Создаем запрос для проведения платежа
var paymentRequest = new PaymentRequest()
{
CardNumber = Request.Form["pan"],
Cvc = Request.Form["cvv2"],
CardholderName = Request.Form["сardholer_name"],
OrderId = Request.Form["orderId"],
Amount = decimal.Parse(Request.Form["amount"]),
Currency = "RUB",
CardExpirationYear = int.Parse(Request.Form["valid_thru_year"]),
CardExpirationMonth = int.Parse(Request.Form["valid_thru_month"]),
IpAddress = Request.UserHostAddress,
Email = Request.Form["email"],
Country = Request.Form["country"],
City = Request.Form["city"],
Address = Request.Form["address"],
State = Request.Form["state"],
Phone = Request.Form["phone"],
//Необязательный список дополнительных параметров, связанных с платежом - по согласованию с PayOnline
CustomParameters = null,
};
//Проводим платеж и обрабатываем результат
paymentResponse = gateway.ProcessPayment(paymentRequest);
//Требуется 3-D Secureаутентификация?
if (paymentResponse.ThreeDSecureRequired)
{
//Показываем форму, при сабмите которой плательщик отправляется на сайт банка,
//откуда вернется в этот же обработчиик.
var html = gateway.Generate3DSecureHtmlForm(paymentResponse);
Response.Write(html);
Response.End();
}
}
//Обработка результата платежа
if (paymentResponse.Result == "ACCEPTED")
{
//Показываем OK-страницу
Response.Write("OK!");
}
else
{
//Показываем страницу с ошибкой
Response.Write("ERRORS " + paymentResponse.ResultMessage);
}
}
...
...