Configuration

Sharing checkout and shopper information with Connect creates a seamless experience.

Order Lines (Cart)

Providing the contents of the Shopper's cart on the Merchant site allows Connect to determine what items in the cart are leasable and which are not.

Cart (order)

Providing delivery costs and cart item information for the order is required. An order Id is optional, but desired. See the Success call back section regarding providing order number and delivery date information to Connect after the checkout process has completed.

KeyTypeRequiredDescription
orderIdstringOptional orderId: "5423344523",
The merchant identifier for the order. Your internal reference to the order, that has been generated during order creation.
deliveryCostnumberRequireddeliveryCost: 10.99
The total delivery fees/shipping charges for the full order.
itemsarrayRequireditems: []

Cart (item details)

Providing the unique order line information below allows Connect to determine which items are leasable and present the proper lease-to-own pricing to the Shopper.

KeyTypeRequiredDescription
brandstringRequiredbrand: "Apple",
The brand or manufacturer of the line item.
descriptionstringRequireddescription: "iPhone SE 64GB Midnight",
A human readable description of the line item.
categorystringRequiredcategory: "Cell Phones",
A human readable description of the item category.
identifierstringRequiredidentifier: "MMX53LL/A",
A unique identifier or SKU for the line item.
imgUrlstringOptionalimgUrl: "",
The URL to a thumbnail image for the line item.
If an URL is not provided, the default Merchant logo will be used.
unitPricenumberRequiredunitPrice: 429.00,
The price for each quantity of the line item.
taxnumberRequiredtax: 31.10,
The total sales tax to be collected for all the items in the cart. See more details about passing tax below.
quantitynumberRequired quantity: 1,
The total quantity of the line item being purchased.
conditionstringRequiredcondition: "new",
The condition of the line item(s) being purchased.
Allowed values; "new", "used", "refurbished"
deliveryDatestringRequireddeliveryDate: "2023-08-30"
The date that shopper will receive the line item(s) as YYYY-MM-DD.

Delivery date cannot be empty.

Remove the date from the cart and return the date later using the provided deliveryConfirmationUrl. See the Callbacks Success section for more details.

Passing sales tax

Examples of how you can pass the sales tax for the cart items:

cart: {
  orderId: "5423344523",
    items: [
      {
        brand: "Apple",
        description: "iPhone SE 64GB Midnight",
        category: "Cell Phones",
        identifier: "MMX53LL/A",
        imgUrl: "",
        unitPrice: 429.00,
        tax: 31.10,
        quantity: 1,
        condition: "new",
        deliveryDate: "2023-08-30"
      },
      {
        brand: "Apple",
        description: "AppleCare+ for iPhone SE (3rd generation)",
        category: "Warranty",
        identifier: "sEH62LL/A",
        imgUrl: "",
        unitPrice: 79.00,
        tax: 0,
        quantity: 1,
        condition: "new",
        deliveryDate: "2023-08-21"
      }
    ],
    deliveryCost: 10.99,
    deliveryCostSalesTax: 4.00
},
cart: {
  orderId: "5423344523",
    items: [
      {
        brand: "Apple",
        description: "iPhone SE 64GB Midnight",
        category: "Cell Phones",
        identifier: "MMX53LL/A",
        imgUrl: "",
        unitPrice: 429.00,
        tax: 26.26,
        quantity: 1,
        condition: "new",
        deliveryDate: "2023-08-30"
      },
      {
        brand: "Apple",
        description: "AppleCare+ for iPhone SE (3rd generation)",
        category: "Warranty",
        identifier: "sEH62LL/A",
        imgUrl: "",
        unitPrice: 79.00,
        tax: 4.84,
        quantity: 1,
        condition: "new",
        deliveryDate: "2023-08-21"
      }
    ],
    deliveryCost: 10.99,
    deliveryCostSalesTax: 4.00
},

Connect prefill

Payment card

Connect prefill can populate the payment card information on your checkout page when you share payment field information. Check out our interactive Experience demo to observe the payment card autofill function in action.

Using the querySelector() type, a Merchant can allow Connect to "find" (select) the siteConfig elements below and prefill the fields with our virtual card numbers. This creates a seamless checkout experience on your site.

KeyTypeRequiredDescription
cardNumberstringOptionalcardNumber: "#card-number-selector", Use this query selector to allow Connect to prefill a credit card number field with the card number of the Progressive Leasing Virtual Card on the Merchant checkout page.
cvvstringOptionalcvv: "#cvv-selector", Use this query selector to allow Connect to prefill a CVV number field with the CVV of the Progressive Leasing Virtual Card on the Merchant checkout page.
expirationstringOptionalexpiration: "#expiration-selector", Use this query selector to allow Connect to prefill the expiration date field with the expiration date of the Progressive Leasing Virtual Card on the Merchant checkout page.
namestringOptionalname: "#name-on-card-selector", Use this query selector to allow Connect to prefill a combined Shopper first and last name field with the name on the Progressive Leasing Virtual Card on the Merchant checkout page.
addressstringOptionaladdress: "#address-on-card-selector", Use this query selector to allow Connect to prefill the billing street address on the Merchant checkout page with the address associated with the Progressive Leasing Virtual Card.
citystringOptionalcity: "#city-on-card-selector", Use this query selector to allow Connect to prefill the billing city on the Merchant checkout page with the address associated with the Progressive Leasing Virtual Card.
statestringOptionalstate: "#state-on-card-selector", Use this query selector to allow Connect to prefill the billing state on the Merchant checkout page with the address associated with the Progressive Leasing Virtual Card.
zipstringOptionalzip: "#zip-selector" Use this query selector to allow Connect to prefill the billing billing zip code on the Merchant checkout page with the address associated with the Progressive Leasing Virtual Card.

Shopper information

Customer information entered on a Merchant's checkout page can be passed to Connect and used to prefill the lease application. Prefilling the lease application creates an improved customer experience and streamlines the Connect lease application flow.

KeyTypeRequiredDescription
idstringOptionalId: "32355323456", The merchant identifier for the Shopper.
firstNamestringOptionalfirstName: "John", The first name of the Shopper.
lastNamestringOptionallastName: "Doe", The last name of the Shopper.
emailstringOptionalemail: "[email protected]",The email address of the Shopper.
phonestringOptionalphone: "5555555554", The phone number of the Shopper.
address.shippingaddressOptionalThis is the shipping address of the Shopper. See address.
address.billingaddressOptionalThis is the billing address of the Shopper. See address.

Address

KeyTypeRequiredDescription
line1stringOptionalline1: "123 Main Street", The street address, line 1.
line2stringOptionalline2: "Apt. 206", The street address, line 2.
citystringOptionalcity: "No Where", The city.
statestringOptionalstate: "UT", The state.
zipstringOptionalzip: "84555", The zip or postal code.
countrystringOptionalcountry: "United States", The country.
customer: {
	id: "32355323456",
	firstName: "John",
	lastName: "Doe",
	email: "[email protected]",
	phone: "5555555554",
	address: {
		shipping: {
			line1: "123 Main Street",
			city: "No Where",
			state: "UT",
			zip: "84555"
		},
		billing: {
			line1: "321 South Street",
			city: "Some Where",
			state: "UT",
			zip: "85444"
		}
	}
},

Callbacks

The below callbacks are used to relay state to the application implementing Connect.

Success

A successful checkout indicates a Shopper's lease-to-own experience with Progressive is complete. The Shopper is returned to your site's checkout page to use the virtual card generated for the lease.

When checkout is successful as described above, Connect provides your system with two unique, one-time use URLs. Store the URLs and use them to update Progressive with order details post-purchase.

The URL endpoints should only be called once the complete order has been delivered. Once Progressive receives a Merchant's delivery confirmation, the lease obligation begins for the customer. Merchants generally use these functions post-purchase in cases where the order Id or delivery date were not provided with the required cart information.

When a Merchant is ready to acknowledge the entire order has been delivered or delivery is scheduled, call the URL endpoints to submit the information. Examples are below.

//Progressive will provide this information with each successful checkout and lease.
onSuccess: function(s) {
	SaveLeaseId(s.id);
	SaveDeliveryConfirmationUrl(s.deliveryConfirmationUrl);
	SaveOrderConfirmationUrl(s.orderConfirmationUrl)
},
//POST api/v1/update-delivery?leaseId={obfuscatedLeaseId}&code={uniqueCode}
{
    "deliveryDate": "2023-08-21" // this is the delivery date that should be associated with the lease
}
//POST api/v1/update-order?leaseId={obfuscatedLeaseId}&code={code}
{
    "orderId": "123456" // this is the orderId that should be associated with the lease
}
KeyTypeRequiredDescription
idstringOptionalUnique, obfuscated identifier assigned to the Shopper's lease agreement. Saving this Id can assist with reconciliation activities.
deliveryConfirmationUrlstringOptionalUse the one-time url to provide the expected delivery date.
deliveryConfirmationUrl payload:
{"deliveryDate": "2023-08-21"}

orderConfirmationUrlstringOptionalUse the one-time url to provide the order Id associated with the lease. orderConfirmationUrl payload:
{"orderId": "123456"}

Cancel

The onCancel callback will be executed when the shopper exits Connect prior to completing the lease-to-own experience.

Failure

The onFailure callback will be executed when an unrecoverable error occurs during the Connect lease-to-own experience.

KeyDescription
messagemessage to indicate the cause of the error
idlease ID associated with the error

What’s Next

Ready to test? Check out our Testing information.