Ілля Шкура
EN UK RU

Нотатки · Перевірте свій застосунок

Три перевірки, які можна зробити у своєму застосунку.

Кожна походить від справжньої проблеми, знайденої в застосунку, зібраному з ШІ. Робіть їх у своєму застосунку, з акаунтами, заведеними для цього, а все, що стосується грошей, — у тестовому режимі, щоб жодному справжньому клієнту не списали гроші й не надіслали листа.

Дві хвилини

Чи може один акаунт відкрити чужі дані?

У демонстраційному магазині будь-який новий акаунт міг прочитати імена й адреси гостей за номером замовлення.

Уся історія цієї проблеми →
  • Заведіть два акаунти, A і B. Під A створіть щось приватне: замовлення, рахунок, бронювання. Під B відкрийте це за адресою чи номером. Має бути відмова.
  • Тепер зробіть те саме із записом без власника, наприклад із замовленням, зробленим без входу, чи з чернеткою. Відкрийте його під B, а потім ще раз без входу.
  • Якщо номери в адресі йдуть підряд, спробуйте кілька сусідніх із вашим.
  • Якщо щось відкрилося, поставте тому, хто збирав застосунок, одне питання: «Які функції чи серверні маршрути читають дані з повними правами і що робить кожен із них, коли поле власника порожнє?»

П'ять хвилин

Чи може повернення бути більшим за замовлення?

У тому самому магазині на замовлення за €29,99 можна було записати повернення €500, і покупець отримував про це листа.

Уся історія цієї проблеми →
  • Знайдіть кожне місце, де записується повернення: сторінку в адмінці, кнопку «mark as refunded», обробник події Stripe charge.refunded, автоматизацію, яка записує повернення в таблицю.
  • Введіть суму, більшу за замовлення. Її відхиляють ще до збереження чи лише повідомленням на сторінці?
  • Зробіть за одним замовленням два часткові повернення, які разом перевищують сплачене.
  • Відкрийте форму повернення у двох вкладках і надішліть обидві одночасно.
  • Після кожної спроби подивіться на три речі: замовлення, суму повернень за місяць і лист, який отримав покупець.

Близько години

Чи збігається тариф у застосунку зі Stripe?

У демонстраційному порталі подарований тариф, призупинення, передача і незавершене видалення лишали картку платити далі.

Уся історія цієї проблеми →
  • Випишіть усі способи, якими у вашому застосунку може змінитися тариф, крім купівлі й скасування. Згадайте адмінку, подарований тариф, купон, призупинення чи блокування, передачу акаунта іншій людині, його видалення і все, що може зробити ваша підтримка.
  • У тестовому режимі зробіть кожне з них з акаунтом, який платить. Потім відкрийте цього клієнта в кабінеті Stripe. Якщо ваш застосунок каже Free, призупинено чи видалено, а Stripe досі показує дату наступного платежу, з цієї картки спишуть гроші.
  • Щоб побачити саме продовження, не чекаючи місяць, скористайтеся тестовими годинниками Stripe (test clocks): вони переводять тестову підписку вперед у часі.
  • Спробуйте піти як клієнт у кожному стані: коли акаунт призупинено, щойно після передачі і коли акаунт більший, ніж дозволяє ваш безкоштовний тариф. Чи може клієнт скасувати тариф у застосунку? Чи дає це зробити сторінка оплати Stripe?
  • Якщо код писав хтось інший, поставте йому одне запитання: «Перелічіть усі місця, де змінюється тариф, і для кожного скажіть, що відбувається з підпискою Stripe». Якщо хоч десь відповідь на кшталт «нічого», це і є діра.

Щось пройшло?

Напишіть, що знайшли, або надішліть посилання на код. Відповідаю поштою, дзвінок не потрібен. Ці три — лише те, що можна перевірити вручну; перевірка проходить кожну роль і кожен шлях.

sebeksmail@gmail.com