# Quickstart (API) (/docs/guides/getting-started/quickstart) 

# 🚀 Quickstart: Hands In API [#-quickstart-hands-in-api]

This guide will help you create and share your first payment session using the Hands In API. Whether you're testing multi card or group payments, you'll be up and running in just a few steps.

***

## ✅ Prerequisites [#-prerequisites]

Before you begin, make sure you’ve completed the following:

* [Set up your Hands In account](/docs/guides/getting-started/setup-your-account)
* [Retrieve your API key](/docs/guides/authentication/authentication-overview) (sandbox or live)

***

## 1️⃣ Create a Payment Session [#1️⃣-create-a-payment-session]

To initiate a `multi card` or `group` payment session, send a `POST` request to either:

* The [Multi Card Payments endpoint](/docs/API/v1/createMultiCardPayment), or
* The [Group Payments endpoint](/docs/API/v1/createGroupPayment)

We will create a **multi card payment** in this example. See request below:

<Tabs items="[&#x22;macOS / Linux (Bash)&#x22;, &#x22;Windows CMD&#x22;, &#x22;PowerShell&#x22;]">
  <Tab value="macOS / Linux (Bash)">
    ```bash
    curl --request POST \
      --url https://api.sandbox.handsin.com/v1/multi-card-payments \
      --header 'Accept: application/json' \
      --header 'Content-Type: application/json' \
      --header 'x-api-key: <your-api-key>' \
      --data '{
        "amountMoney": {
          "currency": "GBP",
          "amount": 50000
        },
        "idempotencyKey": "<unique-random-string>"
      }'
    ```
  </Tab>

  <Tab value="Windows CMD">
    ```cmd
    curl -X POST "https://api.sandbox.handsin.com/v1/multi-card-payments" -H "Accept: application/json" -H "Content-Type: application/json" -H "x-api-key: <your-api-key>" -d "{\"amountMoney\":{\"currency\":\"GBP\",\"amount\":50000},\"idempotencyKey\":\"<unique-random-string>\"}"
    ```
  </Tab>

  <Tab value="PowerShell">
    ```powershell
    $headers = @{
      "Accept" = "application/json"
      "Content-Type" = "application/json"
      "x-api-key" = "<your-api-key>"
    }

    $body = @{
      amountMoney = @{
        currency = "GBP"
        amount = 50000
      }
      idempotencyKey = "<unique-random-string>"
    } | ConvertTo-Json -Depth 3

    Invoke-RestMethod -Uri "https://api.sandbox.handsin.com/v1/multi-card-payments" `
      -Method POST -Headers $headers -Body $body
    ```
  </Tab>
</Tabs>

> Don't forget to replace `<your-api-key>` with your `merchant sandbox API key` instead, and make sure `idempotencyKey` is a unique string for each request.

***

## 2️⃣ Retrieve Payment URL [#2️⃣-retrieve-payment-url]

The response will include a `url` — this is your hosted checkout session you should provide to the user in some way.

<Callout type="warning">
  The `url` field for `group-payments` is to invite customers into a group instead. Redirect users using the `customerUrl` field for `group-payments` instead.
</Callout>

You can use the URL in the response to:

* redirect them to a new browser tab/window
* Embed it in your website using an `<iframe>`, **or**
* Send it directly to the customer via email, SMS, or any other channel.

### 🔁 Example Response: [#-example-response]

```json
{
  "id": "mc_123456",
  "merchantId": "your-merchant-id",
  "status": "PENDING",
  "url": "https://checkout.sandbox.handsin.com/m/abc123",
  "amountMoney": {
    "amount": 50000,
    "currency": "GBP"
  },
  ...
}
```

***

## ✅ You're Done! [#-youre-done]

That’s it — you’ve created and shared your first Hands In multi-card payment session! 🎉\
When your customer opens the link, they'll be guided through our secure, white-labeled checkout experience to pay across multiple-cards.

Next, we recommend setting up [webhooks](/docs/webhooks/webhooks-overview) so your system stays updated as payments are completed or expire.
