/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/java/java-503-101-037/main.java
25 строк
1 KB
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
public class PaymentProcessor { public CompletableFuture<PaymentResult> processPaymentAsync(PaymentRequest request) { return CompletableFuture.supplyAsync(() -> validateRequest(request)) .thenCompose(validatedRequest -> authorizePayment(validatedRequest)) .thenCompose(authorization -> capturePayment(authorization)) .thenApply(captureResult -> buildPaymentResult(captureResult)) .exceptionally(ex -> handlePaymentError(ex, request)); } private PaymentRequest validateRequest(PaymentRequest request) { if (request.getAmount().compareTo(BigDecimal.ZERO) <= 0) { throw new IllegalArgumentException("Amount must be positive"); } return request; } private CompletableFuture<Authorization> authorizePayment(PaymentRequest request) { return paymentGateway.authorize(request); } private CompletableFuture<CaptureResult> capturePayment(Authorization auth) { return paymentGateway.capture(auth); } }