Oh, but it did. As I said, first it actually deducted money from my debit card after authorization, and then, after GB was ended, deducted from it a final price.
Charging a credit card has 2 parts: an “authorization” (or “hold”) and a “capture”. The authorization step locks down a particular amount of money from your credit limit, guaranteeing that the merchant can charge it, but does not actually charge you the money (some consumers definitely get confused about this from time to time though). The “capture” step actually finishes the transaction and charges the card. The authorization phase happens basically instantly, while captures are done in daily batches. It’s possible to capture any amount of money up to the authorized amount, or cancel the authorization, at any time for about a month after the authorization was made, though the exact amount of time varies from card to card. After that the authorization expires and the credit limit is restored.
Typically, in a situation like the one we’re dealing with here, SP should authorize the maximum possible charge, and then only capture the relevant amount (i.e. not actually charging you the difference). It sounds like what may have happened [though it’s a bit hard to tell without looking at your statement] is first they authorized the transaction for the full amount, and then later did both authorization and capture for a smaller amount, leaving the original authorization hanging.
If you use a debit card, instead of a credit card, then an authorization actually pulls money from your bank account (not exactly, but that’s how it often looks on statements), and the money sits in limbo until the authorization is either captured, canceled, or expired. This is one of the down-sides of debit cards. On the upside, usually authorizations on debit cards only last a week or less before they expire.
I’m sure if you contact SP directly, they’ll be willing to cancel the original authorization, which should put the money back into your bank account.
See
http://en.wikipedia.org/wiki/Authorization_hold for further details.