Braintree
Connect Braintree to Payments — keys, webhook URL and signing secret.
Braintree (part of PayPal) takes card and wallet payments and subscriptions. Norbix gets its webhooks (subscription charges, settlements, disputes).
Get your credentials
Sign in to the Braintree Control Panel — the sandbox for tests.
Open Settings (gear) → API → API Keys. Copy the Merchant ID and, under the key, press View to copy the Private Key (see Important gateway credentials).
Save the integration in Cloud once (below) to get its Webhook URL.
Open Settings → Webhooks → Create new webhook, paste the webhook URL and pick the notifications (see Webhooks). Braintree signs the calls with your API keys, so no extra secret is needed.
Connect it in Cloud
Where: Payments → Integrations → Add New Integration → Braintree → Connect · /projects/<project>/payments/integrations/new/braintree
Merchant ID
yes
Your Braintree merchant id.
your-merchant-id
Environment
yes
sandbox or production — type the word.
sandbox
Private Key
yes
Lets Norbix call Braintree and checks the bt_signature of each webhook. Secret; encrypted on save and never shown again — type it again whenever you press Save.
your-private-key
Integration Name
yes
The name in your integrations list.
Braintree sandbox

Press Save. The page turns into Editing Braintree integration with the badges ENABLED, NOT TESTED, NOT CONFIRMED, the integration id (int_2bIX1mVn1R12kK03HFmF2v) and the Webhook URL — <Hub address>/v3/payments/webhooks/<account id>/<project id>/braintree/<integration id>; outside PROD it ends with ?env=<ENV>. Copy it with its copy button and paste it at Braintree (see Get your credentials). Received webhooks at the bottom lists every call Braintree makes to it.

Events Norbix accepts from Braintree (pick them at Braintree and in your trigger): subscription_charged_successfully, subscription_charged_unsuccessfully, subscription_canceled, transaction_settled, transaction_settlement_declined, dispute_opened.
Test and set as default
Test integration only checks that the merchant id, environment and private key are filled in and well-formed; it does not call Braintree, so it can pass with wrong keys — it passed with made-up values. Send a test notification from Braintree and check Received webhooks. See Test an integration. Payments has no default integration — every enabled integration gets its own calls (Default integration).
Common errors
Received webhooks shows 400
The private key does not belong to the key pair Braintree signed with.
Copy the private key again and Save.
Required
An empty required field.
Fill every field.
Required
A required field is empty — secrets count too on every save.
Fill the field; type every secret again before Save.
Do it from code
The client setup is on the Payments page. API: Save Payments Integration
Last updated
Was this helpful?