Integrate our products into your software. Let's make payment happen together!
Look at all the possibilitiesThe goal of a Reservation transaction is carrying out a transaction to reserve funds for a transaction done later.
A successful Reservation ensures the reservation of funds and gives a guarantee for the reserved amount.
The transaction is not intended to permit billing the cardholder’s account, the related “Sale after Reservation” transaction is intended for this purpose.
The case described above is for attended/semi-unattended terminals. For unattended terminals (ev-charging, vending machines, …) we have a separate flow/methods.
The scenario is the same but as these terminals meet other requirements they use other methods in card-preAuthorization and card-financialAdvice.
The examples for the unattended (Pax IM30) can be found here
The following code snippet demonstrates how you can perform a CardReservation.
Payment payment = Payment .builder() .type(Payment.Type.RESERVATION) .amount(Money.EUR(10)) .build(); PaymentApi paymentService = new PaymentService(); PaymentDelegate paymentDelegate = new PaymentDelegate() { ... }; paymentService.reservation(terminal, payment, paymentDelegate);
The following code snippet demonstrates how you can perform a reservation adjustment after a CardReservation.
Payment payment = Payment .builder() .type(Payment.Type.RESERVATION) .amount(Money.EUR(10)) .approvalCode("123456") .build(); PaymentApi paymentService = new PaymentService(); PaymentDelegate paymentDelegate = new PaymentDelegate() { ... }; paymentService.reservation(terminal, payment, paymentDelegate);
The following code snippet demonstrates how you can perform a sale after reservation.
Payment payment = Payment .builder() .type(Payment.Type.SALE) .amount(Money.EUR(10)) .approvalCode("123456") .build(); PaymentApi paymentService = new PaymentService(); PaymentDelegate paymentDelegate = new PaymentDelegate() { ... }; paymentService.payment(terminal, payment, paymentDelegate);
The following code snippet demonstrates how you can perform a card not present sale after reservation.
Payment payment = Payment .builder() .type(Payment.Type.SALE) .amount(Money.EUR(10)) .approvalCode("123456") .token("123456789") // This is the token of the Reservation .build(); PaymentApi paymentService = new PaymentService(); PaymentDelegate paymentDelegate = new PaymentDelegate() { ... }; paymentService.payment(terminal, payment, paymentDelegate);
The following code snippet demonstrates how you can perform a reservation adjustment after a CardReservation.
Payment payment = Payment .builder() .type(Payment.Type.RESERVATION) .amount(Money.EUR(10)) .approvalCode("123456") .token("123456") .build(); PaymentApi paymentService = new PaymentService(); PaymentDelegate paymentDelegate = new PaymentDelegate() { ... }; paymentService.reservation(terminal, payment, paymentDelegate);