Conga Product Documentation

Welcome to the new doc site. Some of your old bookmarks will no longer work. Please use the search bar to find your desired topic.

Show Page Sections

Payment Integration

Payment integration enables secure payment processing in Conga by connecting with external payment providers such as Stripe. Administrators can configure payment provider settings, manage API credentials, configure webhook communication, define supported payment methods, and securely manage sensitive credentials using the Conga integration framework. The integration supports both authenticated and guest user payment flows, allowing users to initiate and complete payments seamlessly while maintaining secure communication between Conga and the payment provider.

Administrators can configure payment integrations using the Secret Management API or Endpoint Configuration API. Once configured, the integration details are available in Admin UI > Integrations > Others, where administrators can view, update, and manage provider configurations and securely manage stored credentials through the Secrets dialog.

Configuring Stripe Payment Integration

Stripe is a third-party payment processing platform that enables businesses to accept and manage online payments securely. It supports multiple payment methods, handles payment authorization and status events, and provides APIs and webhooks for seamless system integration.

You can configure Stripe and integrate it with Conga to enable secure payment processing. This task guides you through setting up Stripe API keys, webhooks, allowed payment methods, and storing required secrets using the Conga integration framework.

Prerequisite:
  • Access to the Stripe Dashboard.
  • A tenant-specific Stripe account is available.
  • An Integration User is created for each tenant in Conga.
  • Access to the Conga Secret Management API.
  1. Create a Tenant-Specific Stripe Account.
    1. Navigate to the Stripe sign-up page.
    2. Create a new Stripe account for your tenant.
    3. Complete the self registration process.
  2. Retrieve Stripe API Keys.
    1. Log in to the Stripe Dashboard.
    2. Navigate to the API keys section.
    3. Copy the Publishable Key and Secret Key.
  3. Configure the Stripe Webhook.
    1. Navigate to the Stripe Webhooks configuration page.
    2. Click Add Destination.
    3. On the destination setup page, select Your account and API version.
    4. Scroll to the Payment Intent section to select Payment Intent Events.
    5. Select the following events:
      • payment_intent.succeeded

      • payment_intent.payment_failed

      • payment_intent.canceled

    6. Click Continue.
    7. To configure Webhook Endpoint, click Webhook Endpoint and then click Continue.
    8. Configure the destination details as follows:
      • Destination Name: Enter a name of your choice (for example, ABC Webhook).

      • Endpoint URL: api/integrations/v1/stripewebhook/stripe-response?key={{integrationUser-user-id}},{{integrationUser-org-friendly-id}},{{integrationUser-org-id}}

      Note:
      • You must create one integration user per tenant

      • You must replace the placeholders with actual integration user values:
        • integrationUser-user-id Integration User User ID
        • integrationUser-org-friendly-id Integration User Organization Friendly ID
        • integrationUser-org-id Integration User Organization ID
  4. Click Create Destination.
    Note: After you create the webhook, the system displays the Webhook Landing Page. On the right side, note the Signing Secret (Webhook Secret Key). Without this key, communication with the Conga webhook endpoint fails.
  5. Configure Allowed Payment Methods.
    1. Navigate to Settings > Payment.
    2. Enable the payment methods required for your business, such as Cards, Amazon Pay, ACH Direct Debit.
  6. Configure Integration Connectors in Conga. During Conga customer on boarding, configure Stripe secrets using the Secret Management API.
    Note: The UI for managing secrets is not currently available. Use the API as a temporary workaround.
  7. Store Stripe Secrets Using the API.
    1. Open the Secret Management API Swagger.
    2. Under the Secret Store category, use the POST /api/secret-management/v1/secret.
      Sample Payload
      {
        "SecretName": "StripeSettings",
        "SecretValue": "{\"PublishableKey\":\"pk_test_PublishableKey\",\"SecretKey\":\"sk_test_SecretKey\",\"WebhookSecret\":\"whsec_WebhookSecret\",\"ABC\":\"XYZ\"}",
        "Description": "Stripe payment webhook dev settings",
        "Category": "External"
      }
    3. Replace placeholders.
      • pk_test_PublishableKey - Stripe account Publishable Key
      • sk_test_SecretKey - Stripe account Secret Key
      • whsec_WebhookSecret - Stripe Webhook Signing Secret
  8. Click Execute to save the Stripe configuration.

Configuring Stripe Payment Integration Using the Endpoint Configuration API

You can configure the Stripe payment integration using the endpoint configuration Swagger page. After completing these steps, the Stripe integration is available at Admin UI > Integrations > Others.

Prerequisites
  • Endpoint configuration APIs
  • Permission to create external credentials and update provider configuration
  • Valid Stripe account values for the applicable environment
  1. Retrieve the Stripe provider configuration using GET /api/endpointconfiguration/v1/providers/{integrationType}/{providerName}
    • integrationType: PaymentGateway
    • providerName: Stripe
  2. Review the metadata field in the response and decode it to JSON for checking the x-field-type value to determine whether each field is a credentials field or a secret field.
  3. For each credentials field, create an external credential using POST /api/endpointconfiguration/v1/external/credentials.
    Example payload for publishableKey:
    
    {
      "Name": "Stripe_publishableKey",
      "Description": "Stripe publishable key",
      "AuthType": "APIKey",
      "APIKeySecrets": {
        "APIKey": "<your-publishable-key>"
      }
    }
    Repeat for secretKey:
    
    {
      "Name": "Stripe_secretKey",
      "Description": "Stripe secret key",
      "AuthType": "APIKey",
      "APIKeySecrets": {
        "APIKey": "<your-secret-key>"
      }
    }

    Complete this step for all Stripe fields marked as credentials in the metadata.

  4. Update the Stripe provider configuration using PUT /api/endpointconfiguration/v1/providers/{integrationType}/{providerName}.
    • integrationType: PaymentGateway
    • providerName: Stripe
    Payload Example:
    
    {
      "Data": {
        "publishableKey": "Stripe_publishableKey",
        "secretKey": "Stripe_secretKey",
        "webhookKey": "<your-webhook-key>"
      }
    }
    Note: For credentials fields, provide the reference name of the external credential created in the previous step. For secret fields, provide the actual secret value directly in the payload.

Viewing and Managing Stripe in the Admin UI

After configuring the Stripe integration using the Secret Management API (which requires at the beginning) and the Endpoint Configuration API, the configuration is automatically reflected in the Admin UI. Administrators can navigate to Admin UI > Integrations > Others to view, edit, and manage the Stripe integration without returning to the API.

The Others tab serves as the central listing page for all external integration providers configured in the system. It gives administrators a quick view of the current state of each integration, including when it was last updated and by whom.
  • Stripe Setup Page: Allows administrators to view and edit the Stripe integration configuration that was initially stored via the API. It also provides access to the Secrets dialog for managing sensitive credentials.

  • Managing Stripe Secrets: The Secrets dialog provides a secure interface for administrators to view and update the sensitive credentials for Stripe. Credentials are always stored in masked form and are never displayed in plain text, protecting them from accidental exposure in the UI.

Important:

The Configuration (JSON) field displays the values stored through the Endpoint Configuration API. When you configure Stripe using the Secret Management API, the JSON editor displays only the webhookKey reference because the system stores the publishable and secret keys as external credentials and does not display them here.

  1. Navigate to Admin UI > Integrations > Others tab.
  2. Click Edit to open the Stripe configuration in the Actions column for the Stripe row.
  3. Click Manage Secrets.
    The Secrets dialog opens, showing the publishableKey and secretKey fields in masked state.
  4. Click Update next to the credential field you want to change. The masked field expands to show an Enter new value... input field with a show/hide toggle icon. The other credential field remains in its masked state.
  5. Type the new credential value in the input field and use the show/hide toggle to verify the value if needed.
  6. Click Save to apply the new value. The field returns to masked display. To discard the change, click Cancel instead.
  7. Repeat steps 2–6 for any other credential field that needs to be updated.
  8. Click Close to dismiss the Secrets dialog and return to the Stripe Setup page

Guest User Payment Integration

Guest users can initiate and complete payments without logging in. Administrators must configure allowed routes via the Get a configuration API.

Category - guestuser

Name - allowedroutes

Endpoint:
{\"Route\":\"/api/integrations/v1/payment/initialize\",\"Method\":\"POST\"},{\"Route\":\"/api/integrations/v1/stripewebhook/stripe-response\",\"Method\":\"POST\"},{\"Route\":\"/api/integrations/v1/payment/metadata\",\"Method\":\"GET\"}

Use Case: Payment Processing with Stripe in Digital Commerce

Business Context

In many B2B and B2C sales flows, payment collection happens outside the digital storefront, requiring manual follow-ups and external systems. This results in delays, errors, and a disconnected buying experience. Integrating payments directly into Digital Commerce helps streamline checkout and accelerate the quote-to-cash cycle.

Objective

Enabling buyers to complete payments securely and seamlessly within Digital Commerce using an integrated payment gateway, starting with Stripe, while supporting future payment gateways.

Roles

  • Buyer: Completes payment during checkout.

  • Sales Representative: Creates and shares quotes for checkout.

  • Digital Commerce Platform: Manages checkout and payment flow.

  • Payment Gateway (Stripe): Processes secure payment transactions.

Prerequisites

A quote or cart is ready for checkout. Stripe payment integration is configured in Digital Commerce. The buyer is authorized for the selected payment method.

Scenario

A buyer receives a finalized quote shared by a Sales Representative and opens it in the Digital Commerce storefront. After reviewing the products, pricing, and terms, the buyer is ready to place the order and chooses to complete payment during checkout using one of the available payment options.

Task

Buyers can complete payments directly within the Conga Digital Commerce storefront during checkout. The integrated payment flow supports secure online payments through Stripe, along with flexible options such as PO Number, Pay Later, and Pay Now, enabling a streamlined and efficient checkout experience.
Note: Pay Later option is available only for logged-in user.

Refer Adding Purchase Order Number (PO Number), Using Pay Later, Using Pay Now topics.

Result

The payment is completed securely within the storefront. No sensitive payment details are stored in Digital Commerce. The order progresses without manual payment follow-up.

Best Practices

Offer multiple payment options to support different buyer purchasing models. Use embedded payment flows to reduce checkout drop-offs.