Commit 6db64144 authored by Darrick Yong's avatar Darrick Yong

add cc json and updated cc response

parent 310349fc
Swagger UI: http://localhost:8080/swagger-ui/index.html
\ No newline at end of file
...@@ -24,6 +24,8 @@ dependencies { ...@@ -24,6 +24,8 @@ dependencies {
testImplementation 'org.springframework.boot:spring-boot-starter-test:2.5.3' testImplementation 'org.springframework.boot:spring-boot-starter-test:2.5.3'
compileOnly 'org.projectlombok:lombok' compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok'
implementation "io.springfox:springfox-boot-starter:3.0.0"
compileOnly "io.springfox:springfox-swagger-ui:3.0.0"
} }
test { test {
......
...@@ -21,7 +21,7 @@ public class CreditCardController { ...@@ -21,7 +21,7 @@ public class CreditCardController {
@PostMapping(value = "/authorize", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE) @PostMapping(value = "/authorize", consumes = MediaType.APPLICATION_JSON_VALUE, produces = MediaType.APPLICATION_JSON_VALUE)
public CreditCardResponse authorize(@RequestBody CreditCardRequest ccRequest) { public CreditCardResponse authorize(@RequestBody CreditCardRequest ccRequest) {
logger.info("this is controller"); logger.info("this is CC controller");
return ccService.authorize(ccRequest); return ccService.authorize(ccRequest);
} }
......
package com.nisum.paymentvendorsimulator.creditcard.domain.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class CreditCardAdditionalData {
private String avsResult;
private String cardSummary;
private String refusalReasonRaw;
private String eci;
private String acquirerAccountCode;
private String expiryDate;
private String xid;
private String cavvAlgorithm;
private String cardBin;
private String threeDAuthenticated;
private String cvcResultRaw;
private String paymentMethodVariant;
private String acquirerReference;
private String cardIssuingCountry;
private String liabilityShift;
private String authCode;
private String cardHolderName;
private String isCardCommercial;
private String threeDOffered;
private String threeDOfferedResponse;
private String authorisationMid;
private String issuerCountry;
private String cvcResult;
private String cavv;
private String threeDAuthenticatedResponse;
private String avsResultRaw;
private String paymentMethod;
private String cardPaymentMethod;
private String acquirerCode;
}
package com.nisum.paymentvendorsimulator.creditcard.domain.dto;
import lombok.AllArgsConstructor;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
public class CreditCardAuthorizeResponse {
CreditCardAdditionalData additionalData;
private String pspReference;
private String resultCode;
private String authCode;
}
...@@ -2,19 +2,21 @@ package com.nisum.paymentvendorsimulator.creditcard.domain.dto; ...@@ -2,19 +2,21 @@ package com.nisum.paymentvendorsimulator.creditcard.domain.dto;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
@Getter @Getter
@Setter @Setter
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor
public class CreditCardResponse { public class CreditCardResponse {
String pspReference; String cardNumber;
String resultCode; String cvv;
String authCode; Boolean address;
String amount;
CreditCardAuthorizeResponse creditCardAuthorizeResponse;
public CreditCardResponse() {
}
} }
package com.nisum.paymentvendorsimulator.creditcard.services; package com.nisum.paymentvendorsimulator.creditcard.services;
import com.nisum.paymentvendorsimulator.creditcard.domain.dto.CreditCardAdditionalData;
import com.nisum.paymentvendorsimulator.creditcard.domain.dto.CreditCardAuthorizeResponse;
import com.nisum.paymentvendorsimulator.creditcard.domain.dto.CreditCardRequest; import com.nisum.paymentvendorsimulator.creditcard.domain.dto.CreditCardRequest;
import com.nisum.paymentvendorsimulator.creditcard.domain.dto.CreditCardResponse; import com.nisum.paymentvendorsimulator.creditcard.domain.dto.CreditCardResponse;
import org.slf4j.Logger; import org.slf4j.Logger;
...@@ -13,6 +15,22 @@ public class CreditCardService { ...@@ -13,6 +15,22 @@ public class CreditCardService {
public CreditCardResponse authorize(CreditCardRequest ccRequest) { public CreditCardResponse authorize(CreditCardRequest ccRequest) {
logger.info(String.valueOf(ccRequest)); logger.info(String.valueOf(ccRequest));
return new CreditCardResponse("12312313", "Authorised", "092467"); CreditCardResponse res = new CreditCardResponse();
res.setCardNumber(ccRequest.getCard().getNumber());
res.setCvv(ccRequest.getCard().getCvc());
res.setAddress(true);
res.setAmount(ccRequest.getAmount().getValue());
CreditCardAuthorizeResponse ccAR = new CreditCardAuthorizeResponse();
CreditCardAdditionalData additionalData = new CreditCardAdditionalData();
additionalData.setExpiryDate(ccRequest.getCard().getExpiryMonth() + "/" + ccRequest.getCard().getExpiryYear());
ccAR.setAdditionalData(additionalData);
ccAR.setPspReference("123");
res.setCreditCardAuthorizeResponse(ccAR);
return res;
} }
} }
...@@ -2,16 +2,16 @@ package com.nisum.paymentvendorsimulator.paypal.domain.dto; ...@@ -2,16 +2,16 @@ package com.nisum.paymentvendorsimulator.paypal.domain.dto;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
@Getter @Getter
@Setter @Setter
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor
public class PayPalAmount { public class PayPalAmount {
String value; String value;
String currency_code; String currency_code;
public PayPalAmount() {
}
} }
...@@ -2,16 +2,16 @@ package com.nisum.paymentvendorsimulator.paypal.domain.dto; ...@@ -2,16 +2,16 @@ package com.nisum.paymentvendorsimulator.paypal.domain.dto;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
@Getter @Getter
@Setter @Setter
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor
public class PayPalLink { public class PayPalLink {
String rel; String rel;
String method; String method;
String href; String href;
public PayPalLink() {
}
} }
...@@ -2,6 +2,7 @@ package com.nisum.paymentvendorsimulator.paypal.domain.dto; ...@@ -2,6 +2,7 @@ package com.nisum.paymentvendorsimulator.paypal.domain.dto;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import java.time.LocalDateTime; import java.time.LocalDateTime;
...@@ -10,6 +11,7 @@ import java.util.List; ...@@ -10,6 +11,7 @@ import java.util.List;
@Getter @Getter
@Setter @Setter
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor
public class PayPalResponse { public class PayPalResponse {
String id; String id;
...@@ -22,8 +24,6 @@ public class PayPalResponse { ...@@ -22,8 +24,6 @@ public class PayPalResponse {
LocalDateTime update_time; LocalDateTime update_time;
List<PayPalLink> links; List<PayPalLink> links;
public PayPalResponse() {
}
} }
...@@ -2,6 +2,7 @@ package com.nisum.paymentvendorsimulator.paypal.domain.dto; ...@@ -2,6 +2,7 @@ package com.nisum.paymentvendorsimulator.paypal.domain.dto;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.Getter; import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter; import lombok.Setter;
import java.util.List; import java.util.List;
...@@ -9,11 +10,10 @@ import java.util.List; ...@@ -9,11 +10,10 @@ import java.util.List;
@Getter @Getter
@Setter @Setter
@AllArgsConstructor @AllArgsConstructor
@NoArgsConstructor
public class PayPalSellerProtection { public class PayPalSellerProtection {
String status; String status;
List<String> dispute_categories; List<String> dispute_categories;
public PayPalSellerProtection() {
}
} }
{
"cardNumber": "4111111111111111",
"cvv": "default",
"address": true,
"amount": "1",
"creditCardAuthorizeResponse": {
"additionalData": {
"avsResult": "4 AVS not supported for this card type",
"cardSummary": "1111",
"refusalReasonRaw": "AUTHORISED",
"eci": "N/A",
"acquirerAccountCode": "TestPmmAcquirerAccount",
"expiryDate": "8/2018",
"xid": "N/A",
"cavvAlgorithm": "N/A",
"cardBin": "411111",
"threeDAuthenticated": "false",
"cvcResultRaw": "1",
"paymentMethodVariant": "visa",
"acquirerReference": "7CAI01SQB4C",
"cardIssuingCountry": "NL",
"liabilityShift": "false",
"authCode": "52328",
"cardHolderName": "Naga Bolla",
"isCardCommercial": "unknown",
"threeDOffered": "false",
"threeDOfferedResponse": "N/A",
"authorisationMid": "1000",
"issuerCountry": "NL",
"cvcResult": "1 Matches",
"cavv": "N/A",
"threeDAuthenticatedResponse": "N/A",
"avsResultRaw": "4",
"paymentMethod": "visa",
"cardPaymentMethod": "visa",
"acquirerCode": "TestPmmAcquirer"
},
"pspReference": "8525125468317115",
"resultCode": "Authorised",
"authCode": "52328"
}
}
// PSP - payment service provider
// AVS - address verification service
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment