Web Payments Ain’t supposed to be Hard

I remember myself when I was a little kid to always enjoy reading stories. Some people say that stories are highly educational and they teach in a more elaborate manner. In this post I would like to tell you a little bit about my journey from a Novice to Champion with Web Payments.
Actually I never became such a good payment hacker myself but all I had to do is go out and see who is doing this better than me.
As I have already mentioned in my previous post, I love attending Hack events and BattleHack is something like the legend of such events. Thus, I could not miss it at all.
In the same time I was rolling on a new project that we now call Orfium and Payments were an essential part of the project.
To be truly honest, I was always a little bit scared about adding payments on any of my applications. My fear was how could I make sure that credentials were secured, people could be safe on my websites and could feel comfortable buying stuff.
But before we go into details, let us rewind a little bit.
Some Humour?!?

A customer sent an order to a distributor for a large amount of goods totalling a great deal of money.

The distributor noticed that the previous bill hadn’t been paid. The collections manager left a voice-mail for them saying, “We can’t ship your new order until you pay for the last one.”

The next day the collections manager received a collect phone call, “Please cancel the order. We can’t wait that long.”

Agreeing on Web Payments

I first started approaching the Web Payment problem from an academic perspective. Since I am always looking for new ideas and trying to understand things that I am not comfortable with, I enrolled on the discussion initiated by W3C on payments. In contrast to similar W3C efforts, they tried to make the discussion more available to anyone and thus they initiated a broad discussion group.
 The reason on why we need to be part of those discussions is nicely described by The Next Web:

Payments on the Internet have developed without much regulation or standardization over the past 15 to 20 years. This has resulted in a wide variety of what’s called “payment behavior.”

“Each and every company that worked with payments invented its own way of interaction with the customer,” said Vinogradov. “What the group is doing now is sorting out the mess that the end user is seeing, creating a description of how the payment interface should look.”

Same goes for online stores, especially smaller ones, which struggle with all the payment providers they need to work with.

After a while the discussions can become rather technical, but I enjoy understanding the mechanics behind any #API that I am going to integrate with.

Integrated Payments within an afternoon with Python

So, the day came on a hot afternoon at June, when it has more than 40 degrees in Athens. I had to implement the payment mechanism of Orfium and even though I had participated at BattleHack I was still overwhelmed by adding PayPal and Braintree APIs on a Production Service.

The Braintree promise that they gave to us into the BattleHack was simple. You integrate with the sandbox environment and then, when everything is in place you just change your sandbox tokens with your production ones.

It was supposed to work like this, but it seemed to easy. I was a worried, but then looking around into the web, and by contacting Braintree directly, we found out this was the way.. Once again, it seemed to easy… And it is Web Payments we are talking about here..

We decided with our CEO to go with it and let’s see what happens. We started with an official Braintree account, added a bank account, created the production API keys and that was it. We had payments integrated into Orfium.

If you like to dive more into the details of how we implemented the code, you can always reference my article here on implementing with python. For more information, the official documentation is more than developer friendly.


Epilogue with a Joke

An attempt for a second Joke..

Maybe the jokes in this article were not the best, but you get the feeling.. I was really worried about implementing Payments on any of my services, but now I can sleep tight.
Braintree solved this for me, and I am grateful about that. As a company as well, I really like their approach on existence as a company.

  • Hire
  • Teach
  • Learn
  • Grow

To conclude this story, implementing new ideas, new stuff on our products is not supposed to be difficult or painful. APIs are a collaborative area for businesses where each of us can contribute either by telling our stories, by improving the quality of tools we provide or even by providing constructive feedback to any API we integrate with. Rome was not built in a day. It takes dedication, hard work and positive attitude to provide something good for developers to integrate with.

We can now enjoy a good API integration for Payments, taking all the burden from us. We can move into integrating new stuff, more interesting for our users and we can all have a peaceful night sleep…

We lived happily thereafter.