├── .gitignore ├── .mvn └── wrapper │ ├── MavenWrapperDownloader.java │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml └── src ├── main ├── java │ └── com │ │ └── example │ │ └── paymentgateway │ │ ├── PaymentGatewayApplication.java │ │ ├── controller │ │ └── PaymentController.java │ │ ├── gateway │ │ ├── PaymentGateway.java │ │ └── impl │ │ │ └── DefaultPaymentGatewayImpl.java │ │ ├── model │ │ ├── constant │ │ │ └── PaymentProviderType.java │ │ ├── request │ │ │ ├── PaymentRequest.java │ │ │ ├── ProviderOnePaymentRequest.java │ │ │ ├── ProviderThreePaymentRequest.java │ │ │ └── ProviderTwoPaymentRequest.java │ │ └── response │ │ │ ├── PaymentResponse.java │ │ │ ├── ProviderOnePaymentResponse.java │ │ │ ├── ProviderThreePaymentResponse.java │ │ │ └── ProviderTwoPaymentResponse.java │ │ ├── provider │ │ ├── PaymentProvider.java │ │ └── impl │ │ │ └── DefaultPaymentProviderImpl.java │ │ └── service │ │ ├── PaymentService.java │ │ └── impl │ │ ├── ProviderOnePaymentServiceImpl.java │ │ ├── ProviderThreePaymentServiceImpl.java │ │ └── ProviderTwoPaymentServiceImpl.java └── resources │ └── application.properties └── test └── java └── com └── example └── paymentgateway └── PaymentGatewayApplicationTests.java /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/.gitignore -------------------------------------------------------------------------------- /.mvn/wrapper/MavenWrapperDownloader.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/.mvn/wrapper/MavenWrapperDownloader.java -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/mvnw -------------------------------------------------------------------------------- /mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/mvnw.cmd -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/pom.xml -------------------------------------------------------------------------------- /src/main/java/com/example/paymentgateway/PaymentGatewayApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/src/main/java/com/example/paymentgateway/PaymentGatewayApplication.java -------------------------------------------------------------------------------- /src/main/java/com/example/paymentgateway/controller/PaymentController.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/src/main/java/com/example/paymentgateway/controller/PaymentController.java -------------------------------------------------------------------------------- /src/main/java/com/example/paymentgateway/gateway/PaymentGateway.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/src/main/java/com/example/paymentgateway/gateway/PaymentGateway.java -------------------------------------------------------------------------------- /src/main/java/com/example/paymentgateway/gateway/impl/DefaultPaymentGatewayImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/src/main/java/com/example/paymentgateway/gateway/impl/DefaultPaymentGatewayImpl.java -------------------------------------------------------------------------------- /src/main/java/com/example/paymentgateway/model/constant/PaymentProviderType.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/src/main/java/com/example/paymentgateway/model/constant/PaymentProviderType.java -------------------------------------------------------------------------------- /src/main/java/com/example/paymentgateway/model/request/PaymentRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/src/main/java/com/example/paymentgateway/model/request/PaymentRequest.java -------------------------------------------------------------------------------- /src/main/java/com/example/paymentgateway/model/request/ProviderOnePaymentRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/src/main/java/com/example/paymentgateway/model/request/ProviderOnePaymentRequest.java -------------------------------------------------------------------------------- /src/main/java/com/example/paymentgateway/model/request/ProviderThreePaymentRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/src/main/java/com/example/paymentgateway/model/request/ProviderThreePaymentRequest.java -------------------------------------------------------------------------------- /src/main/java/com/example/paymentgateway/model/request/ProviderTwoPaymentRequest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/src/main/java/com/example/paymentgateway/model/request/ProviderTwoPaymentRequest.java -------------------------------------------------------------------------------- /src/main/java/com/example/paymentgateway/model/response/PaymentResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/src/main/java/com/example/paymentgateway/model/response/PaymentResponse.java -------------------------------------------------------------------------------- /src/main/java/com/example/paymentgateway/model/response/ProviderOnePaymentResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/src/main/java/com/example/paymentgateway/model/response/ProviderOnePaymentResponse.java -------------------------------------------------------------------------------- /src/main/java/com/example/paymentgateway/model/response/ProviderThreePaymentResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/src/main/java/com/example/paymentgateway/model/response/ProviderThreePaymentResponse.java -------------------------------------------------------------------------------- /src/main/java/com/example/paymentgateway/model/response/ProviderTwoPaymentResponse.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/src/main/java/com/example/paymentgateway/model/response/ProviderTwoPaymentResponse.java -------------------------------------------------------------------------------- /src/main/java/com/example/paymentgateway/provider/PaymentProvider.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/src/main/java/com/example/paymentgateway/provider/PaymentProvider.java -------------------------------------------------------------------------------- /src/main/java/com/example/paymentgateway/provider/impl/DefaultPaymentProviderImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/src/main/java/com/example/paymentgateway/provider/impl/DefaultPaymentProviderImpl.java -------------------------------------------------------------------------------- /src/main/java/com/example/paymentgateway/service/PaymentService.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/src/main/java/com/example/paymentgateway/service/PaymentService.java -------------------------------------------------------------------------------- /src/main/java/com/example/paymentgateway/service/impl/ProviderOnePaymentServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/src/main/java/com/example/paymentgateway/service/impl/ProviderOnePaymentServiceImpl.java -------------------------------------------------------------------------------- /src/main/java/com/example/paymentgateway/service/impl/ProviderThreePaymentServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/src/main/java/com/example/paymentgateway/service/impl/ProviderThreePaymentServiceImpl.java -------------------------------------------------------------------------------- /src/main/java/com/example/paymentgateway/service/impl/ProviderTwoPaymentServiceImpl.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/src/main/java/com/example/paymentgateway/service/impl/ProviderTwoPaymentServiceImpl.java -------------------------------------------------------------------------------- /src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /src/test/java/com/example/paymentgateway/PaymentGatewayApplicationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/e92Edvin/payment-gateway/HEAD/src/test/java/com/example/paymentgateway/PaymentGatewayApplicationTests.java --------------------------------------------------------------------------------