Terminal
Cart display

Displaying cart details

Dynamically update cart details on the reader screen.

The Verifone P400 reader’s built-in screen can display line items. During the checkout process, you can update the reader’s screen to show individual items in the transaction, along with the total price.

Set the reader display

To set the line items and total displayed on the reader during a payment, pass line items and total information into the setReaderDisplay method. The object you pass in will drive the contents displayed on the reader’s screen.

Note that the amounts passed to the setReaderDisplay method are only used for display purposes. The Verifone P400 will not automatically calculate tax or the total; your application must calculate those before displaying the values. Similarly, the total passed to setReaderDisplay does not control the amount charged to the customer; make sure the amount displayed on the reader matches the amount you’re charging your customer.

To reset the Verifone P400’s display from a line item interface to the splash screen, call the clearReaderDisplay method.

terminal.setReaderDisplay({ type: 'cart', cart: { line_items: [ { description: "Caramel latte", amount: 659, quantity: 1, }, { description: "Dozen donuts", amount: 1239, quantity: 1, }, ], tax: 100, total: 1998, currency: 'usd', }, });
SCPCart *cart = [[SCPCart alloc] initWithCurrency:@"usd" tax:100 total:1998]; [cart.lineItems addObject:[[SCPCartLineItem alloc] initWithDisplayName:@"Caramel latte" quantity:1 amount:659]]; [cart.lineItems addObject:[[SCPCartLineItem alloc] initWithDisplayName:@"Dozen donuts" quantity:1 amount:1239]]; [SCPTerminal.shared setReaderDisplay:cart completion:^(NSError * _Nullable error) { // Check for errors }];
let cart = SCPCart(currency: "usd", tax: 1998, total: 100) cart.lineItems = [ SCPCartLineItem(displayName: "Caramel latte", quantity: 1, amount: 659), SCPCartLineItem(displayName: "Dozen donuts", quantity: 1, amount: 1239) ] Terminal.shared.setReaderDisplay(cart) { (error) in // Check for errors }

Pre-dipping a card

The Verifone P400 supports the ability to present a card to the reader before the transaction amount is finalized. This option—known as pre-dip, pre-tap, or pre-swipe—can help speed up transaction times by allowing a customer to present a payment method before the end of the transaction.

The setReaderDisplay method prepares the reader for pre-dipping. The customer can present a payment method at any point after the method is called.

Even if a customer pre-dips their card, your application must still complete the full payment flow.

Was this page helpful?
Questions? Contact us.
Developer tutorials on YouTube.