Last but not least, callbacksWithOrderID should in my opinion take a URL, then you decode it in the correct way inside the SDK. No need for me to start taking it apart.
I would love for it to use completion blocks instead of returning a dictionary, but i guess that we can make this work.