Technical Overview

This section is designed to give you a high-level overview of integrating with the Braintree In-Person product and its architecture.

Intro to Braintree GraphQLAnchorIcon

If you're new to GraphQL, you should familiarize yourself with some basic GraphQL concepts before digging into our In-Person documentation. For a quick introduction, see the Basic Concepts section. To get more in-depth, there are many great resources to learn GraphQL — to start with, we recommend Introduction to GraphQL and How to GraphQL.

The In-Person capabilities are simply an additional set of GraphQL Objects and Mutations. All resources in the detailed Braintree GraphQL guides will be applicable and can be leveraged during your integration with Braintree In-Person.

Understanding the In-Person GraphQL Object RelationshipsAnchorIcon

The API caller will act on behalf of a Merchant and can create as many InStoreLocations as required using the createInStoreLocation mutation. The InStoreLocation object is designed to represent a physical location that will contain card readers. You will receive a dynamically generated InStoreLocation.id to store for future changes to this location.

InStoreReaders are then paired to a specific InStoreLocation using the pairInStoreReader mutation. Multiple readers can be paired to a single InStoreLocation. You will receive a dynamically generated InStoreReader.id to store for initializing this reader.

InStoreContexts are created using the requestChargeFromInStoreReader mutation by providing the total checkout amount and the InStoreReader.id you want to initialize the transaction. The response will return a unique InStoreContext.id to reference while your application waits for the customer to interact with the reader.

Your application will check on an interval the status of the InStoreContext, and once the customer is finished interacting with the device, you will receive a Transaction object in the response.

What Card Reader models are supported?AnchorIcon

Braintree has partnered with Verifone to offer best-in-class payment terminal (card reader) hardware. This means that although Verifone might manufacture the hardware, most of the functionality and software running on the device is actually developed by Braintree. We currently support the below-listed hardware models. We will continue to update this documentation as we expand our hardware offering. For more information on how our hardware ordering and logistics process works, please consult your Solutions Engineer or Integration Engineer.

note

Sandbox card readers and Production card readers have the same behavior. However, they are not interchangeable. Only special test cards work on the sandbox card readers. Test cards do not work on production card readers. More info on the hardware specs is available here.

Card Reader

Description

Availability

The P400 card reader is a fixed lane device that is tethered to a power source. However, the device offers flexibility for network connection methods including both Ethernet and WiFi capabilities.

Available

The E285 card reader is a mobile device that does not require tethering to a power source. This device relies on WiFi network connectivity.

Available

The M400 reader is a fixed lane device that is tethered to a power source. The reader offers flexibility for network connection methods including both Ethernet and WiFi.

Available

High-Level Functionality SummaryAnchorIcon

Feature Name

Description

Link to Documentation

Sale

Facilitate an auth + capture in one request from your customer using the card reader

Authorize

Facilitate an authorization from your customer using the card reader

Refunds

Perform either a referenced or unreferenced refund to the customer

Vaulting

Retrieve a payment method token for future use or vault your customer information with Braintree

Line Item Display

Display sale line items on the card reader screen during scanning

Custom Prompts

Display custom text (surveys, terms & conditions, address confirmation, etc...) and collect customer input (boolean) or signature from the card reader

Card Data Collection

Swipe non-PCI Gift Cards or PLCC cards on the reader to collect the magstripe track data

QR Code Payments

Accept Venmo and PayPal using scannable QR codes on the card reader screen

Offline Processing

Accept payments while your internet is down