Ответ
Да, работал с различными платежными системами, включая Google Pay, Apple Pay, Stripe и PayPal.
Google Pay/Apple Pay:
Интегрировал через SDK, обрабатывал токенизацию платежей и верификацию на бэкенде.
Пример с Google Pay:
val paymentsClient = PaymentsClient.create(context)
val request = PaymentDataRequest.fromJson(jsonRequest)
AutoResolveHelper.resolveTask(
paymentsClient.loadPaymentData(request),
activity,
REQUEST_CODE
)
Stripe/PayPal:
Использовал их REST API и мобильные SDK для обработки карточных платежей, подписки и одноразовых транзакций.
Всегда соблюдал PCI DSS, токенизацию данных и защиту от MITM-атак через SSL-пиннинг.
Ответ 18+ 🔞
О, про интеграцию платежек рассказывать? Ну это, ёпта, целая эпопея, прямо хитрая жопа, а не работа. Вроде бы кнопку на экране нарисовал — и всё, но нихуя. Там под капотом овердохуища правил, протоколов и такого геморроя, что волосы дыбом встают.
С этими Гугл Пэй и Эппл Пэй, например. Вроде красиво: пользователь тыкнул пальцем, отпечаток приложил — и готово. А на деле тебе надо сначала их SDK воткнуть, который весит как хуй с горы, потом запросы эти ебанутые правильно сформировать, чтобы система не послала тебя нахуй с ошибкой. Вот смотри, в коде вроде всё просто:
val paymentsClient = PaymentsClient.create(context)
val request = PaymentDataRequest.fromJson(jsonRequest)
AutoResolveHelper.resolveTask(
paymentsClient.loadPaymentData(request),
activity,
REQUEST_CODE
)
Но этот jsonRequest, блядь, собрать — это надо быть семи пядей во лбу. Малейшая опечатка — и приложение крашнется, а пользователь охуеет, что у него деньги не прошли. Доверия ебать ноль после такого.
А потом, когда токен прилетел, тебе его на свой бэкенд отправить надо, а там ещё раз проверить, не подсунули ли тебе левую, ебать, подделку. В общем, сплошное подозрение ебать чувствую, когда с этим работаю.
С Stripe и PayPal — история отдельная. REST API у них мощный, да, но документация иногда такая, что ядрёна вошь. Найдёшь один способ, вроде работает, а через полгода они его deprecated объявят и говорят: «Переходите на новый, старый скоро вырубим». И сидишь, переписываешь половину логики, ебать копать. Зато, если настроил правильно, подписки и разовые платежи летают как по маслу. Главное — PCI DSS не проебать. Это святое. Все данные карт должны быть токенизированы, чтобы у тебя на сервере даже намёка на номер карты не оставалось. Иначе — пиzдец тебе и твоему стартапу.
И да, про безопасность. SSL-пиннинг — это must have, ебать мои старые костыли. Без этого какой-нибудь хитрожопый школьник с прокси может MITM-атаку устроить и все твои «безопасные» платежи перехватить. Представляешь? Ты полгода интеграцию пилил, а какой-то пидарас шерстяной всё это обходит за пять минут. Так что тут расслабляться нельзя, терпения ноль ебать, надо всё десять раз перепроверять.
В общем, работа интересная, но иногда так вымотаешься, что сам от себя охуеваешь. Зато когда всё работает, и касса звенеть начинает — красота.