# Connecting Xendit

> Connecting to Xendit uses API credentials issued from your Xendit dashboard. You will need three values:

Connecting to Xendit uses API credentials issued from your Xendit dashboard. You
will need three values:

- Secret API Key
- Public API Key
- Webhook Verification Token

You can find these in your Xendit console under **Account → Settings → API Keys**
(<https://dashboard.xendit.co/login>).

![Xendit dashboard Settings overview](/_astro/cdn/d0561fe271/connect-1.png)

1. Note your **Public Key**, then select **Generate Secret Key** and create a key
   with:

   - **Name:** `shuttle` (or whatever you prefer)
   - **Money-In products:** Write
   - **Balance:** Read
   - **Transaction:** Read

   Select **Generate Key** — you will be prompted for your MFA code.

   ![Xendit API Keys page showing the Secret Keys list](/_astro/cdn/f98c5412d6/connect-2.png)

   ![Generate API Key dialog with permissions set](/_astro/cdn/c9f08184a8/connect-3.png)

2. The generated value is your **Secret Key**.

   :::note[Tip]
   This is the only time the Secret Key can be viewed or downloaded — copy it before closing the dialog.
   :::

   ![Secret API key successfully created](/_astro/cdn/487f5d7de8/connect-4.png)

3. Select **Webhooks**, then **View Webhook Verification Token**, and note this
   value.

   ![Xendit Webhooks settings page with the Webhook Verification Token](/_astro/cdn/0ee5a3bb5a/connect-5.png)

4. In the setup screen, enter the **Secret API Key**, **Public API Key**, and **Webhook
   Verification Token**, select your country, and select **Save**.

   ![Xendit connection form](/_astro/cdn/1d823e122e/connect-6.png)

5. Once connected, you are shown a green **"Connected to Xendit"** message. The
   API Key is not displayed again.

   ![Connected to Xendit confirmation screen](/_astro/cdn/570f6bf0ea/connect-7.png)

## Connection options

Our integration with Xendit offers the following options:

- **Enable Full PAN Integration (Requires Xendit enablement):** Sends full card
  details to Xendit directly. Xendit must enable this feature on your account
  before it can be used.
  - **Enable MOTO payments (requires skip 3DS feature enabled):** Allows MOTO
    (staff-entered / DTMF) payments. Xendit must also enable its skip 3DS feature
    on your account.
- **Default Country:** The country used for a payment when the customer's billing
  country isn't known. Defaults to Hong Kong (HK).

## Verifying webhooks

To complete configuration, confirm your webhooks are working by performing a test
payment. When webhooks are configured correctly, the connection shows a green
**VERIFIED** badge.

The badge reflects the webhook state:

- **UNVERIFIED:** No webhook has been received yet — perform a test payment.
- **UNSIGNED:** A webhook was received, but the Verification Token did not match —
  recheck the token.
- **VERIFIED:** A webhook was received and the Verification Token matched. Setup is
  complete.