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

# Braintree

> Evaluate the Experimental Braintree Integration for 86d.store: GraphQL and REST APIs, refunds, and webhook notifications.

<Warning>
  **Experimental.** Use sandbox credentials and verify authorization, settlement, refund, invalid-signature, and duplicate-event behavior before wider testing. See [maturity levels](/docs/resources/versioning).
</Warning>

The Braintree [Module](/docs/concepts/modules) implements the current `PaymentProvider` interface from the [Payments Module](/docs/modules/payments) using Braintree's GraphQL and REST APIs. Its [Webhook](/docs/resources/glossary#webhook) handles Braintree's `bt_signature` and `bt_payload` notification format.

**Source:** [`modules/braintree`](https://github.com/86d-store/86d/tree/main/modules/braintree) · **npm:** [`@86d-store/braintree`](https://www.npmjs.com/package/@86d-store/braintree)

## Installation

```sh theme={null}
86d module add braintree payments
```

## Configuration

Add the Module to `config.json`, then set the `BRAINTREE_*` environment variables. Do not put the private key in source or `config.json`. See [Environment variables](/docs/configuration/environment-variables).

## Webhook setup

In the [Braintree Control Panel](https://www.braintreegateway.com/login), go to **Settings -> Webhooks** and create a webhook for `transaction_settled` and `transaction_settlement_declined` pointing at:

```text theme={null}
POST https://your-store.com/api/braintree/webhook
```

## Related pages

* [Payments](/docs/modules/payments)
* [Set up a payment provider](/docs/guides/payment-integrations)
* [How Connections route provider work](/docs/concepts/connections)
* [Versioning and maturity](/docs/resources/versioning)
* [Glossary](/docs/resources/glossary)
