Documentation

Explore our API documentation to integrate Zentact.

POST ../merchant-accounts
{
"status": "ok",
"data": {
"redirectUrl": "https://payments.dentalsolutions.com/signup?locale=en-US&invitation=tX8ehbYfpeVDIeEq03ZvEQ7O4dilHtM0&organization=org_ms0JZDbb4hOZ6Usd&organization_name=dental-solutions#sid=Jgcp4aK8aNhi4CeKOF3y5",
"organizationId": "0d0fbcb3-396c-446b-b935-c7682092fb0a"
}
}

Introduction

Getting started

Learn how to rapidly onboard merchants and facilitate payment initiation through your system with Zentact

API reference

Learn to easily integrate into the Zentact platform

Webhooks

Receive important updates about merchants and payments.


Before you begin

Before you start using Zentact for Platforms, make sure to:

  • Contact our Sales Team to schedule a demo and figure out if Zentact is the right fit for your business.
  • Once we confirm that Zentact is a good fit for your use cases and the agreement is signed, our team will provision your test environment and invite you to the Zentact admin portal.

From there, everything you need to integrate is self-service: you create your own API keys and configure your own webhook endpoints in the admin portal, for both the test and live environments.

Environments

Zentact provides two fully separate environments. Each has its own admin portal, its own API base URL, and its own API keys and webhook configuration.

EnvironmentAPI base URLAdmin portal
Testhttps://test.api.zentact.comhttps://test.admin.zentact.com
Livehttps://api.zentact.comhttps://admin.zentact.com

All API endpoints documented in the API reference are relative to the base URL. For example, the Merchant Accounts endpoint is https://test.api.zentact.com/api/v1/merchant-accounts in test and https://api.zentact.com/api/v1/merchant-accounts in live.

Keys are environment-specific

API keys and webhook HMAC keys created in the test admin portal only work against the test API, and vice versa. When you go live, create a new API key and a new webhook configuration in the live admin portal.

Step 1: Create an API key

All requests to the Zentact API are authenticated with an API key sent in the X-API-Key header.

  1. Sign in to the admin portal for the environment you are integrating with (see Environments).
  2. Navigate to Configure → API Keys and click Create new API Key.
  3. Give the key a descriptive name (for example, production-backend or staging-integration) and click Create New Key.
  4. Copy the key and store it in your secrets manager.

The key is shown only once

For security reasons the full API key is displayed only at creation time and cannot be viewed again in the admin portal. If you lose it, deactivate or delete the old key and create a new one.

You can create multiple API keys (for example, one per service) and deactivate, reactivate, or delete any of them at any time from Configure → API Keys. Deactivating a key immediately rejects any request that uses it, which makes key rotation straightforward: create a new key, deploy it, then deactivate the old one.

Step 2: Configure a webhook endpoint

Zentact notifies your backend about merchant onboarding status changes and payment events via webhooks. Set up your endpoint before you start onboarding merchants so you do not miss any events.

  1. Expose a public HTTPS endpoint on your backend that accepts POST requests.
  2. In the admin portal, navigate to Configure → Webhooks and click Create new Webhook.
  3. Enter your endpoint URL and select the event types you want to receive: Payment, Merchant, and/or Saved Payment Method.
  4. Click Create New Webhook. Copy the HMAC key that is displayed and store it alongside your API key.

The HMAC key, like the API key, is shown only once. Use it to verify the x-hmac-signature header on every webhook you receive so that you only process events genuinely sent by Zentact. See Webhooks Authentication for the verification algorithm and code examples, and the Merchant Account Events and Payment Events pages for payload schemas.

Step 3: Initiate merchant onboarding

With your API key in hand, initiate merchant account onboarding for sub-merchants in your platform.

The following code illustrates how to initiate a registration with the minimal required data.

Request:

curl https://test.api.zentact.com/api/v1/merchant-accounts \
-H "X-API-Key: YOUR_API_KEY" \
-H "content-type: application/json" \
-d '{
        "email": "admin@bigsmileinc.com",
        "businessName": "Big Smile, Inc.",
        "merchantReferenceId": "my-unique-merchant-id"
}'

Response:

{
  "status": "ok",
  "data": {
    "redirectUrl": "https://payments.dentalsolutions.com/signup?locale=en-US&invitation=tX8ehbYfpeVDIeEq03ZvEQ7O4dilHtM0&organization=org_ms0JZDbb4hOZ6Usd&organization_name=dental-solutions#sid=Jgcp4aK8aNhi4CeKOF3y5",
    "organizationId": "0d0fbcb3-396c-446b-b935-c7682092fb0a"
  }
}

See the Merchant Accounts API documentation for additional information that can be pre-filled for merchants.

Once the merchant is onboarded, Zentact will notify your backend via the Merchant webhook about the merchant status, after which you'll be able to start checkouts.

Initiate a card-not-present (Ecommerce) transaction for your newly onboarded merchant:

Request:

curl https://test.api.zentact.com/api/v1/checkout/start \
-H "X-API-Key: YOUR_API_KEY" \
-H "content-type: application/json" \
-d '{
  "referenceId": "my-unique-transaction-id",
  "amount": 1299,
  "currency": "USD",
  "locale": "en-US",
  "merchantReferenceId": "my-unique-merchant-id"
}'

Response:

{
  "status": "ok",
  "data": {
    "checkoutUrl": "https://payments.dentalsolutions.site/checkout/#s=3WnlSSP9kgxXlZcoIasNe"
  }
}

Redirect your customer to the checkout URL to complete the payment. Zentact will notify your backend about payment events via the Payment webhook.

Zentact vs Adyen payment webhooks?

What's the difference between Adyen payment webhooks and Zentact's? Both allow you to receive payment status notifications, but Zentact offers additional details. These include split information, such as the fees charged, and the specific merchant account associated with each payment. Both notifications carry the reference ID submitted to Zentact for the payment.

Going live

When your integration is tested and your live environment has been provisioned:

  1. Sign in to the live admin portal at https://admin.zentact.com.
  2. Repeat Step 1 and Step 2 to create a live API key and live webhook configuration.
  3. Point your backend at https://api.zentact.com and swap in the live API key and HMAC key.

Getting help

Need Assistance? We're Here for You!

Quick Solutions:

For immediate help, check out our FAQs and Knowledge Base. They are packed with answers to common questions and step-by-step guides.

Contact Support:

Can't find what you're looking for? Our support team is just an email away. Reach out to us at support@zentact.com for personalized assistance. We aim to respond within 24 hours.

Feedback and Suggestions:

Got ideas on how we can improve? We'd love to hear from you! Send your suggestions to feedback@zentact.com.

Emergency Support:

For urgent technical issues, contact our emergency support line at 1-855-ZENTACT. Available 24/7.