S SmartDocs
Série: Bridget java 46 linhas · Atualizado 2026-03-29

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();
  }

}

Artigos relacionados

Bridget java Atualizado 2026-03-30

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).

Ler artigo →
Bridget java Atualizado 2026-03-20

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).

Ler artigo →
Bridget java Atualizado 2026-03-30

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).

Ler artigo →
Bridget java Atualizado 2026-04-14

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).

Ler artigo →
Bridget java Atualizado 2026-03-20

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).

Ler artigo →
Bridget java Atualizado 2026-03-29

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).

Ler artigo →