# Getting Started

### Prerequisites

* Merchant whitelist access (contact your Relationship Manager or [apply here](https://forms.gle/DMkGWxy9G6D68ihB7))
* API credentials (API Key & Secret)
* Webhook endpoint for payment notifications

### Environment Endpoints

**Sandbox Environment** (for testing and development)

```
Base URL: https://openapi-sandbox.allscale.io
```

**Production Environment** (for live transactions)

```
Base URL: https://openapi.allscale.io
```

***

### Quick Start Guide

#### Step 1: Get Access

Contact BD team for merchant whitelist approval and receive your API credentials.

#### Step 2: Test Your Integration

**Before diving into payment flows, verify your setup with test endpoints:**

Follow the [Authentication Guide](https://docs.allscale.io/allscale-checkout/api-doc-auth) to implement API authentication, then test these endpoints:

1. **GET /v1/test/ping** - Verify connection and authentication
2. **GET /v1/test/fail** - Test error handling
3. **POST /v1/test/post** - Test POST requests with payload

✅ Once all three test routes return expected responses, proceed to Step 3.

See [Test Route Documentation](https://docs.allscale.io/allscale-checkout/api-doc-test-route) for details.

#### Step 3: Configure Webhooks

* Configure your webhook URL in the merchant dashboard or provide it to BD team
* Implement signature verification (see- [**Webhook Signing**](https://docs.allscale.io/allscale-checkout/api-doc-webhook-signing-and-payload-guide) )

#### Step 4: Implement Payment Flow

Review the [Integration Flow](https://docs.allscale.io/allscale-checkout/integration-flow) and implement:

* [Create Checkout Intent](https://docs.allscale.io/allscale-checkout/api-doc-checkout-intent-routes-create-checkout-intent)
* [Query Intent Status](https://docs.allscale.io/allscale-checkout/api-doc-checkout-intent-routes-get-status)

***

### API Documentation

#### Core Concepts

| Module                                                                          | Description                              |
| ------------------------------------------------------------------------------- | ---------------------------------------- |
| [Authentication](https://docs.allscale.io/allscale-checkout/api-doc-auth)       | Request signing using API Key and Secret |
| [Integration Flow](https://docs.allscale.io/allscale-checkout/integration-flow) | Complete end-to-end payment workflow     |

#### Security

| Module                                                                                                  | Description                                        |
| ------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
| [Response Signing](https://docs.allscale.io/allscale-checkout/api-doc-optional-response-signing)        | Optional: Verify the authenticity of API responses |
| [Webhook Signing](https://docs.allscale.io/allscale-checkout/api-doc-webhook-signing-and-payload-guide) | Required: Verify webhook callback signatures       |

#### API Routes

| Route                                                                                                                      | Description                     |
| -------------------------------------------------------------------------------------------------------------------------- | ------------------------------- |
| [Test Routes](https://docs.allscale.io/allscale-checkout/api-doc-test-route)                                               | Verify your integration setup   |
| [Get Checkout Intent](https://docs.allscale.io/allscale-checkout/api-doc-checkout-intent-routes-get-checkout-intent)       | Retrieve intent sessions        |
| [Get Intent Status](https://docs.allscale.io/allscale-checkout/api-doc-checkout-intent-routes-get-status)                  | Query the current intent status |
| [Create Checkout Intent](https://docs.allscale.io/allscale-checkout/api-doc-checkout-intent-routes-create-checkout-intent) | Create a new checkout intent    |

***

### Support

Contact your Relationship Manager for assistance.
