Cart: ClickBank's Multi-Line Transaction Platform

Cart is a feature that lets you allow customers to purchase multiple products in a single order.

The following subjects are covered in this article:

Overview

Cart gives you a way to let customers purchase multiple products of different quantities in a single transaction. You configure a payment link that specifies the products and quantities to be purchased, and the customer is taken to a single order form showing all of those products. When they make the purchase, they receive a single confirmation email with the details for each product. Customers can request refunds on any of the items individually.

A cart order can include products of any type, and can use a customized order form. Cart orders are compatible with other ClickBank features as described in the Compatibility section. If an affiliate drives a cart sale, their commission percentage is calculated separately for each product in the order.

Benefits of Cart

Cart provides you with a host of benefits, including:

  • The ability for a customer to purchase multiple quantities of a single product, or multiple products within a single transaction
  • An increase in average customer transaction value
  • A smoother overall shopping experience, including a seamless integration with your existing storefronts
  • The ability to combine cart purchases with additional ClickBank functionality including PitchPlus Upsell Flows, Order Bump, and coupons

Customer View

When a customer follows a Cart payment link, the order form displays the cart contents including quantity. For example:

This image shows the ClickBank order form for a cart order. The left side has fields for the customer and billing information. The right side shows the two example products that are included in the order, their quantities, and the subtotal. 

Using Cart

There are two payment link formats that you can use for cart purchases. One uses a parameter to specify the item SKUs and quantities, while the other uses JavaScript Object Notation (JSON). You can use whichever format you find easier to implement.

Implementing Cart With the Cbitems Parameter

You can implement cart by creating a special paylink. This paylink contains the SKUs of the desired products and their quantities in the cbitems parameter. When the customer follows the payment link, they are taken to an order form that includes the specified items and quantities.

A cart payment link with the cbitems parameter uses the following format:

http://vendornickname.pay.clickbank.net/?cbitems=sku.quantity_sku.quantity

The cbitems parameter indicates the items purchased and their quantities using one or more SKU-quantity pairs.

When the customer arrives at the order form, it displays the items and quantities. If you have the Editable Quantity feature enabled, the customer can edit the quantity of the items. See the Editable Quantity on the Order Form article for more information.

Code Example

The following paylink example takes a customer to the order form with one item A and two of item B.

http://vendornickname.pay.clickbank.net/?cbitems=A.1_B.2

Implementing Cart With JSON

You can implement cart using JSON. If you don't feel comfortable using JSON, you can use the cbitems parameter, or find a developer who can help you.

To create a cart order, you pass the cbcart parameter as part of the order flow. The cbcart parameter contains all the details required to present the customer with the proper set of items to be purchased on the order form.

The parameter can either be passed on the paylink from the vendor pitch page to the ClickBank order form, or used as the action of a post form that has a cbcart input.

The contents of the cbcart parameter will be in URL-encoded JavaScript Object Notation (JSON) Data Interchange Format.

The payment link uses this format:

http://vendornickname.pay.clickbank.net/?cbcart={Cart details}

The cart details are formatted using the Items Array, as described in the Items Array section. See the JSON Code Examples section for examples of complete cart details.

Additional parameters can be specified before or after the cbcart parameter, as per standard URL parsing structure.

Items Array

The following items are used to include items in the cart:

  • sku – The SKU (item number) for the product to be purchased.
  • qty – The quantity of the product provided in the SKU parameter to be purchased.

Additional Parameters

  • editURL – Optional Parameter that provides a destination URL of the vendor’s choosing. That way, a location is provided for the customer to return in case they want to change, review or would like more information on their selected items.
    NOTE – The "editURL" must be located on the pitch domain.
  • editQuantity – If the Editable Quantity feature is enabled and the parameter is passed as True, the customer will be able to edit the quantity, as well as remove items on the order form.  See the Editable Quantity on the Order Form article for more information.

JSON Code Examples

Example Unencoded CBCart parameter (in tabbed format for ease in reading)

{  

   "items":[  

      {  

         "sku":"1",

         "qty":1

      },

      {  

         "sku":"2",

         "qty":2

      }

   ],

   "editUrl": "http://www.exampleURL.com",

    "editQuantity":true 

}

 

Example Unencoded CBCart parameter (compact view)

{"items":[{"sku":"1","qty":1},{"sku":"2","qty":2}],"editUrl":"http://www.exampleURL.com","editQuantity":true}

 

Example Full Paylink, URL Encoded

http://vendor.pay.clickbank.net/?cbcart=%7B%22
items%22%3A%5B%7B%22
sku%22%3A%221%22%2C%22
qty%22@3A1%7D%2C%7B%22
sku%22%3A%222%22%2C%22
qty%22%3A2%7D%5D%2C%22
editUrl%22%3A%22http%3A%2F%2F
www.exampleURL.com%22%2C%22
editQuantity%22%3Atrue%7D 

Compatibility

Instant Notifications

Instant Notifications version 6 includes line item level details. See the Instant Notification Service article for information about configuring and using Instant Notifications.

APIs

The Orders and Ticket APIs support accessing information from multi-line transaction orders. For the following endpoints, an SKU (item number) is provided to request a specific line item. An SKU is required when making a call against a multi-line transaction purchase. If an SKU is not provided, the endpoint will return an error status with a detailed error messaging that a sku is required to return the results of the API call. See the ClickBank APIs article for service descriptions.

PitchPlus Upsell Flows

Cart purchases can be used with the cbfid parameter to initiate PitchPlus upsell flows. Cart orders cannot be the destination of an upsell flow. However, PitchPlus upsell flow steps can sell multiple products. See the PitchPlus Upsell Flows article for more information.

Physical Products

Cart supports physical products.

If a physical product has shipping and handling charges, the shipping and handling amount is applied linearly with the quantity of products purchased, unless you have configured flat rate shipping. See the Selling Physical Products article for more information about this product type.

Recurring Products

Cart supports recurring products. See the Selling Recurring Products article for more information about this product type.

Coupons

Cart supports coupons. Depending on the coupon's settings, it can be applied to the largest line item in the cart order, or to every product in the cart order. See the Coupons article for more information.

Order Bump

One or more Order Bump products can be displayed on a Cart order form. Any product configured as a bump product for the first product in the cart is also displayed as a bump product for the cart order. See the Order Bump article for more information.

Troubleshooting

Some common error handling scenarios are covered below.

Scenario Response

Paylink received with both a standard item and the cbcart parameter. For example: {sku}.{vendor}.pay.clickbank.net/?cbcart={cbcart param}

User will be redirected to the invalid paylink page.

Invalid JSON or JSON completely missing within the cbcart parameter.

User redirected to the invalid paylink (network abuse) page.

Paylink received that contains a mix of valid and invalid products.

Order includes the valid products and does not include the invalid products.

Paylink received that contains at least one item that is in a non-approved state.

Order flow will be in test mode and purchase will be treated as a test purchase.

JSON Paylink received that includes a return URL that does not match with the pitch domain set up for the vendor account.

User will have no option to return to the vendor page.

Paylink received with a single SKU multiple times as separate items.

The item will be displayed with a quantity matching the total quantity between the duplicate line items.

Have more questions? Submit a request

3 Comments

  • 1
    Avatar
    Jessica Arango

    Thank you so much for making it "simpler" with the "newer" code for us total noobs!

     http://vendornickname.pay.clickbank.net/?cbitems=A.1_B.2

    (now if only there was a Wordpress "plugin" for this....)

     

    Edited by Jessica Arango
  • 1
    Avatar
    Marcelo Ugarte

    I totally agree with Jessica, a wordpress plugin will bring thousands of new vendors to clickbank, you can see people asking for this feature everywhere!

  • 0
    Avatar
    Owen Allen

    Jessica and Marcelo,

    I'll pass your request along. Thanks for the information.

Please sign in to leave a comment.
Powered by Zendesk