So, when I'm doing BR related add-ons - I work in isolation a lot of the time only hitting BR once and then using Action ID's to perform the development test work.
So, first thing you're going to need to do is create your hook as normal and install an empty add-on. You'll need to do this anyway, so it makes sense to do it.
You also want to register the same function in your exp_actions table so that you can execute the function via an ?ACT=X ID.
So, assume that $data is the array that's passed in to your extension. In the execution of the function, simply put the following in:
header('Content-Type: text/plain; charset=iso-8859-1');
N.B: The header line simply makes the output in a humanreadable with nice formatting - it's technically not required.
Now, you will need to make a trial purchase using the site - but then what will happen, is once it gets to that hook and executes your function and will display the $data array for you.
Now take that resulting $data and store it somewhere - at this point it doesn't matter where as long as you keep storing it.
This is where you now start the development. Normally, I'll simply set $data in the top of my function to the value that was output in my first test and then continue with development. You can keep testing the development with this same dataset, just by referencing the http://site.com?ACT=X URL which points to this function. Once you're then working, you simply substitute the $data value in the head of your function for the dynamically passed one that the hook passes and you're done.
Couple of Caveats:
When you've finished testing, make sure you uninstall your add-on, removing the Action from the exp_actions table and then reinstall it without that line of code in the install.
There will be no getting over the issue that you are going to have to test the add-on with real data, so once you've done your initial build/tests, you'll then have to make lots of test transactions to get it to work - you're going to need to try with variety of data etc.