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

# Stripe Direct Accounts Email Template

> Copy this email to request Stripe API credentials and webhook setup from a client connecting their own Stripe Direct Account.

Use this email template to ask a client to send the credentials and complete the webhook setup needed to connect their own Stripe account to fusionCore as a Stripe Direct Account.

**Stripe** is the payment processor that charges cards and bank accounts. A **Stripe Direct Account** is a connection in which the client links their own standalone Stripe account to fusionCore, rather than connecting through fusionSpan's platform account. Because the account belongs to the client, your team has no view into their Stripe dashboard unless the client grants access.

<Note>
  Replace every bracketed placeholder (for example `[Client Name]`) before sending. Send and receive all keys and secrets through a secure channel agreed with the client, never in plain email.
</Note>

## Email Template

***

**Subject:** Action required: secure credentials for your Stripe Direct Account integration

Dear \[Client Name],

To complete the connection between your Stripe account and fusionCore, we need a few credentials and one setup step from you. Because this is a Stripe Direct Account connection, our team has no direct visibility into your Stripe dashboard for setup or troubleshooting unless you grant us access.

Please complete the following four steps.

### Step 1: Send Your API Keys

In your Stripe Dashboard, go to **Developers → Overview → API Keys** and copy the following:

* Publishable Key (begins with `pk_`)
* Secret Key (begins with `sk_`)

Send both keys back to us through the secure channel we agreed on. Please do not send them in plain email.

### Step 2: Set Up Your Stripe Webhook

A **webhook** is a URL that Stripe calls to notify fusionCore when a payment event happens (for example, a payment succeeds or a refund is issued).

<Steps>
  <Step title="Create the endpoint">
    In your Stripe Dashboard, go to **Developers → Webhooks → Add Endpoint**.
  </Step>

  <Step title="Add the events">
    Add the following events:

    * `charge.refund.updated`
    * `payment_intent.canceled`
    * `payment_intent.payment_failed`
    * `payment_intent.processing`
    * `payment_intent.requires_action`
    * `payment_intent.succeeded`
    * `customer.created`
    * `customer.updated`
    * `setup_intent.canceled`
    * `setup_intent.requires_action`
    * `setup_intent.setup_failed`
    * `setup_intent.succeeded`
    * `payment_method.updated`
    * `payment_method.automatically_updated`
    * `payment_method.detached`

    When you finish adding the events, click **Continue**.
  </Step>

  <Step title="Find your Salesforce Site URL">
    In your Salesforce org, go to **Setup → Sites → Stripe**. Right-click the URL and choose **Copy Link Address**.

    <Frame caption="Copying the Stripe Site URL in Salesforce Setup">
      <img src="https://mintcdn.com/fusionspan/PQhCyVfBbt1uWfmh/images/end-user-guides/5070094479/image-20260224-203339.png?fit=max&auto=format&n=PQhCyVfBbt1uWfmh&q=85&s=e3fcc4c7b43d1502601a605cb9cb4a0e" alt="Salesforce Setup Sites page with the Stripe site URL right-click menu open" width="1336" height="693" data-path="images/end-user-guides/5070094479/image-20260224-203339.png" />
    </Frame>
  </Step>

  <Step title="Set the endpoint URL">
    Back in Stripe, paste your Site URL into the **Endpoint URL** field and append `/services/apexrest/FCORE_PSTRIPE/Stripe`. The final endpoint URL looks like this:

    `https://<your-site-salesforce-domain>/services/apexrest/FCORE_PSTRIPE/Stripe`

    Enter the URL with no extra spaces or trailing slashes.
  </Step>

  <Step title="Create the endpoint">
    Click **Create Endpoint**. Your webhook is now created.
  </Step>
</Steps>

### Step 3: Send Your Request Signature Secret and External ID

The **Request Signature Secret** (Stripe calls it the signing secret) lets fusionCore confirm that incoming webhook calls genuinely come from Stripe. The **External ID** is your Stripe account ID, which identifies your account to fusionCore.

To find the Request Signature Secret, go to **Developers → Webhooks** and open the webhook you just created. Click the eye icon on the signing secret to reveal it, then copy it.

<Frame caption="Revealing the webhook signing secret in Stripe">
  <img src="https://mintcdn.com/fusionspan/PQhCyVfBbt1uWfmh/images/end-user-guides/5070094479/image-20260224-203807.png?fit=max&auto=format&n=PQhCyVfBbt1uWfmh&q=85&s=b502ea0292dbd0288eb7af476c98f9eb" alt="Stripe webhook details page showing the signing secret reveal icon" width="1892" height="730" data-path="images/end-user-guides/5070094479/image-20260224-203807.png" />
</Frame>

To find the External ID, read it from the address bar of your browser while logged into Stripe.

<Frame caption="Locating the Stripe account ID in the browser address bar">
  <img src="https://mintcdn.com/fusionspan/PQhCyVfBbt1uWfmh/images/end-user-guides/5070094479/image-20260224-204018.png?fit=max&auto=format&n=PQhCyVfBbt1uWfmh&q=85&s=5f970f934b9f171da819895640d570d8" alt="Browser address bar showing the Stripe account ID" width="1507" height="42" data-path="images/end-user-guides/5070094479/image-20260224-204018.png" />
</Frame>

Send both the Request Signature Secret and the External ID back to us through the secure channel we agreed on.

### Step 4: Grant Troubleshooting Access

Because we cannot view your account from our side, please set up a temporary staff user for our team within your Stripe account. This lets us help with configuration and troubleshooting during the implementation phase. You can remove this user once the connection is live.

Once the keys are provided and access is granted, we will validate and test your connection.

Best regards,

\[Your Name]
\[Your Title]

***

## Notes for the Implementer

* These keys map to the fields and Custom Metadata used by the Stripe Direct Account setup.
* The Publishable Key and Secret Key go into the prefixed `FCORE_PSTRIPE__Payment_Provider_Secret__mdt` records (`[Prefix]_Stripe_Public_Key` and `[Prefix]_Stripe_Secret_Key`).
* The Request Signature Secret goes into `FCORE_PAY__Request_Signature_Secret__c` on the Payment Provider Account, and the External ID goes into `FCORE_PAY__External_Id__c`.
* For the full configuration steps, see [Stripe Direct Accounts](/end-user-guides/stripe/stripe-direct-accounts/index).
