> ## Documentation Index
> Fetch the complete documentation index at: https://telr-docs.cashfree.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Go Live Checklist

> Verify your integration with this checklist before you go live.

## Integration Checklist

<div class="checklist-item bg-[rgba(255,251,235,0.5)] dark:bg-[rgba(31,41,55,0.5)] border border-gray-800 dark:border-gray-300 rounded-lg p-6 mb-5 max-w-2xl" data-question="email2">
  <div class="checklist-question-container flex justify-between items-center mb-4">
    <div class="checklist-question flex items-center gap-3">
      <div class="checklist-circle-icon">
        <svg class="checklist-check-mark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor">
          <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" />
        </svg>
      </div>

      <span>Have you ensured that the checkout page reflects your brand colors and themes?</span>
    </div>

    <div class="button-group">
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="yes">Yes</button>
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="no">No</button>
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="na">N/A</button>
    </div>
  </div>

  <div class="warning-box">
    <svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
    </svg>

    <span>You must provide clear branding on the checkout page to ensure high conversion.</span>
  </div>

  <div class="info-box">
    <svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
    </svg>

    <span>You can customize your checkout on the [Merchant dashboard](https://telr.cashfree.com/merchants/pg/settings/payment-methods?env=prod)</span>
  </div>
</div>

<div class="checklist-item bg-[rgba(255,251,235,0.5)] dark:bg-[rgba(31,41,55,0.5)] border border-gray-800 dark:border-gray-300 rounded-lg p-6 mb-5 max-w-2xl" data-question="apikeys">
  <div class="flex justify-between items-center mb-4">
    <div class="flex items-center gap-3">
      <div class="checklist-circle-icon">
        <svg class="checklist-check-mark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor">
          <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" />
        </svg>
      </div>

      <span>Are you using the API keys for production and storing them carefully?</span>
    </div>

    <div class="button-group">
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="yes" onclick="callMe(this)">Yes</button>
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="no" onclick="callMe(this)">No</button>
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="na" onclick="callMe(this)">N/A</button>
    </div>
  </div>

  <div class="warning-box">
    <svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
    </svg>

    <span>Get your API key and secret key from the Telr dashboard. These will be used for authentication, never expose in your app or frontend.</span>
  </div>

  <div class="info-box">
    <svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
    </svg>

    <span>Fetch your keys from the [Merchant dashboard.](https://telr.cashfree.com/merchants/pg/developers/api-keys)</span>
  </div>
</div>

<div class="checklist-item bg-[rgba(255,251,235,0.5)] dark:bg-[rgba(31,41,55,0.5)] border border-gray-800 dark:border-gray-300 rounded-lg p-6 mb-5 max-w-2xl" data-question="email">
  <div class="flex justify-between items-center mb-4">
    <div class="flex items-center gap-3">
      <div class="checklist-circle-icon">
        <svg class="checklist-check-mark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor">
          <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" />
        </svg>
      </div>

      <span>Have you whitelisted your domain name or android package in production?</span>
    </div>

    <div class="button-group">
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="yes" onclick="callMe(this)">Yes</button>
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="no" onclick="callMe(this)">No</button>
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="na" onclick="callMe(this)">N/A</button>
    </div>
  </div>

  <div class="warning-box">
    <svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
    </svg>

    <span>Our integrations require whitelisting of your domain or android package. Any other domain used to open the checkout page will be blocked by Telr.</span>
  </div>

  <div class="info-box">
    <svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
    </svg>

    <span>Learn more about whitelisting [here](/payments/online/go-live/whitelist).</span>
  </div>
</div>

<div class="checklist-item bg-[rgba(255,251,235,0.5)] dark:bg-[rgba(31,41,55,0.5)] border border-gray-800 dark:border-gray-300 rounded-lg p-6 mb-5 max-w-2xl" data-question="verify">
  <div class="flex justify-between items-center mb-4">
    <div class="flex items-center gap-3">
      <div class="checklist-circle-icon">
        <svg class="checklist-check-mark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor">
          <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" />
        </svg>
      </div>

      <span>Before confirming a payment, are you verifying the final order status with Telr's server?</span>
    </div>

    <div class="button-group">
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="yes" onclick="callMe(this)">Yes</button>
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="no" onclick="callMe(this)">No</button>
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="na" onclick="callMe(this)">N/A</button>
    </div>
  </div>

  <div class="warning-box">
    <svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
    </svg>

    <span> Implement server-side logic to verify the payment using Telr's order or payment validation API.</span>
  </div>

  <div class="info-box">
    <svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
    </svg>

    <span>Learn more about order verification [here](/payments/online/web/redirect#step-3-confirming-the-payment).</span>
  </div>
</div>

<div class="checklist-item bg-[rgba(255,251,235,0.5)] dark:bg-[rgba(31,41,55,0.5)] border border-gray-800 dark:border-gray-300 rounded-lg p-6 mb-5 max-w-2xl" data-question="email">
  <div class="flex justify-between items-center mb-4">
    <div class="flex items-center gap-3">
      <div class="checklist-circle-icon">
        <svg class="checklist-check-mark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor">
          <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" />
        </svg>
      </div>

      <span>Have you integrated with webhooks to be informed about payment success asynchronously?</span>
    </div>

    <div class="button-group">
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="yes" onclick="callMe(this)">Yes</button>
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="no" onclick="callMe(this)">No</button>
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="na" onclick="callMe(this)">N/A</button>
    </div>
  </div>

  <div class="warning-box">
    <svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
    </svg>

    <span>We recommend using webhooks for event updates. After receiving a webhook, call the Get Status API to verify successful payment processing.</span>
  </div>

  <div class="info-box">
    <svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
    </svg>

    <span>Learn more about payment gateway webhooks [here](/api-reference/payments/latest/payments/webhooks).</span>
  </div>
</div>

<div class="checklist-item bg-[rgba(255,251,235,0.5)] dark:bg-[rgba(31,41,55,0.5)] border border-gray-800 dark:border-gray-300 rounded-lg p-6 mb-5 max-w-2xl" data-question="email2">
  <div class="flex justify-between items-center mb-4">
    <div class="flex items-center gap-3">
      <div class="checklist-circle-icon">
        <svg class="checklist-check-mark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor">
          <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" />
        </svg>
      </div>

      <span>Have you subscribed to API and success rate alerts?</span>
    </div>

    <div class="button-group">
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="yes" onclick="callMe(this)">Yes</button>
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="no" onclick="callMe(this)">No</button>
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="na" onclick="callMe(this)">N/A</button>
    </div>
  </div>

  <div class="warning-box">
    <svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
    </svg>

    <span>We recommend setting up API alerts on Telr dashboard to ensure seamless processing.</span>
  </div>

  <div class="info-box">
    <svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
    </svg>

    <span>You can setup API alerts from the [Merchant dashboard](https://telr.cashfree.com/merchants/pg/developers/rate-limits)</span>
  </div>
</div>

<div class="checklist-item bg-[rgba(255,251,235,0.5)] dark:bg-[rgba(31,41,55,0.5)] border border-gray-800 dark:border-gray-300 rounded-lg p-6 mb-5 max-w-2xl" data-question="email2">
  <div class="flex justify-between items-center mb-4">
    <div class="flex items-center gap-3">
      <div class="checklist-circle-icon">
        <svg class="checklist-check-mark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor">
          <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" />
        </svg>
      </div>

      <span>Have you ensured that all payment methods are enabled for your account?</span>
    </div>

    <div class="button-group">
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="yes" onclick="callMe(this)">Yes</button>
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="no" onclick="callMe(this)">No</button>
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="na" onclick="callMe(this)">N/A</button>
    </div>
  </div>

  <div class="warning-box">
    <svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
    </svg>

    <span>Ensure all payment methods are enabled for your account. Reach out to us by filling out the [Support Form](https://telr.cashfree.com/merchants/landing?env=prod\&raise_issue=1) if something is not correct.</span>
  </div>

  <div class="info-box">
    <svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
    </svg>

    <span>You can view your payment methods on the [Merchant dashboard](https://telr.cashfree.com/merchants/pg/settings/payment-methods?env=prod)</span>
  </div>
</div>

<div class="checklist-item bg-[rgba(255,251,235,0.5)] dark:bg-[rgba(31,41,55,0.5)] border border-gray-800 dark:border-gray-300 rounded-lg p-6 mb-5 max-w-2xl" data-question="email2">
  <div class="flex justify-between items-center mb-4">
    <div class="flex items-center gap-3">
      <div class="checklist-circle-icon">
        <svg class="checklist-check-mark" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor">
          <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M5 13l4 4L19 7" />
        </svg>
      </div>

      <span>Have you checked for app integrity for testing in production?</span>
    </div>

    <div class="button-group">
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="yes" onclick="callMe(this)">Yes</button>
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="no" onclick="callMe(this)">No</button>
      <button class="checklist-btn px-3.5 py-1 rounded border-none bg-[rgba(31,41,55,0.2)] text-gray-800 dark:text-gray-100 cursor-pointer text-sm transition-all hover:bg-[rgba(31,41,55,0.4)]" data-value="na" onclick="callMe(this)">N/A</button>
    </div>
  </div>

  <div class="warning-box">
    <svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z" />
    </svg>

    <span>Please follow the steps provided [here](https://www.cashfree.com/docs/payments/online/mobile/misc/cashfree_integrity_prod_testing)</span>
  </div>

  <div class="info-box">
    <svg class="icon" xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" stroke="currentColor">
      <path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z" />
    </svg>

    <span>You can read more about this [here](https://www.cashfree.com/docs/payments/online/mobile/misc/cashfree_integrity)</span>
  </div>
</div>
