Single Line enables you to seamlessly integrate card payment directly on your website with a single visual element.
In the following example, you can see how simple it is to embed card payments with a card component.
Use these card details to test different scenarios
@Controller
public class ExamplesController {
private static final String PRIVATE_KEY = "pr_test_tXHm9qV9qV9bjIRHcQr9PLPa";
@RequestMapping(value = "/examples/single-line", method = GET)
public String singleLine(Model model) {
return "examples/single-line";
}
@RequestMapping(value = "/examples/single-line/payment", method = POST)
public String singleLineSubmit(Model model, @RequestParam String tokenId) throws IOException {
model.addAttribute("tokenId", tokenId);
try (Shift4Gateway shift4Gateway = new Shift4Gateway(PRIVATE_KEY)) {
ChargeRequest request = new ChargeRequest()
.amount(2499)
.currency("USD")
.card(new CardRequest(tokenId));
Charge charge = shift4Gateway.createCharge(request);
model.addAttribute("chargeId", charge.getId());
} catch (Shift4Exception e) {
model.addAttribute("errorType", e.getType());
model.addAttribute("errorCode", e.getCode());
model.addAttribute("errorMessage", e.getMessage());
model.addAttribute("chargeId", e.getChargeId());
}
return "examples/single-line";
}
}