mirror of
https://github.com/jillingk/java-spring-oldflow.git
synced 2026-03-10 08:01:21 +00:00
card is working..
This commit is contained in:
@@ -1 +1 @@
|
||||
1.5:8c33c12b-0476-4308-a4eb-0a0e3f6e7c04
|
||||
1.5:1bc4bf70-8db5-474a-b5a2-f8fb2ae33f67
|
||||
@@ -1 +1 @@
|
||||
1684332805
|
||||
1684402767
|
||||
@@ -1 +1 @@
|
||||
8c33c12b-0476-4308-a4eb-0a0e3f6e7c04
|
||||
1bc4bf70-8db5-474a-b5a2-f8fb2ae33f67
|
||||
@@ -1 +1 @@
|
||||
f8191b6c631844249c51d3efa644d6e5
|
||||
ab65842e8fd249f696bf8d5e92f3108d
|
||||
@@ -1,27 +1,27 @@
|
||||
-----BEGIN RSA PRIVATE KEY-----
|
||||
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
|
||||
-----END RSA PRIVATE KEY-----
|
||||
|
||||
@@ -17,6 +17,7 @@ dependencies {
|
||||
implementation 'org.springframework.boot:spring-boot-starter-web'
|
||||
implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect'
|
||||
implementation 'com.adyen:adyen-java-api-library:20.0.0'
|
||||
implementation 'jakarta.ws.rs:jakarta.ws.rs-api:3.1.0'
|
||||
implementation 'com.google.code.gson:gson:2.10.1'
|
||||
developmentOnly 'org.springframework.boot:spring-boot-devtools'
|
||||
testImplementation('org.springframework.boot:spring-boot-starter-test') {
|
||||
|
||||
@@ -16,6 +16,8 @@ import com.adyen.enums.Environment;
|
||||
import com.adyen.model.checkout.*;
|
||||
import com.adyen.service.checkout.PaymentsApi;
|
||||
import com.adyen.service.exception.ApiException;
|
||||
import com.google.gson.Gson;
|
||||
import com.google.gson.JsonObject;
|
||||
|
||||
/**
|
||||
* REST controller for using Adyen checkout API
|
||||
@@ -64,14 +66,32 @@ public class CheckoutResource {
|
||||
*/
|
||||
@PostMapping("/initiatePayment")
|
||||
public ResponseEntity<PaymentResponse> payments(@RequestBody String bodyRequest, HttpServletRequest request) throws IOException, ApiException {
|
||||
var body = PaymentRequest.fromJson(bodyRequest);
|
||||
System.out.println(bodyRequest);
|
||||
log.info(bodyRequest);
|
||||
// gson
|
||||
Gson gson = new Gson();
|
||||
JsonObject obj = gson.fromJson(bodyRequest, JsonObject.class);
|
||||
com.google.gson.JsonObject method = obj.getAsJsonObject("paymentMethod");
|
||||
CheckoutPaymentMethod paymentMethod = CheckoutPaymentMethod.fromJson(method.toString());
|
||||
log.info(paymentMethod.toString());
|
||||
|
||||
String type = method.getAsJsonPrimitive("type").toString();
|
||||
log.info(type);
|
||||
|
||||
BrowserInfo browserInfo;
|
||||
try {
|
||||
JsonObject obj2 = gson.fromJson(bodyRequest, JsonObject.class);
|
||||
com.google.gson.JsonObject browser = obj2.getAsJsonObject("browserInfo");
|
||||
browserInfo = BrowserInfo.fromJson(browser.toString());
|
||||
} catch (Exception exception){
|
||||
browserInfo = new BrowserInfo();
|
||||
}
|
||||
|
||||
var paymentRequest = new PaymentRequest();
|
||||
paymentRequest.setMerchantAccount(merchantAccount); // required
|
||||
paymentRequest.setChannel(PaymentRequest.ChannelEnum.WEB); // required
|
||||
|
||||
var amount = new Amount()
|
||||
.currency(findCurrency(body.getPaymentMethod().getActualInstance().getClass().getTypeName()))
|
||||
.currency(findCurrency(type))
|
||||
.value(1000L); // value is 10€ in minor units
|
||||
paymentRequest.setAmount(amount);
|
||||
|
||||
@@ -85,13 +105,13 @@ public class CheckoutResource {
|
||||
// required for 3ds2 native flow
|
||||
paymentRequest.setOrigin("http://localhost:8080");
|
||||
// required for 3ds2
|
||||
paymentRequest.setBrowserInfo(body.getBrowserInfo());
|
||||
paymentRequest.setBrowserInfo(browserInfo);
|
||||
// required by some issuers for 3ds2
|
||||
paymentRequest.setShopperIP(request.getRemoteAddr());
|
||||
|
||||
paymentRequest.setPaymentMethod(body.getPaymentMethod());
|
||||
paymentRequest.setPaymentMethod(paymentMethod);
|
||||
|
||||
var type = body.getPaymentMethod().getActualInstance().getClass().getTypeName();
|
||||
//var type2 = body.getPaymentMethod().getActualInstance().getClass().getTypeName();
|
||||
// required for Klarna
|
||||
if (type.contains("klarna")) {
|
||||
paymentRequest.setCountryCode("DE");
|
||||
@@ -112,6 +132,7 @@ public class CheckoutResource {
|
||||
|
||||
log.info("REST request to make Adyen payment {}", paymentRequest);
|
||||
var response = paymentsApi.payments(paymentRequest);
|
||||
log.info(response.toJson());
|
||||
return ResponseEntity.ok()
|
||||
.body(response);
|
||||
}
|
||||
@@ -140,6 +161,7 @@ public class CheckoutResource {
|
||||
*/
|
||||
@GetMapping("/handleShopperRedirect")
|
||||
public RedirectView redirect(@RequestParam(required = false) String payload, @RequestParam(required = false) String redirectResult, @RequestParam String orderRef) throws IOException, ApiException {
|
||||
log.info("skibidab");
|
||||
var detailsRequest = new DetailsRequest();
|
||||
if (redirectResult != null && !redirectResult.isEmpty()) {
|
||||
PaymentCompletionDetails paymentCompletionDetails = PaymentCompletionDetails.fromJson(redirectResult);
|
||||
|
||||
@@ -37,11 +37,15 @@ async function initCheckout() {
|
||||
},
|
||||
onSubmit: (state, component) => {
|
||||
if (state.isValid) {
|
||||
alert("");
|
||||
console.info("onSubmit");
|
||||
console.info(state, component);
|
||||
handleSubmission(state, component, "/api/initiatePayment");
|
||||
}
|
||||
},
|
||||
|
||||
onAdditionalDetails: (state, component) => {
|
||||
console.info("onAdditionalDetails");
|
||||
console.info(state, component);
|
||||
handleSubmission(state, component, "/api/submitAdditionalDetails");
|
||||
},
|
||||
};
|
||||
@@ -102,18 +106,26 @@ async function callServer(url, data) {
|
||||
|
||||
// Handles responses sent from your server to the client
|
||||
function handleServerResponse(res, component) {
|
||||
console.log(res.resultCode);
|
||||
if (res.action) {
|
||||
component.handleAction(res.action);
|
||||
console.log(res.action.actualInstance);
|
||||
let action = res.action.actualInstance;
|
||||
if(action.type = "REDIRECT"){
|
||||
action.type = "redirect"
|
||||
console.log(action.method);
|
||||
}
|
||||
console.log(action);
|
||||
component.handleAction(action);
|
||||
} else {
|
||||
switch (res.resultCode) {
|
||||
case "Authorised":
|
||||
case "AUTHORISED":
|
||||
window.location.href = "/result/success";
|
||||
break;
|
||||
case "Pending":
|
||||
case "Received":
|
||||
case "PENDING":
|
||||
case "RECEIVED":
|
||||
window.location.href = "/result/pending";
|
||||
break;
|
||||
case "Refused":
|
||||
case "REFUSED":
|
||||
window.location.href = "/result/failed";
|
||||
break;
|
||||
default:
|
||||
|
||||
Reference in New Issue
Block a user