# Get started

{% hint style="danger" %}
As of 25 June 2025,\
\
PaySG will not be onboarding new users until further notice. Users may onboard to our dashboard independently using the resources in the [Payment services section](https://guide.pay.gov.sg/start-using-the-dashboard/payment-services) but onboarding support will not be available. Use cases that require API keys and webhooks will not be able to onboard during this period. \
\
We remain fully operational for existing users and will continue to assist with critical technical issues, such as payment failures or unexpected system behaviours on PaySG’s end.
{% endhint %}

PaySG APIs allows agencies to integrate the platform into their software systems. The API follows REST semantics, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. We do not provide SDKs.

Backwards compatibility is maintained within each major version of the API (`/v1`, `/v2`). However, new fields might be added as more features are developed on PaySG platform.

### 1. Introduction

Ensure that the onboarding steps in [this section](https://guide.pay.gov.sg/overview/get-started) have been completed.

The rest of this guide walks you through setting up your integration with PaySG.

### 2. Create a payment service

To begin, follow our [payment service guide](https://guide.pay.gov.sg/start-using-the-dashboard/payment-services) and create a payment service on our testing environment ([staging.pay.gov.sg](https://staging.pay.gov.sg)). All .gov.sg email addresses can do so without needing to create an account.&#x20;

### 3. Whitelisting

If you are a vendor, please request for your agency counterpart to contact us to whitelist your email addresses for access to our staging environment.&#x20;

### 4. API keys

Provide our team with the relevant gov.sg email addresses to receive an API key. **This email address must have been used to log in to PaySG's** [**staging (test) environment**](https://staging.pay.gov.sg/admin/services) **or** [**live environment**](https://pay.gov.sg/admin/login) **before, so that it is associated with a user.**&#x20;

Staging API keys have the prefix `paysg_stag_` while the live API keys have the prefix `paysg_live_`. **Payments should be tested on the staging environment using** [**dummy credit card numbers.** ](https://stripe.com/docs/testing)

To make authenticated requests, provide an **`x-api-key: <key>`** header to the request.

All API requests **must be made over HTTPS**. Calls made over plain HTTP will fail. API requests without authentication will also fail.

### 5. Test out our endpoints

Refer to our [documentation on endpoints ](https://guide.pay.gov.sg/start-an-api-integration/endpoints)to send your first request.
