Get started with a custom Jovvie Checkout integration
Before you build a custom Jovvie Checkout integration, you need a merchant account with Stripe or NMI connected and a set of API keys. For Stripe only, you also need a platform provider ID from Jovvie.
Before you start
Section titled “Before you start”- Read Build your own Jovvie Checkout integration to see how a payment works.
- Know whether the merchant uses Stripe or NMI. The steps on this page are the same for both unless a step says otherwise.
Step 1: Get a platform provider ID
Section titled “Step 1: Get a platform provider ID”The Stripe SDK needs a platform provider ID. It tells Jovvie which integration is making each request. You must get your own platform provider ID from Jovvie and pass it explicitly every time you create the SDK client.
To get one, contact Jovvie support. Tell them about your app and the merchants who will use it.
The NMI SDK does not use a platform provider ID. If you are only building for NMI, skip this step.
Step 2: Check the merchant’s account
Section titled “Step 2: Check the merchant’s account”The merchant needs a Jovvie account with their payment processor connected:
- Stripe: the merchant’s Stripe account is connected in the Payments Dashboard. The Applications page only appears after it is connected.
- NMI: the merchant has an NMI account set up in the Jovvie payments gateway dashboard.
If you are an agency, the merchant (or an administrator they choose) creates the server application in step 3 and enters its keys directly into your integration’s server-side settings or environment. Keys are never sent by email or chat.
Step 3: Create a server application
Section titled “Step 3: Create a server application”An application gives your integration its own set of keys. Create a new application for each integration. Do not reuse an application that a Jovvie plugin already uses.
- Sign in to the Payments Dashboard. For NMI, sign in to the Jovvie payments gateway dashboard instead.
- Click Applications.
- Click Create New.
- In Name, enter a name you will recognize, such as the name of your app.
- In Webhook URL, enter the address on your server that will receive webhooks. It must start with
https://. If your endpoint is not ready yet, you can add it later. - Click Create.
The application’s page opens. Under Keys Management, you see:
- Public Key: identifies your application.
- Secret Key: proves requests come from your server. Keep it private.
- Webhook Key: lets you check that a webhook really came from Jovvie. Keep it private.
Webhook Key only appears after the application has a Webhook URL. This is the same with Stripe and NMI. To add a Webhook URL later:
- Open the application’s page in the dashboard.
- In Webhook URL, enter the address of your webhook endpoint.
- Click Save Changes.
The Webhook Key then appears under Keys Management.
Step 4: Store your keys
Section titled “Step 4: Store your keys”Your code needs the public key, secret key, and webhook key. With Stripe, it also needs a platform provider ID. The examples use these placeholders:
| Value | Placeholder |
|---|---|
| Public Key | YOUR_PUBLIC_KEY |
| Secret Key | YOUR_SECRET_KEY |
| Webhook Key | YOUR_WEBHOOK_KEY |
| Platform provider ID (Stripe only) | YOUR_PLATFORM_PROVIDER |
Keep them on your server:
- Store them in environment variables or your platform’s secrets manager.
- Never put the secret key or webhook key in browser code, a mobile app, a URL, or version control.
- Never write them to logs or error messages.
If a key is exposed
Section titled “If a key is exposed”If you think someone else has seen the secret key or webhook key:
- Open the application’s page in the dashboard.
- Click Regenerate Keys.
- Copy the new keys to your server right away.
The old keys stop working as soon as you regenerate them, so update your server at the same time.
To stop an integration from making requests, open the application’s page, click Enabled, and confirm. The label changes to Disabled, and requests with that application’s keys are rejected until you click it again.
Step 5: Plan for testing
Section titled “Step 5: Plan for testing”With Stripe, the same keys and platform provider ID work in live mode and in test mode. You choose the mode when you create the SDK client, so you can test without charging a real card. The NMI SDK has no test mode. See Test your integration.
Next step
Section titled “Next step”Install the SDK and create your first client.