Add payment methods
Accepting more payment methods helps your business expand its global reach and improve checkout conversion.
Last updated
MoneyCollect.apiKey = "live_pr_xxx";
List<String> paymentMethodTypes = new ArrayList<>();
paymentMethodTypes.add("klarna");
paymentMethodTypes.add("card");
paymentMethodTypes.add("kakao_pay");
SessionCreateParams params =
SessionCreateParams.builder()
.setReturnUrl("http://localhost:4242/success.html")
.setCancelUrl("http://localhost:4242/cancel.html")
.setNotifyUrl("http://localhost:4242/success.html")
.setPaymentMethodTypes(paymentMethodTypes)
.setAmountTotal(1800L)
.setCurrency("USD")
.setOrderNo("C"+System.currentTimeMillis())
.setWebsite("https://www.localhost.com")
.setBillingDetails(SessionCreateParams.BillingDetails.builder()
.setAddress(SessionCreateParams.Address.builder()
.setCity("Hong Kong")
.setCountry("CN")
.setLine1("193 Prince Edward Road")
.setPostalCode("12222")
.setState("Hong Kong").build())
.setEmail("test@mc.com")
.setFirstName("Su")
.setLastName("Diana")
.setPhone("12222211")
.build()).build();
Session session = Session.create(params);
response.redirect(session.getUrl());MoneyCollect.apiKey = "live_pr_xxx";
PaymentMethod paymentMethod = PaymentMethod.create(
PaymentMethodCreateParams.builder()
.setType(PaymentMethodCreateParams.PaymentMethodType.Klarna)
.setBillingDetails(PaymentMethodCreateParams.BillingDetails.builder()
.setAddress(PaymentMethodCreateParams.Address.builder()
.setCity("Hong Kong")
.setCountry("CN")
.setLine1("193 Prince Edward Road")
.setPostalCode("12222")
.setState("Hong Kong").build())
.setEmail("test@mc.com")
.setFirstName("Su")
.setLastName("Diana")
.setPhone("12222211")
.build())
.build()
);
List<String> paymentMethodTypes = new ArrayList<>();
paymentMethodTypes.add(PaymentMethodCreateParams.PaymentMethodType.Klarna.getValue());
PaymentCreateParams params =
PaymentCreateParams.builder()
.setAmount(2000L)
.setCurrency("USD")
.setOrderNo("{order_no}")
.setNotifyUrl("http://localhost:4242/notify")
.setReturnUrl("http://localhost:4242/notify")
.setPaymentMethodTypes(paymentMethodTypes)
.setPaymentMethod(paymentMethod.getId())
.setFromChannel("APP") //(WEB, H5, APP, MINI)
.setIp("114.155.112.231") //Customer IP
.setConfirm(true)
.setAppScheme("moneycollect://payment:8080/webpay")
.build();
Payment payment = Payment.create(params);
if("requires_action".equals(payment.getStatus())) {
response.redirect(payment.getNextAction().getRedirectToUrl());
}