PaymentResult.java
package com.dmasone.identity.payment.application;
import com.dmasone.identity.payment.domain.PaymentAttempt;
import com.dmasone.identity.payment.domain.PaymentStatus;
import java.time.Instant;
import java.util.UUID;
/**
* Read model returned by payment application services and optional API
* endpoints.
*/
public record PaymentResult(
UUID id,
UUID orderId,
PaymentStatus status,
Instant requestedAt
) {
public static PaymentResult from(PaymentAttempt attempt) {
return new PaymentResult(attempt.id(), attempt.orderId(), attempt.status(), attempt.requestedAt());
}
}