# Shopping Cart

*Article Topics:* [*Billers*](/getting-started/common-topics/billers.md)

## Shopping Cart Integration

Too Much Media can integrate your Shopping Cart. For more information on the cost of an integration, please open a support ticket. You can forgo our integration fee by doing it yourself, but please keep in mind that there will be an hourly charge for any support required during or as a result of this process.

Integration of a shopping cart should follow these guidelines:

* Landing pages of the shopping cart need to create a NATS cookie and a NATS session variable with an expiration date. (normally 7-30 days)
* When an order is placed the NATS cookie expiration should be extended. (normally 5 years)
* Nats code needs to be stored in the shopping cart database with both the customer record and the order record.
* When posting orders to NATS, the NATS code stored with the customer record should be preferred to the code stored with the order.

## Billers Admin

If you wish to configure a Shopping Cart Sales site, you must first start at the [Billers Admin](/nats-admin/billers.md). Go to the [Billers Admin](/nats-admin/billers.md), scroll to the bottom of the page, and select "Shopping Cart" from the Setup New Biller drop-down menu. When prompted, enter a shortname for your shop in the "Shop ID" field.

## Sites Admin (Optional)

To further configure your Shopping Cart site, go to the [Sites Admin](/nats-admin/sites.md) and click the "Add a Site" tab at the top of the page. On the next page, choose the "Store" Site Type, fill in the site name, and short name (what you made Shop ID).

When you are done filling out the details, click Save Changes. This site and tour will now be associated with your Shopping Card biller option.

## Configuration

Add the following line to *nats/includes/config.php*:

```
$config['SHOP_ALLOWED_IPS'] = Array('123.123.123.123');
```

Replace the IP address inside the single quotes with the IP address of your shopping cart.

## Shopping Cart Post Parameters

The following parameters are required to be posted to the *signup/process\_shop.php* script on your NATS domain. Without doing so, your shopping cart sales will not be properly processed.

* nats - The NATS code of this sale
* amount - The amount of the sale in cents (minor currency units)
  * $5.00 should be sent in as 500
* currency - 3 letter ISO code
  * if not sent, NATS will assume base currency
* transid - The ID of the transaction from inside the shopping cart
  * it not sent for sales, NATS will randomly generate one
  * for credits, chargebacks and voids, it needs to be the transaction that is being reversed (without the biller short name)
* shop\_id - the Shop ID of a shopping cart you setup in the Billers Admin (Not the Biller ID, but the Account Info)
* action
  * "SALE" or \<blank> to register a new sale
  * "CREDIT", "CHARGEBACK" or "VOID" registers a refund for that transaction ID number (transid)

### Extra Parameters

You can send the following extra parameters for additional information:

* site\_id - register the sale under this site (used when a [natscode](/using-nats/nats-admin-features/linkcodes/nats-code.md) isn't present). Set via the field "SHOP(id:NUMBER) Site:" under "Biller Details" in the "Edit Tour" page. Can be set to any arbitrary number or word for each individual tour.
* username - you can send the shopper's username along and NATS will record the sale under their account (NATS will randomly generate this if you don't send it)
* password (NATS will randomly generate this if you don't send it)
* ip - The IP address of the surfer doing the sale
* email
* firstname
* lastname
* address1
* address2
* zip
* city
* state
* country - an ISO two letter code
* shipping\_firstname
* shipping\_lastname
* shipping\_address1
* shipping\_address2
* shipping\_zip
* shipping\_city
* shipping\_state
* shipping\_country - an ISO two letter code
* custom1
* custom2
* custom3
* custom4
* custom5
* custom6
* custom7
* custom8
* custom9
* custom10
* refurl
* nats\_at\[passthrough1]
* nats\_at\[passthrough2]
* nats\_at\[passthrough3]
* nats\_at\[passthrough4]
* nats\_at\[passthrough5]

#### Additional Config

PROCESS\_SHOP\_PASSTHROUGH\_ORDER - Determines which set of passthroughs will be prioritized when processing shopping cart sales

1\. From Postback

2\. From existing member data


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.toomuchmedia.com/getting-started/integrations/supported-billers/shopping-cart.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
