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 GraphQL
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 Relationships
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?
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.
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 Summary
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 |