You first need to have an active Braintree account. If you don’t have one, go to Braintreepayments.com and sign up for one.
Braintree is a Paypal company, so you will also be able to receive Paypal payments.
Note that our integration with Braintree allows you to receive payments for the invoices auto-generated or created under your agency account. No other payments can be received through our system.
Each Braintree integration is done at company level inside your agency account. If your agency is run through multiple companies, you need to do the setup for each of them.
1. Copy Braintree settings
Go to Account -> Merchant Account Info (in your Braintree account)
Here you will find your Merchant ID and one or multiple Merchant Account ID.
Merchant ID is an unique identifier for the entire company.
Merchant Account ID is used for charging against a specific currency. We will create the payment request using invoice currency, if you have a Merchant Account ID setup in that currency.
Make sure you select the right currency for each Merchant Account ID, otherwise we don’t take responsibility for charging wrong amounts.
If no merchant account IDS are added the default one is used and conversion is made by Braintree. Note that we don’t consider differences in currencies and don’t use exchange rates in such cases.
2. API Integration
You need to go to Settings -> Api Keys (in your Braintree account)
Under API Keys generate a set of Public/Private keys, which are going to be used server side only. Copy those values into our input fields.
3. Paypal Integration (optional)
First of all you need to have a verified Paypal business account. Here’s a more detailed article from Braintree.
Then go to Settings -> Processing and enable Paypal as a payment method.
Note that Paypal payments need to be updated for each account, otherwise it won’t be displayed as a payment option in settings. You also have the possibility to enable Paypal for each invoice.
Important: The final currency of the company you set for any invoice must match the default currency of the Braintree merchant account. Otherwise an error will be thrown during payment.
4. Custom Fields
Under Settings -> Processing in your Braintree account you’ll find an option to modify custom fields. We use custom fields to add extra information on the transaction, and those are mandatory:
- Scroll down to Custom Fields and click Options
- Click Add
- Enter a custom field API name as vt_data
- Enter a display name: “Custom VT data”
- This is what will appear in your transaction history and Vault records
- Under Options, select Store and Pass Back
- Click Add Custom Field
Not adding custom fields under Braintree account, it will generate errors and no sales/payments can be made.
5. Setup on VTmarketing side
Under Billing->Invoicing, for each company you will have a small icon on the right side.
Clicking on the banknote icon will open a open with the following content. Note that for now we only accept Braintree, but plan to integrate other payments systems as well.
Merchant Account IDS are very important in order to match invoice currency with the one from your account.
If you have your Braintree account setup is in USD and company currency in EUR (which also means invoice final currency is EUR), we will automatically apply exchange rate for the payment.
If you do not add any merchantAccountIDS, the same value from the invoice (total with vat) will be applied to the payment request, regardless Braintree default currency.
6. Test payments (optional)
If you want to make sure you did everything right:
- you can create a draft invoice with a very small amount: 0.2EUR for example
- send it to yourself
- access the payment link and pay it with a real card.
Everything should be ok and a success message should appear.