Для запуска тестового приложения нужно:
-Клонировать репозиторий
-Запустить терминал
-Перейти в скаченную дирректорию (в папку Example)
-Выполнить команду pod install
Библиотека IOS_SDK_PAYU доступна через систему управления зависимостями CocoaPods.
-Добавьте строчку в Podfile вашего приложения
pod "IOS_SDK_PAYU"
-Выполните команду в терминале pod update
-Подключаем библиотеку #import "PAYU_SDK.h"
LU *lu=[[LU alloc] initWithSecretKey:@"e5|S|X~0@l10_?R4b8|1" merchant:@"ipolhtst" orderRef:@"3886786" orderDate:@"2016-11-21 10:51:58"];
// необязательные параметры
lu.BILL_FNAME=@"Max";
lu.BILL_LNAME=@"Mel";
lu.BILL_EMAIL=@"ALoon12@gmail.com";
lu.BILL_PHONE=@"+79261122334";
lu.BILL_COUNTRYCODE=CountryCodeRU;
lu.LANGUAGE=LanguageTypeRU;
lu.DISCOUNT=[NSNumber numberWithFloat:200.1];
lu.PAY_METHOD=LUPayMethodTypeCCVISAMC;
lu.ORDER_SHIPPING=[NSNumber numberWithInt:1200];
lu.PRICES_CURRENCY=USD;
lu.ORDER_TIMEOUT=[NSNumber numberWithInt:200];
lu.TIMEOUT_URL=@"http://yandex.ru";
lu.TESTORDER=NO;
lu.Debug=YES;
Переменная | Тип | Обязательно заполнять | Описание |
---|---|---|---|
SECRET_KEY | NSString | да | Секретный ключ |
MERCHANT | NSString | да | Идентификатор Интернет-магазина. Значение доступно через интерфейс Личного кабинета (Управление учетными записями > Настройки учетной записи) |
ORDER_REF | NSString | да | Идентификационный номер заказа в системе ТСП (для упрощения процедуры идентификации заказа) |
ORDER_DATE | NSString | да | Дата начала обработки заказа в системе в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС (например: «2012-05-01 21:15:45») |
BILL_FNAME | NSString | нет | Имя плательщика |
BILL_LNAME | NSString | нет | Фамилия плательщика |
BILL_EMAIL | NSString | нет | Адрес электронной почты плательщика |
BILL_PHONE | NSString | нет | Номер телефона плательщика |
BILL_COUNTRYCODE | CountryCode | нет | Код страны плательщика (Например для России BILL_COUNTRYCODE=CountryCodeRU; ) |
LANGUAGE | LanguageType | нет | Язык интерфейса Возможные значения: |
DISCOUNT | NSNumber | нет | Значение скидки |
PAY_METHOD | LUPayMethodType | нет | Метод оплаты Возможные значения: |
ORDER_SHIPPING | NSNumber | нет | Стоимость доставки заказа |
PRICES_CURRENCY | PRICES_CURRENCYType | нет | Валюта, в которой указаны цены, налоги, стоимость доставки и скидки Возможные значения: |
ORDER_TIMEOUT | NSNumber | нет | Промежуток времени, в течение которого заказ может быть размещен, в секундах |
TIMEOUT_URL | NSString | нет | URL, на который будет перенаправлен клиент по истечении ORDER_TIMEOUT |
Debug | BOOL | нет | Режима отладки Возможные значения: |
TESTORDER | BOOL | нет | Тестовая операция Возможные значения: |
LUProduct *product=[[LUProduct alloc] initLUProductWithName:@"test" code:@"123" price:[NSNumber numberWithInt:50] qty:10 vat:13 ];
// необязательные параметры
product.pgGroup=@"2313123";
product.pinfo=@"Сбербанк 132132321";
Описание LUProduct
Переменная | Тип | Обязательно заполнять | Описание |
---|---|---|---|
name | NSString | да | Наименование продукта ( не более 155 знаков на один продукт) |
code | NSString | да | Код продукта (1-50 символов) |
price | NSNumber | да | Стоимость продукта |
qty | NSUInteger | да | Количество единиц товара |
vat | NSUInteger | да | НДС для товара в рамках заказа |
pgGroup | NSString | нет | Идентификаторами групп товаров |
pinfo | NSString | нет | Дополнительной информацией о товаре (Например: номер лицевого счета) |
NSError *error;
[lu addProduct:product error:&error];
Коды ошибок LUErrorInputData
Код ошибки | Описание |
---|---|
ProductErrorCodesEmptyName | Отсутствует MERCHANT |
ProductErrorCodesEmptyCode | Отсутствует ORDER_REF |
ProductErrorCodesEmptyPrice | Отсутствуют PRODUCTS(продукты/товары) |
ProductErrorCodesLongName | Название продукта/товара более 155 символов |
ProductErrorCodesLongCode | Код продукта/товара более 50 символов |
ProductErrorCodesWrongPrice | Ошибка цены продукта/товара |
ProductErrorCodesWrongQTY | Ошибка количества продукта/товара |
ProductErrorCodesWrongVAT | Ошибка НДС продукта/товара |
ProductErrorCodesWrongShipping | Ошибка стоимости продукта/товара |
NSError *error;
[self.webView loadRequest: [lu getLURequstWitherror:&error]];
Коды ошибок LUErrorInputData при добавлении продуктов/ товаров
Код ошибки | Описание |
---|---|
LUErrorDataEmptyMERCHANT | Отсутствует MERCHANT |
LUErrorDataEmptyORDER_REF | Отсутствует ORDER_REF |
LUErrorDataEmptyPRODUCTS | Отсутствуют PRODUCTS(продукты/товары) |
LUErrorDataEmptyORDER_DATE | Отсутствует дата ORDER_DATE |
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{
NSLog(@"%@",request.URL.absoluteString);
NSString *string = request.URL.absoluteString;
//отлавливаем переход на нашу ссылку
if ([string rangeOfString:@"?result=0"].location != NSNotFound) {
NSArray *array = [request.URL.absoluteString componentsSeparatedByString:@"&"];
//сохраняем номер заказа, он нам понадобится для "отмены транзакции" и для "подтверждения транзакци"
self.payrefno = [[array objectAtIndex:3] stringByReplacingOccurrencesOfString:@"payrefno=" withString:@""];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:[NSString stringWithFormat:@"Оплата прошла успешно payrefno=%@",self.payrefno] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
}
return YES;
}
## ALU - класс для работы с протоколом ALUv3 (Automatic Live Update)
ALU *alu = [[ALU alloc] initWithSecretKey:@"e5|S|X~0@l10_?R4b8|1" merchant:@"ipolhtst" orderRef:@"3886786" orderDate:@"2016-11-21 10:51:58"];
alu.ORDER_SHIPPING=[NSNumber numberWithInt:1007]; //стоимость доставки
alu.PRICES_CURRENCY=RUB;
alu.LANGUAGE=LanguageTypeRU;
alu.PAY_METHOD=ALUPayMethodTypeCCVISAMC;
alu.CLIENT_IP=@"192.168.0.1";
alu.TESTORDER=NO;
###Поля заказа
Переменная | Тип | Обязательно заполнять | Описание |
---|---|---|---|
SECRET_KEY | NSString | да | Секретный ключ |
MERCHANT | NSString | да | Идентификатор Интернет-магазина. Значение доступно через интерфейс Личного кабинета (Управление учетными записями > Настройки учетной записи) |
ORDER_REF | NSString | да | Идентификационный номер заказа в системе ТСП (для упрощения процедуры идентификации заказа) |
ORDER_DATE | NSString | да | Дата начала обработки заказа в системе в формате ГГГГ-ММ-ДД ЧЧ:ММ:СС (например: «2012-05-01 21:15:45») Важно: Время должно быть UTC (единое мировое время, не московское). Время в запросе не должно отличаться от UTC больше чем +/-10 минут |
BACK_REF | NSString | да | Обратный URL ТСП |
BIllCLIENTINFO | ALUBillClientInfo | да | Реквизиты плательщика |
CARDINFO | ALUCardInfo | да | Реквизиты карты |
ORDER_SHIPPING | NSNumber | нет | Стоимость доставки заказа |
DELIVERYDATA | ALUDELIVERYData | нет | Параметры доставки |
PAY_METHOD | ALUPayMethodType | нет | Метод оплаты Возможные значения: |
PRICES_CURRENCY | PRICES_CURRENCYType | нет | Валюта, в которой указаны цены, налоги, стоимость доставки и скидки Возможные значения: |
LANGUAGE | LanguageType | нет | Язык интерфейса Возможные значения: |
CLIENT_IP | NSString | нет | ip пользователя |
CLIENT_TIME | NSString | нет | Время, определенное на основе информации браузера покупателя в формате ГГГГ-ММ-ДД чч:мм:сс |
CC_NUMBER_TIME | NSString | нет | Время потраченное пользователем при вводе номера карты |
CC_OWNER_TIME | NSString | нет | Время потраченное пользователем при вводе владельца карты |
TESTORDER | BOOL | нет | Тестовая операция Возможные значения: |
###Добавляем информация о продукте
NSError *productError;
ALUProduct *product=[[ALUProduct alloc] initALUProductWithName:@"Phone" code:@"12" price:[NSNumber numberWithInt:1000] qty:1];
NSError *productError;
product.pinfo=@"Носки хлопковые";
product.ver=@"1.0.0";
[alu addProduct:product error:&productError];
Описание ALUProduct
Переменная | Тип | Обязательно заполнять | Описание |
---|---|---|---|
name | NSString | да | Наименование продукта ( не более 155 знаков на один продукт) |
code | NSString | да | Код продукта (1-50 символов) |
price | NSNumber | да | Стоимость продукта |
qty | NSUInteger | да | Количество единиц товара |
pinfo | NSString | нет | Дополнительная информация о продукте/товаре |
ver | NSString | нет | Информация о версии заказанного продукта/товара |
Коды ошибок ALUErrorInputData при добавлении продуктов/ товаров
Код ошибки | Описание |
---|---|
ProductErrorCodesEmptyName | Отсутствует MERCHANT |
ProductErrorCodesEmptyCode | Отсутствует ORDER_REF |
ProductErrorCodesEmptyPrice | Отсутствуют PRODUCTS(продукты/товары) |
ProductErrorCodesLongName | Название продукта/товара более 155 символов |
ProductErrorCodesLongCode | Код продукта/товара более 50 символов |
ProductErrorCodesWrongPrice | Ошибка цены продукта/товара |
ProductErrorCodesWrongQTY | Ошибка количества продукта/товара |
ProductErrorCodesWrongVAT | Ошибка НДС продукта/товара |
ProductErrorCodesWrongShipping | Ошибка стоимости продукта/товара |
###Добавляем реквизиты покупателя
alu.BIllCLIENTINFO=[[ALUBillClientInfo alloc] initWithFNAME:@"Mel" LNAME:@"Maxim" EMAIL:@"lolo@gmail.com" PHONE:@"7-926-177-77-22" COUNTRYCODE:CountryCodeRU];
Описание ALUBillClientInfo
Переменная | Тип | Обязательно заполнять | Описание |
---|---|---|---|
BILL_LNAME | NSString | да | Фамилия покупателя |
BILL_FNAME | NSString | да | Имя покупателя |
BILL_EMAIL | NSString | да | Адрес электронной почты покупателя |
BILL_PHONE | NSString | да | Номер телефона покупателя |
BILL_COUNTRYCODE | CountryCode | да | Код страны (например CountryCodeRU) |
BILL_FAX | NSString | нет | Номер факса покупателя |
BILL_ADDRESS | NSString | нет | Адрес покупателя |
BILL_ADDRESS2 | NSString | нет | Адрес покупателя (вторая строчка) |
BILL_ZIPCODE | NSString | нет | Почтовый индекс |
BILL_CITY | NSString | нет | Город |
BILL_STATE | NSString | нет | Область/район |
###Добавляем реквизиты карты
alu.CARDINFO=[[ALUCardInfo alloc] initWithCC_NUMBER:@"1122334455667777" EXP_MONTH:@"01" EXP_YEAR:@"2017" CC_CVV:@"071" CC_OWNER:@"Maxim"];
Описание ALUCardInfo
Переменная | Тип | Обязательно заполнять | Описание |
---|---|---|---|
CC_NUMBER | NSString | да | Номер карты, которая будет использоваться при авторизации заказа |
EXP_MONTH | NSString | да | Месяц истечения срока действия карты |
EXP_YEAR | NSString | да | Год истечения срока действия карты |
CC_CVV | NSString | да | CCV/CVV2 код карты. Для некоторых видов карт эта информация не указывается, в противном случае это должно быть числовое значение |
CC_OWNER | NSString | да | ФИО владельца карты, в соответствии с тем, что указано на самой карте |
CC_TOKEN | NSString | да | Токен, полученный при использовании модального чекаута или с использованием протокола Токен v2 |
###Добавляем параметры доставки
alu.DELIVERYDATA.DELIVERY_FNAME=@"John";
alu.DELIVERYDATA.DELIVERY_LNAME=@"Smith";
alu.DELIVERYDATA.DELIVERY_PHONE=@"7-926-231-97-22";
alu.DELIVERYDATA.DELIVERY_ADDRESS=@"3256 Epiphenomenal Avenue";
alu.DELIVERYDATA.DELIVERY_ZIPCODE=@"55416";
alu.DELIVERYDATA.DELIVERY_CITY=@"Moscow";
alu.DELIVERYDATA.DELIVERY_STATE=@"Moscow";
alu.DELIVERYDATA.DELIVERY_COUNTRYCODE=CountryCodeRU;
Описание ALUDELIVERYData
Переменная | Тип | Обязательно заполнять | Описание |
---|---|---|---|
DELIVERY_FNAME | NSString | нет | Фамилия лица, которому будет доставлен заказ |
DELIVERY_LNAME | NSString | нет | Имя лица, которому будет доставлен заказ |
DELIVERY_EMAIL | NSString | нет | Адрес электронной почты лица или компании, которым будет доставлен заказ |
DELIVERY_PHONE | NSString | нет | Номер телефона лица или компании, которым будет доставлен заказ |
DELIVERY_ADDRESS | NSString | нет | Адрес доставки заказа |
DELIVERY_ADDRESS2 | NSString | нет | Дополнительная информация по адресу доставки заказа |
DELIVERY_ZIPCODE | NSString | нет | Почтовый индекс в рамках адреса доставки заказа |
DELIVERY_CITY | NSString | нет | Город доставки заказа |
DELIVERY_STATE | NSString | нет | Регион/область доставки заказа |
DELIVERY_COUNTRYCODE | CountryCode | нет | Код страны доставки |
DELIVERY_COMPANY | NSString | нет | Название компании, которой будет доставлен заказ |
[alu sendALURequstWithResult:^(NSDictionary *response, NSError *error) {
//результат запроса
if (response) {
NSLog(@"%@",response);
NSString *strHeader=[NSString stringWithFormat:@"STATUS:%@",[response objectForKey:@"STATUS"]];
NSString *message=[NSString stringWithFormat:@"RETURN_MESSAGE:%@",[response objectForKey:@"RETURN_MESSAGE"]];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:strHeader message:message delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
NSLog(@"%@",response);
}
else{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:error.localizedDescription delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
NSLog(@"%@",error);
}
HIDE_PORGRESS(view);
}];
Описание ответа от сервера в словаре response
Ключ | Обязательное поле | Описание |
---|---|---|
REFNO | Уникальный идентификатор заказа, присваиваемый PayU | |
ALIAS | Уникальное строчное обозначение операции, которое может использоваться ТСП на сервере базы данных | |
STATUS | Возможные статусы платежа: |
|
RETURN_CODE | Код ошибки | |
RETURN_MESSAGE | Подробное описание кода ответа | |
DATE | Дата ответа в формате универсального координированного времени | |
URL_3DS | Если кредитная карта является частью системы 3D Secure данный параметр содержит URL, на который ТСП перенаправляется браузер покупателя | |
ORDER_REF | Внешний идентификационный номер заказа в системе ТСП | |
AUTH_CODE | Авторизационный банковский код | |
HASH | Подпись, применяемая для всех элементов запроса, в рамках которой используется тот же алгоритм как и в случае с подписью из первоначального запроса. Если подпись является НЕВЕРНОЙ, выводится ошибка HASH_MISMATCH, а тег HASH остается незаполненным |
Коды ошибок RETURN_CODE от сервера метода ALU
Ключ | Описание |
---|---|
WRONG_VERSION | Версия ALU, отправленная ТСП, НЕ существует |
REQUEST_EXPIRED | Между ORDER_DATE и датой оплаты прошло более 10 минут или время, превышающее значение ORDER_TIMEOUT, заданное ТСП |
INVALID_PAYMENT_METHOD_CODE | Код способа оплаты НЕ принят |
INVALID_PAYMENT_INFO | Неверные данные карты |
INVALID_CUSTOMER_INFO | Обязательные данные покупателя отсутствуют или искажены |
INVALID_CURRENCY | Валюта платежа НЕ принята |
INVALID_CC_TOKEN | Некорректный токен |
INVALID_ACCOUNT | Название ТСП указано неверно |
HASH_MISMATCH | Параметр HASH, направленный ТСП, не соответствует значению HASH, рассчитанному PayU |
AUTHORIZED | Если платеж бы успешно авторизован |
AUTHORIZATION_FAILED | Платеж не авторизован |
ALREADY_AUTHORIZED | При попытке покупателя разместить новый заказ со значениями ORDER_REF и HASH, аналогичными предыдущему заказу |
3DS_ENROLLED | Авторизация платежа должна быть подтверждена покупателем и его банком через 3DS |
## IOS - класс запроса текущего статуса заказа Live Update
IOS *ios = [[IOS alloc] initWithSecretKey:@"e5|S|X~0@l10_?R4b8|1" Merchant:@"ipolhtst" Refnoext:@"3886786"];
Переменная | Тип | Обязательно заполнять | Описание |
---|---|---|---|
SECRET_KEY | NSString | да | Секретный ключ |
MERCHANT | NSString | да | Идентификатор ТСП в системе PayU |
REFNOEXT | NSString | да | Внешний ссылочный номер, предоставленный ТСП вместе с заказом |
[ios sendIOSRequestWithResult:^(NSDictionary *response, NSError *error) {
//результат запроса
if (response) {
NSLog(@"%@",response);
NSString *respStr=[NSString stringWithFormat:@"ORDER_STATUS:%@,\n ORDER_DATE:%@\n REFNO:%@\n REFNOEXT:%@",[response objectForKey:@"ORDER_STATUS"],[response objectForKey:@"ORDER_DATE"],[response objectForKey:@"REFNO"],[response objectForKey:@"REFNOEXT"]];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:respStr delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
}
else{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:error.localizedDescription delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
NSLog(@"%@",error);
}
}];
Описание ответа от сервера в словаре response
Ключ | Обязательное поле | Описание |
---|---|---|
ORDER_DATE | Дата заказа в формате гггг-дд-мм чч:мм:сс | |
REFNO | Глобальный ссылочный номер PayU для заказа (не более 9 символов) | |
REFNOEXT | Ссылочный номер заказа ТСП, присвоенный через LiveUpdate (не более 10 символов) | |
ORDER_STATUS | Текущий статус заказа | |
PAYMETHOD | Метод платежа (не более 40 символов) | |
HASH | Подпись HMAC MD5 на основании полей выше |
Коды статуса заказа ORDER_STATUS от сервера метода IOS
Ключ | Описание |
---|---|
NOT_FOUND | Не найден/обработка не выполнена |
WAITING_PAYMENT | Размещен, ожидает платежа |
CARD_NOTAUTHORIZED | Карта не авторизована |
IN_PROGRESS | Платеж авторизован, заказ в стадии подтверждения |
PAYMENT_AUTHORIZED | Платеж авторизован, заказ подтвержден |
COMPLETE | Завершен (оплачен/доставлен) |
FRAUD | Подозрение на мошенничество |
INVALID | Покупатель ввел некорректные данные |
TEST | Тестовый заказ |
REVERSED | Заказ отменен, средства на счету покупателя разблокированы |
REFUND | Возврат платежа, деньги переведены обратно на счет покупателя |
## IRN - класс запроса уведомления об отмене/возврате Instant Refund Notification
IRN *irn = [[IRN alloc] initWithSecretKey:@"e5|S|X~0@l10_?R4b8|1"];
NSString *payrefno;
//Instant Refund Notification
//формируем заказ
NSMutableDictionary *orderDetails = [NSMutableDictionary new];
//данные заказа
[orderDetails setValue:@"ipolhtst" forKey:@"MERCHANT"];
[orderDetails setValue:@"3886786" forKey:@"ORDER_REF"];
if (payrefno) {
[orderDetails setValue:payrefno forKey:@"ORDER_REF"];
}
[orderDetails setValue:@"1234" forKey:@"ORDER_AMOUNT"];
[orderDetails setValue:@"RUB" forKey:@"ORDER_CURRENCY"];
[orderDetails setValue:@"2016-12-18 01:26:16" forKey:@"IRN_DATE"];
Переменная | Тип | Обязательно заполнять | Описание |
---|---|---|---|
SECRET_KEY | NSString | да | Секретный ключ |
MERCHANT | NSString | да | Идентификатор ТСП в системе PayU |
ORDER_REF | NSString | да | Идентификационный номер заказа, присваиваемый системой PayU |
ORDER_AMOUNT | NSString | да | Сумма заказа |
ORDER_CURRENCY | NSString | да | Валюта заказа |
IRN_DATE | NSString | да | Дата направления запроса об отмене заказа/возврате, которая указывается в следующем формате: гггг-мм-дд чч:мм:сс |
AMOUNT | NSString | нет | Сумма возврата. |
Если сумма, заданная этим параметром, меньше общей суммы заказа, направляется запрос ЧАСТИЧНОГО ВОЗВРАТА. | |||
Если параметр AMOUNT равен стоимости заказа, направляется ЗАПРОС ПОЛНОГО ВОЗВРАТА. | |||
Параметр не обязательный, но лучше его всегда передавать. | |||
REF_URL | NSString | нет | URL, на который посредством HTTP GET направляется ответ (при необходимости). В случае если данный параметр не выслан или его значение является неверным, ответ отображается в режиме "inline" (например: http://www.my-website.com/irn.php) |
PRODUCTS_IDS[] | NSArray | нет | Массив данных с идентификационными номерами продуктов для которых отправлен запрос ОТМЕНЫ/ВОЗВРАТА |
PRODUCTS_QTY[] | NSArray | нет | Массив данных о количестве, соответствующем продуктам, заданным параметром PRODUCTS_IDS |
[irn sendIRNRequest:orderDetails withResult:^(NSData *response, NSError *error) {
if (response) {
NSString *result = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:result delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
NSLog(@"%@",result);
}
else{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:nil message:error.localizedDescription delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
NSLog(@"%@",error);
}
}];
Варианты ответных сообщений
Ответ | Значение |
---|---|
ОК | |
ORDER_REF missing or incorrect | неверно указан или не указан номер заказа |
ORDER_AMOUNT missing or incorrect | неверно указана или не указана итоговая сумма возврата |
ORDER_CURRENCY is missing or incorrect | неверно указана (не указана) валюта возврата |
IRN_DATE is not in the correct format | некорректный формат поля IRN_DATE |
Error cancelling order | ошибка отмены заказа |
Order already cancelled | заказ уже был отменен |
Unknown error | неизвестная ошибка |
Invalid ORDER_REF | неверно указан номер заказа |
Invalid ORDER_AMOUNT | неверно указана итоговая сумма возврата |
Invalid ORDER_CURRENCY | Неверная валюта возврата |
AMOUNT missing or format incorrect | в запросе нет AMOUNT или его значение некорректно |
Invalid AMOUNT | неправильное значение AMOUNT |
Extra parameter ORDER_MPLACE_MERCHANT or ORDER_MPLACE_AMOUNT sent | отправлены избыточные параметры ORDER_MPLACE_MERCHANT или ORDER_MPLACE_AMOUNT |
ORDER_MPLACE_MERCHANT missing or format incorrect | параметра ORDER_MPLACE_MERCHANT нет в запросе или он передан некорректно |
ORDER_MPLACE_AMOUNT missing or format incorrect | параметра ORDER_MPLACE_AMOUNTнет в запросе или он передан некорректно |
Invalid ORDER_MPLACE_MERCHANT[] | неправильный код продавца в запросе |
Invalid ORDER_MPLACE_AMOUNT[] | неправильная сумма в запросе |
ORDER_MPLACE_MERCHANT[] and ORDER_MPLACE_AMOUNT[] not synchronized | ORDER_MPLACE_MERCHANT[] и ORDER_MPLACE_AMOUNT[] не синхронизированы |
Amount mismatch | сумма не соответствует ожидаемой |
ORDER_MPLACE_MERCHANT[] contains a duplicate value | в массиве ORDER_MPLACE_MERCHANT[] есть несколько одинаковых значений |
This payment method does not support refunds | для данного метода оплаты нельзя провести возврат |
Number of maximum refunds for this order reached | достигнуто максимальное количество возвратов по одной транзакции |
Multiple refund is not allowed for this order or the amount for refunds exceeded the total amount of the order | множественные возвраты не разрешены для данного заказа, или сумма для возврата превышает общую сумму заказа |
Maxim Melikhov, melikhov@ipolh.com
IOS_SDK_PAYU is available under the MIT license. See the LICENSE file for more info.