balanced / billy

Billy - The open source recurring billing system, powered by Balanced.
Other
172 stars 45 forks source link

Dogfooding #72

Open mjallday opened 10 years ago

mjallday commented 10 years ago

Once invoicing is implemented the best way to ensure that this code works as required will be to get Balanced to use it for production invoicing of marketplace fees.

A 3-step approach would be best

  1. [ ] Create invoices via Billy alongside Balanced invoices and compare the results
  2. [ ] Reconcile Billy invoices alongside Balanced invoices and compare the results
  3. [ ] Submit invoices via Billy instead of via Balanced (the end!)

We have an internal discussion at Balanced on how to implement step 1.

It's unclear how Billy will handle invoice adjustments right now but once that is understood we can begin generate the invoices in Billy.

fangpenlin commented 10 years ago

A little bit new thinking about how this should go. I think merely running Billy with dummy processor cannot allow us to spot some real issues in real life battlefield. So, I think, maybe we should add a step before the last one - which is to let Billy really charge a partition of invoice, say, 1% or something like that.

We can apply a hash on the event ID, like

    SHA1(Event ID) < specific number

if this goes true, then we let Billy process it, if is is not, Balanced API processes it. In this way, we can have real battlefield experience for Billy, and still, if anything goes wrong, there is only little amount need to be recovered, can be done manually with a simple script, shouldn't be a big problem thought.

mahmoudimus commented 10 years ago

@victorlin can you elaborate why we shouldn't use a dummy processor? why can't we use a test marketplace to issue bank account debits?

fangpenlin commented 10 years ago

@mahmoudimus We can, but I think there will be some issues in corner cannot be spotted then, the feeling is just like, you do something in a lab, everything goes fine, but when it comes out to the real environment, boom!

By doing that, is just to make sure when we switch the loading to Billy, it is more solid.

mahmoudimus commented 10 years ago

@victorlin the test / production code runs exactly the same and goes all the way down the processor so there's nothing to worry about.

mahmoudimus commented 10 years ago

But yes, I understand your concern.

fangpenlin commented 10 years ago

@mahmoudimus Well, great, then current steps to migrate will do :)