diff --git a/src/main/java/dev/vality/fraudbusters/converter/ContextToFraudRequestConverter.java b/src/main/java/dev/vality/fraudbusters/converter/ContextToFraudRequestConverter.java index 78dbd77f..ac5ccda3 100644 --- a/src/main/java/dev/vality/fraudbusters/converter/ContextToFraudRequestConverter.java +++ b/src/main/java/dev/vality/fraudbusters/converter/ContextToFraudRequestConverter.java @@ -32,6 +32,7 @@ public FraudRequest convert(Context context) { PaymentInfo payment = context.getPayment(); Party party = payment.getParty(); paymentModel.setPartyId(party.getPartyRef().getId()); + paymentModel.setCardToken(ClickhouseUtilsValue.UNKNOWN); Payer payer = context.getPayment().getPayment().getPayer(); PayerFieldExtractor.getBankCard(payer) .ifPresent(bankCard -> { @@ -40,7 +41,8 @@ public FraudRequest convert(Context context) { paymentModel.setBinCountryCode(bankCard.isSetIssuerCountry() ? bankCard.getIssuerCountry().name() : ClickhouseUtilsValue.UNKNOWN); - paymentModel.setCardToken(bankCard.getToken()); + paymentModel.setCardToken(bankCard.isSetToken() + ? bankCard.getToken() : ClickhouseUtilsValue.UNKNOWN); paymentModel.setRecurrent( paymentTypeByContextResolver.isRecurrent(context.getPayment().getPayment().getPayer()) ); diff --git a/src/main/java/dev/vality/fraudbusters/converter/PaymentToCheckedPaymentConverter.java b/src/main/java/dev/vality/fraudbusters/converter/PaymentToCheckedPaymentConverter.java index 25a8c2e9..678230c0 100644 --- a/src/main/java/dev/vality/fraudbusters/converter/PaymentToCheckedPaymentConverter.java +++ b/src/main/java/dev/vality/fraudbusters/converter/PaymentToCheckedPaymentConverter.java @@ -43,7 +43,8 @@ public CheckedPayment convert(Payment payment) { checkedPayment.setBin(paymentTool.isSetBankCard() ? paymentTool.getBankCard().getBin() : UNKNOWN); checkedPayment.setCardCategory(paymentTool.isSetBankCard() ? paymentTool.getBankCard().getCategory() : UNKNOWN); checkedPayment.setLastDigits(paymentTool.isSetBankCard() ? paymentTool.getBankCard().getLastDigits() : UNKNOWN); - checkedPayment.setCardToken(paymentTool.isSetBankCard() ? paymentTool.getBankCard().getToken() : UNKNOWN); + checkedPayment.setCardToken(paymentTool.isSetBankCard() && paymentTool.getBankCard().isSetToken() + ? paymentTool.getBankCard().getToken() : UNKNOWN); checkedPayment.setPaymentSystem(paymentTool.isSetBankCard() ? paymentTool.getBankCard().payment_system.getId() : UNKNOWN); diff --git a/src/main/java/dev/vality/fraudbusters/converter/PaymentToPaymentModelConverter.java b/src/main/java/dev/vality/fraudbusters/converter/PaymentToPaymentModelConverter.java index 34f8cd41..cf9b439d 100644 --- a/src/main/java/dev/vality/fraudbusters/converter/PaymentToPaymentModelConverter.java +++ b/src/main/java/dev/vality/fraudbusters/converter/PaymentToPaymentModelConverter.java @@ -32,7 +32,8 @@ public PaymentModel convert(Payment payment) { paymentModel.setCurrency(payment.getCost().getCurrency().getSymbolicCode()); paymentModel.setMobile(payment.isMobile()); paymentModel.setRecurrent(payment.isRecurrent()); - paymentModel.setCardToken(payment.getPaymentTool().getBankCard().getToken()); + paymentModel.setCardToken(payment.getPaymentTool().getBankCard().isSetToken() + ? payment.getPaymentTool().getBankCard().getToken() : UNKNOWN); paymentModel.setLastDigits(payment.getPaymentTool().getBankCard().getLastDigits()); paymentModel.setTimestamp(TimestampUtil.parseInstantFromString(payment.getEventTime()).toEpochMilli()); return paymentModel;