# ING Lease Now
This option is available when the ING Lease Now service is enabled.
The basic request creating the payment must be accompanied by a `cart` object with an `items` array containing the following parameters:
| Parameter | Type | Required parameter | Description |
|-------------------|-----------------------------------------------|-|-|
| `id` | string | `YES` | Product identifier |
| `name` | string | `YES` | Name of the product |
| `amount` | integer | `YES` | Unit value of the net product in the smallest unit of currency - **pennies**. The value `0` is also allowed. |
| `tax` | integer | `YES` | Tax unit value|
| `taxStake` | string | `YES` | Tax rate. **Available values**: `23`, `22`, `8`, `7`, `5`, `3`, `0`, `TAX_EXEMPT`, `TAX_NOT_LIABLE`, `TAX_REVERSE_CHARGE`, `TAX_EXCLUDING` |
| `quantity` | integer | `YES` | Quantity. **Minimum value is 0** |
| `url` | string | `YES` | The url for the product in question |
| `categoryId` | string | `YES` | Category identifier |
| `unit` | string | `NO` | unit |
| `state` | integer | `NO` | Product state. **available values**: `NEW`, `USED` |
| `discount.amount` | integer | `NO` | Value of discount |
| `discount.tax` | integer | `NO` | Discount tax value |
The minimum value for a single product in Leasing is PLN 1,000, while the value of the entire basket must be at least PLN 5,000. The amounts given are **net** amounts.
## Example data structure
```php
$cart = [
'items' => [
[
'id' => 1,
'categoryId' => 'category123',
'name' => 'Product name',
'amount' => 1000,
'tax' => 230,
'taxStake' => 23,
'quantity' => 1,
'unit' => 'szt',
'url' => 'https://product.url',
'state' => 'NEW',
'discount' => [
'amount' => 100,
'tax' => 23,
]
]
]
];
```
The above parameters should be taken into account when calculating the signature in accordance with the section [Authorisation](#topic-authorisation).
## Preparing the cart object
### Using the PHP function
The data collected from the above parameters should be encoded using the function:
```
base64_encode(gzencode(json_encode($cart), 5));
```
where:
`$cart` - previously prepared parameters
```php
$cart = [
'items' => [
[
'id' => 1,
'categoryId' => 'category123',
'name' => 'Product name',
'amount' => 500000,
'tax' => 115000,
'taxStake' => 23,
'quantity' => 1,
'unit' => 'szt',
'url' => 'https://product.url',
'state' => 'NEW',
'discount' => [
'amount' => 100,
'tax' => 23,
],
],
],
];
$cart = base64_encode(gzencode(json_encode($cart), 5));
$fields = [
'serviceId' => '63f574ed-d90d-4abe-9cs1-39117584a7b7',
'merchantId' => '6yt3gjtm9p1odfgx8491',
'amount' => '615000',
'currency' => 'PLN',
'orderId' => '123',
'orderDescription' => '#Example transaction',
'customerFirstName' => 'Jan',
'customerLastName' => 'Kowalski',
'customerEmail' => 'jan.kowalski@example.com',
'customerPhone' => '515515515',
'urlSuccess' => 'https://your-shop.com/success',
'urlFailure' => 'https://your-shop.com/failure',
'urlReturn' => 'https://your-shop.com/return',
'cart' => $cart,
];
$serviceKey = 'eAyhFLuHgwl5hu-32GM8QVlCVMWRU0dGjH1c';
$hashMethod = 'sha256';
$signature = createSignature(
$fields,
$serviceKey,
$hashMethod
) . ';' . $hashMethod;
```
Using the additional parameter `visibleMethod` with the value `lease` will display only Leasing on the gateway. This allows you to extract a given method as a separate item in the summary.
## Example form content
```html
```