tinkoff-mobile-tech / tinkoff-asdk-ios-old

Tinkoff Acquiring SDK for iOS
Other
36 stars 17 forks source link

ErrorCode = 308 #21

Closed GevorgNanyan closed 4 years ago

GevorgNanyan commented 5 years ago

когда я пытаюсь изменить параметры на исходные (ключ терминала, пароль ....), там просто появляется ошибка 308

failure Error Domain=ru.tcsbank.asdk Code=308 "(null)" UserInfo={errorMessage=The amount in the check and in the payment do not match., acquringResponse=ASDKAcquiringResponse object with data: { ErrorCode = 308; Message = "The amount in the check and in the payment do not match."; Success = 0; }}

slavabuv commented 5 years ago

ErrorCode = 308; Message = "The amount in the check and in the payment do not match."; Сумма оплаты и сумма в чеке должны совпадать Init - создание заказа, Структура объекта Receipt В SampleProject из списка товаров оплатить можно товар на сумму 200р. другие суммы будут отбиваться с такой же ошибкой.

artemKolyadin commented 5 years ago

На данный момент судя по всему работает в обратном порядке. Если в чеке и параметре метода значения amount НЕ совпадают - все срабатывает. Если же в receiptData указать let receiptData: [String: Any] = [ "Email": "user@mail.com", "Taxation": "osn", "Items": [ ["Name": "Название товара 1", "Price": 100, "Quantity": 1, "Amount": 100, "Tax": "vat10", "Ean13": "0123456789", "ShopCode": "12345"], ]]

И в метод .presentPaymentForm передать amount: 100, возвращается с ошибкой 308.

Подскажите пожалуйста, в чем может быть проблема?

UPD: Amount как параметр в метод -> в рублях Amount в receiptData -> в копейках?

romansavrulin commented 5 years ago

Столкнулся с этим же. Техподдержка делает круглые глаза. Мол, покажите где неправильно, формируйте правильный объект. Но, господа, вы же даете тестовое демо приложение, правда? Разве не ваша задача сделать так, чтобы оно правильно считало суммы?

romansavrulin commented 5 years ago

UPD: Сейчас в приложении платежи захардкожены и никак не связаны с базой данных товаров

https://github.com/TinkoffCreditSystems/tinkoff-asdk-ios/blob/63cffc7e542ccd1c2c3810a9f84afe4f1e121412/SampleProject/ASDKSampleApp/Source/DetailInfo/DetailInfoTableViewController.m#L246-L250

https://github.com/TinkoffCreditSystems/tinkoff-asdk-ios/blob/63cffc7e542ccd1c2c3810a9f84afe4f1e121412/SampleProject/ASDKSampleApp/Source/DetailInfo/DetailInfoTableViewController.m#L206-L208

Было бы логичным получать реальные данные из модели и формировать платеж на основе них

slavabuv commented 5 years ago

UPD: Сейчас в приложении платежи захардкожены и никак не связаны с базой данных товаров Было бы логичным получать реальные данные из модели и формировать платеж на основе них

про какую реальную базу товаров идет речь?

romansavrulin commented 5 years ago

@slavabuv ну там же есть json с описанием товаров для модели. Почему бы оттуда не брать значения динамически, а не просто предоставить пример вызова? На этой же страничке вьюха получает реальные значения оттуда.