This commit is contained in:
Constantin Simonis 2025-02-13 09:42:42 +01:00
parent 0ef2f58379
commit 177dd78592
No known key found for this signature in database
GPG key ID: 758DD9C506603183
11 changed files with 148 additions and 1 deletions

View file

@ -0,0 +1,48 @@
package de.szut.casino.deposit;
import com.stripe.Stripe;
import com.stripe.exception.StripeException;
import com.stripe.model.checkout.Session;
import com.stripe.param.InvoiceItemCreateParams;
import com.stripe.param.PriceCreateParams;
import com.stripe.param.checkout.SessionCreateParams;
import de.szut.casino.deposit.dto.AmountDto;
import de.szut.casino.deposit.dto.SessionIdDto;
import org.springframework.boot.autoconfigure.cassandra.CassandraProperties;
import org.springframework.http.ResponseEntity;
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.RestController;
@RestController
public class DepositController {
@PostMapping("/deposit/checkout")
public ResponseEntity<? extends Object> checkout(@RequestBody AmountDto amountDto) {
Stripe.apiKey = "sk_test_51QrePYIvCfqz7ANgqam8rEwWcMeKiLOof3j6SCMgu2sl4sESP45DJxca16mWcYo1sQaiBv32CMR6Z4AAAGQPCJo300ubuZKO8I";
try {
SessionCreateParams params = SessionCreateParams.builder()
.addLineItem(SessionCreateParams.LineItem.builder()
.setPriceData(InvoiceItemCreateParams.PriceData.builder()
.setCurrency("EUR")
.setUnitAmount(1L)
.build()
)
.build())
.setSuccessUrl("http://localhost:8080/deposit/success")
.setMode(SessionCreateParams.Mode.PAYMENT)
.build();
try {
Session session = Session.create(params);
return ResponseEntity.ok(new SessionIdDto(session.getId()));
} catch (StripeException e) {
return ResponseEntity.ok(e);
}
} catch (Exception e) {
return ResponseEntity.ok(e);
}
}
}

View file

@ -0,0 +1,21 @@
package de.szut.casino.deposit.dto;
public class AmountDto {
private double amount;
public AmountDto() {
}
public AmountDto(double amount) {
this.amount = amount;
}
public double getAmount() {
return amount;
}
public void setAmount(double amount) {
this.amount = amount;
}
}

View file

@ -0,0 +1,21 @@
package de.szut.casino.deposit.dto;
public class SessionIdDto {
private String sessionId;
public SessionIdDto() {
}
public SessionIdDto(String sessionId) {
this.sessionId = sessionId;
}
public String getSessionId() {
return sessionId;
}
public void setSessionId(String sessionId) {
this.sessionId = sessionId;
}
}