S SmartDocs
シリーズ: Bridget java 37 行 · 更新日 2026-05-08

FraudCheckController.java

Bridget/payment-gateway-microservices/services/fraud-check-service/src/main/java/com/checkout/paymentgw/fraud/api/FraudCheckController.java

package com.checkout.paymentgw.fraud.api;

import com.checkout.paymentgw.fraud.engine.FraudEngine;
import com.fasterxml.jackson.annotation.JsonProperty;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
@RequestMapping("/internal")
public class FraudCheckController {

    private final FraudEngine engine;

    public FraudCheckController(FraudEngine engine) {
        this.engine = engine;
    }

    @PostMapping("/screen")
    public Decision screen(@RequestHeader(value = "X-Merchant-Id", defaultValue = "anonymous") String merchantId,
                           @RequestBody ScreenRequest request) {
        return engine.evaluate(merchantId, request);
    }

    public record ScreenRequest(
            @NotBlank @JsonProperty("card_number") String cardNumber,
            @NotBlank String currency,
            @NotNull Integer amount) {}

    public record Decision(String decision, List<String> reasons) {}
}

関連記事

Bridget java 更新日 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).

記事を読む →
Bridget java 更新日 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).

記事を読む →
Bridget java 更新日 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).

記事を読む →
Bridget java 更新日 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).

記事を読む →
Bridget java 更新日 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).

記事を読む →
Bridget java 更新日 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).

記事を読む →