Bah bah bah wat ben ik gruwelijk klaar met Buckaroo. Wat een incompetente mafkloten zijn dat zeg. In hun documentatie hebben ze voor dezelfde variabele maar liefst 4 verschillende notaties (brq_amount, Brq_amount, BRQ_amount, BRQ_AMOUNT), die ze gewoon lekker door elkaar heen noemen.

Maar om die consistentie te behouden is hun api case-insensitive.
De responses die ze naar je sturen verschillen ook nog, vanwege de in hun documentatie genoemde "consistentie". De ene keer moet je uit het veld brq_transaction
s het transactie id halen, de andere keer uit brq_payment

Om het leuker te maken mag je ook nog oppassen dat je niet toevallig 2 transactie ids in het veld brq_transactions krijgt, maar die zijn in ieder geval altijd van hetzelfde brq_transaction_method (want anders zou die ook vast "brq_transactions_method" heten)...
En dan heb je nog die idiote manier van het genereren van een signature voor de transactie. Je pakt alle parameters die een bepaalde prefix hebben, gooit die case-insensitive in een alfabetische sort, plakt ze zonder separator achter elkaar als key=value en doet er nog even je secret key bij. Bij de return is dat natuurlijk ook zo.... Behalve dat ze niet fatsoenlijk alfabetisch sorteren. Natural sorting is er niet bij.. Niet dat je daar last van hebt bij de response die je krijgt als de klant terugkomt op de site, maar bij een push vanuit hun controlpanel is het ineens invalid, want daar geven ze weer andere parameters mee :x
Heel hun documentatie schreeuwt dat ze consistent zijn, maar tot dusver is het enige wat er consistent is de buil op mijn voorhoofd van het constante face-desken

Dat ze gewoon een voorbeeld hadden genomen aan iDeal of PayPal, die tenminste wel fatsoenlijke documentatie hebben, en bovenal: waar de documentatie overeenkomt met hetgeen je moet sturen.
Anyone who gets in between me and my morning coffee should be insecure.