Bread Carts

Carts Overview

The Bread Carts feature allows merchants to pre-configure and send carts to customers, who can then check out with financing through a full-page browser redirect. The Carts feature can be leveraged by your front-line CSR and Sales teams to reduce time and friction in the customer checkout process.

Pre-configured carts can contain:

  • Items (e.g., price, SKU)
  • Optional customer information (e.g., billing and shipping address)
  • Checkout options (e.g., shipping options and discounts)

Merchants can use Bread Carts to:

  • Complete phone or in-person sales: Send a pre-configured cart to customers directly to check out in-person or over the phone.
  • Market products to customers: Promote certain products or categories or re-market to abandoned cart customers who pre-qualified for financing.
  • Implement a secure checkout experience: Provide customers access to the Bread Checkout flow in areas of the site that do not support custom Javascript – for example, from the checkout page on certain SaaS e-commerce solutions.

Don’t worry – the link below is in sandbox mode; no real emails or texts will be sent, and no real credit file will be pulled.

Check out with Bread here.

In the link above, we’ve provided an example Cart where the customer’s information has already been pre-populated by the merchant. Complete the checkout process by filling out the form:

  • Birth Date: A birthdate before 2000
  • Last 4 Digits of SSN: 0800 to simulate approval, or 0400 to simulate denial
  • Passcode: 1234
  • In this example, you’ll be redirected to Bread’s homepage after checkout; this redirect URL can be customized

Carts can be created in the following ways:

  1. See here for a video tutorial on how to use the Carts feature in your Bread merchant portal
  2. Using our Carts back-end API endpoint, called from your server
  3. On the user’s browser, using the cartCreate method of the bread.js library

Generating Carts using cartCreate

You can easily retarget pre-qualified customers with a financing offer and a pre-filled Cart link using the cartCreate method. cartCreate accepts two arguments: opts and callback.

cartCreate Example

var opts = {
  callbackURL: '/replace/with/your/url',
  completeURL: '/replace/with/your/url',
  errorURL: '/replace/with/your/url',
  orderRef: 'ABCD1234',
  items: [{
    name: 'Couch',
    price: 150000,
    sku: 'COUCH123',
    imageUrl: '/replace/with/your/url',
    detailUrl: '/replace/with/your/url', 
    quantity: 1
  }],
  shippingOptions:[{
    type: 'Ground',
    typeId: '0123',
    cost: 1500
  }],
  tax: 1000,
  billingContact: {...}, // Optional if available
  shippingContact: {...}, // Optional if available
};

bread.cartCreate(opts, function(err, data) {
  if (err) {
    // throw an error
  } else {
    // Take a look at data.asLowAs (particularly data.asLowAs.amount and data.asLowAs.asLowAsText)
    // Generate email template for customer and send data.redirectUrl
  }
});

opts

Similar to the options object configured for Bread Checkout with a few additional properties:

PARAMETER DESCRIPTION
orderRef String to post back to callbackUrl or include in completeUrl when a checkout is completed from this cart. optional
callbackURL Following a successful checkout, Bread will POST the transactionId and orderRef of the checkout to the callbackURL  *Required
completeURL Following a successful checkout, Bread will redirect the customer to the completeURL with the transactionId and orderRef included as query parameters
errorURL Following an unsuccessful checkout, for example if no financing offer is available or if there are technical issues, Bread will redirect the customer to the errorURL

callback

The callback function that is run once the Cart has been created in our system and the data is returned to the client. callback will receive err and data as parameters.

Arguments Description
err Either an error object or null
data Object containing cart information including redirectUrl and asLowAs

redirectUrl

string

The Cart URL to send to the customer
asLowAs

object

Cart information object for generating retargeting content
Properties Description
amount

string

“As low as” monthly price as a formatted string
apr

string

“As low as” example APR value
asLowAsText

string

“As low as” financing disclosure
maxApr

integer

Financing disclosure max example APR
minApr

integer

Financing disclosure min example APR
monthly

integer

Financing disclosure monthly price as integer in cents
termInterval

string

Financing disclosure term interval
termLength

integer

Financing disclosure term length

data Response Example

{
  asLowAs: {
    amount: "$126.25",
    apr: 0,
    asLowAsText: "This example payment is the amount of equal monthly payments on a loan to finance the purchase based on the listed product price of $1,515.00 assuming a 12-month term and a 0.00% APR. Your terms may vary and are subject to application. Bread loans are made by Cross River Bank, member FDIC.",
    maxApr: 0,
    minApr: 0,
    monthly: 12625,
    termInterval: "Month",
    termLength: 12
  },
  redirectUrl: "https://checkout-sandbox.getbread.com/la0AWq"
}