This guide explains how to replace the current Netlify form logic with Blackbaud's BBOX (Blackbaud Checkout) script so that donations sync directly to Raiser's Edge / Blackbaud CRM.
Before you start: Log into your Blackbaud Merchant Services or Raiser's Edge portal and add the production domain to the Approved Domains list. The form will silently fail on unapproved domains.
Replaces the internal fields of the current modal with the official Blackbaud form. Ensures 100% PCI compliance and connects directly to your Blackbaud merchant account. Recommended for most deployments.
Step 1 — Update the Modal HTML in index.htmlFind the <div id="m-donate"> section and replace the <form> and its contents with the Blackbaud root div.
Remove:
<form id="don-form" ...>
<!-- all form fields -->
</form>
Replace with:
<div id="bbox-root"></div>
Add this script just before the closing </body> tag in index.html:
<script type="text/javascript">
window.bboxInit = function () {
// Replace with your actual Blackbaud Form ID
bbox.showForm('82adc758-cd1c-42f0-981c-36c79eaabd08');
};
(function () {
var e = document.createElement('script');
e.async = true;
e.src = 'https://bbox.blackbaudhosting.com/webforms/bbox-min.js';
document.getElementsByTagName('head')[0].appendChild(e);
}());
</script>
Keeps the custom yellow preset-amount buttons and frequency toggle, and only hands off to Blackbaud when the user clicks "Give Now." The selected amount and frequency are passed as parameters.
Update donSubmit() in the script block of index.htmlfunction donSubmit(e) {
e.preventDefault();
const amount = document.getElementById('don-amt-val').value;
const frequency = document.getElementById('don-freq-val').value;
// frequency value is 'one-time' or 'monthly'
bbox.showForm({
formId: '82adc758-cd1c-42f0-981c-36c79eaabd08',
amount: amount,
recurring: frequency === 'monthly'
});
}
You will still need to add the Blackbaud loader script from Option 1 Step 2 for this approach to work.
You want the simplest, most compliant path and are OK with Blackbaud rendering the form fields.
You want to preserve the custom preset amounts and frequency toggle before handing off to Blackbaud's payment screen.
← Back to Site · LIM Developer Documentation · Restricted Access