PaymentMapper.java
Bridget/payment-gateway-challenge-java/src/main/java/com/checkout/payment/gateway/model/PaymentMapper.java
package com.checkout.payment.gateway.model;
import com.checkout.payment.gateway.enums.PaymentStatus;
import java.time.YearMonth;
import java.time.format.DateTimeFormatter;
import java.util.UUID;
public class PaymentMapper {
public static PostPaymentResponse toPostResponse(PostPaymentRequest request, UUID id, PaymentStatus status) {
return PostPaymentResponse.builder()
.id(id)
.status(status)
.cardNumberLastFour(request.getCardNumber().substring(request.getCardNumber().length()-4))
.expiryMonth(request.getExpiryMonth())
.expiryYear(request.getExpiryYear())
.currency(request.getCurrency())
.amount(request.getAmount())
.build();
}
public static BankPaymentRequest toBankRequest(PostPaymentRequest postPaymentRequest) {
String expiryDate = YearMonth.of(postPaymentRequest.getExpiryYear(), postPaymentRequest.getExpiryMonth())
.format(DateTimeFormatter.ofPattern("MM/yyyy"));
return BankPaymentRequest.builder()
.cardNumber(postPaymentRequest.getCardNumber())
.expiryDate(expiryDate)
.currency(postPaymentRequest.getCurrency())
.amount(postPaymentRequest.getAmount())
.cvv(postPaymentRequest.getCvv())
.build();
}
public static GetPaymentResponse toGetResponse(PostPaymentResponse postPaymentResponse) {
return GetPaymentResponse.builder()
.id(postPaymentResponse.getId())
.status(postPaymentResponse.getStatus())
.cardNumberLastFour(postPaymentResponse.getCardNumberLastFour())
.expiryMonth(postPaymentResponse.getExpiryMonth())
.expiryYear(postPaymentResponse.getExpiryYear())
.currency(postPaymentResponse.getCurrency())
.amount(postPaymentResponse.getAmount())
.build();
}
}
Articoli correlati
PaymentGatewayApplication.java
PaymentGatewayApplication.java — java source code from the Bridget learning materials (Bridget/payment-gateway-challenge-java/src/main/java/com/checkout/payment/gateway/PaymentGatewayApplication.java).
Leggi l'articolo →ApplicationConfiguration.java
ApplicationConfiguration.java — java source code from the Bridget learning materials (Bridget/payment-gateway-challenge-java/src/main/java/com/checkout/payment/gateway/configuration/ApplicationConfiguration.java).
Leggi l'articolo →RequestResponseLogger.java
RequestResponseLogger.java — java source code from the Bridget learning materials (Bridget/payment-gateway-challenge-java/src/main/java/com/checkout/payment/gateway/configuration/RequestResponseLogger.java).
Leggi l'articolo →PaymentGatewayController.java
PaymentGatewayController.java — java source code from the Bridget learning materials (Bridget/payment-gateway-challenge-java/src/main/java/com/checkout/payment/gateway/controller/PaymentGatewayController.java).
Leggi l'articolo →PaymentStatus.java
PaymentStatus.java — java source code from the Bridget learning materials (Bridget/payment-gateway-challenge-java/src/main/java/com/checkout/payment/gateway/enums/PaymentStatus.java).
Leggi l'articolo →BankErrorException.java
BankErrorException.java — java source code from the Bridget learning materials (Bridget/payment-gateway-challenge-java/src/main/java/com/checkout/payment/gateway/exception/BankErrorException.java).
Leggi l'articolo →