Paypal Looks to Crush Amazon’s Fledgling Payment Service With A New, Secret API
techcrunch.com
techcrunch.com
Amazon needs to tackle the complexity issues. FPS has a thousand error states, and payments fail all the time with little to no explanation. Good luck with the resolution process, too. Here's my most recent attempt at getting some help on failed transactions: http://files.getdropbox.com/u/145070/fps_error.png
Cryptic error messages are frustrating, but there's no need to be nasty.
On the surface, FPS is quite simple, but when researching all the ways to use the marketplace API, it seemed like, more often than not, the only way to figure out if the API could do what I wanted was to ask in the forum and hope the FPS people answered me. Thankfully, they often do, so at least we know they care.
(The last time I seriously looked at this was almost a year ago, so take my anecdote with a fist-full of salt.)
They need a way to log into your account and run some of the API operations, like making a Caller token. As it is, you have to script up some kind of kludge. You end up spending several hours just getting off the ground.
Wrong.
If you want to achieve anything then be nasty. Be an asshole. Be the goddamn pestilence. You want the two little red up-arrows in their ticket tracker, not the blue "deferred" orb icon or the green auto-responder checkmark.
You don't want to increment a number in the monthly customer service report sheet. You want the head of customer service walk up personally to his manager and wince something like "Yelp, the users are raising living hell over this issue".
There are ofcourse exceptions, some companies have excellent customer support and don't need that kind of treatment. But when dealing with a behemoth like amazon then that's the only way to get anywhere, in my expirience from both sides of the frontline.
Remember the poor helpdesk guy can not judge that this is a brown paper bag bug. A failed payment transaction should obviously provide more information than "Error. Period.". But how could he possibly know that? He can't.
So what does he do when the inquiries about insufficient error messages begin to pile up? He walks up to his manager, who doesn't have a clue about the technical pecularities either. He can only judge the inbound corpus by volume and intensity. Unless you represent a large customer your volume will always be 1. Hence your only leverage is in the intensity knob.
"FPS has a thousand error states, and payments fail all the time with little to no explanation."
I am live on FPS and have seen zero failed transactions apart from those in testing I intended to see fail. By chance was your transaction amount in the form $x.7x or $x.8x? If you were in the sandbox putting a 7 or 8 in the tenths place is the documented way to guarantee a failed transaction and receive a generic error.
"Good luck with the resolution process, too."
Did you search the developer forum? If you did and couldn't resolve your issue, did you post your scenario and relevant code? The community and AWS staff are usually very helpful if you are polite and can describe your problem clearly.
As for this new PayPal API, I just read the developer doc and although it's missing a lot of information PayPal is obviously cooking up a service that may rival FPS. Regarding your point about massive complexity I agree the documentation can be a little confusing. Once we see PayPal's full version we'll be able to compare them side-by-side but one thing is for sure, neither was intended to be plug-and-play.
What I'm concerned about with Adaptive Payments/FPS/Checkout/etc is the friction point introduced by the co-branded UI. Each of these payment services requires you to send your customer away to log into PayPal/Amazon/Google and stay there for a couple of screens. As developers the big question is whether the programmatic features outweigh the conversion loss from defecting customers who feel the experience is unprofessional.
"Greetings from Amazon Payments.
I am sorry for the concern you have about the failed transaction (#XXX).
We are not able to provide transaction partners any information about a failed transaction. If the other party needs confirmation of the charge failure, they can contact us directly. However, as stated in our last message, we don't have details on why a credit card charge fails.
Once a transaction fails, we are not able to retry the same transaction. I am sorry for any inconvenience.
Thank you for using Amazon Payments.
Please let us know if this e-mail resolved your question:"
Hmmm, no. That did not answer my question. So, I'm supposed to ask my customer why their transaction failed, have them contact Amazon, and oh, would they pretty-please try to check out again?
Amazon understands the power of 1-click ordering, but cannot seem to grasp the conversion loss rate you see when you have to beg someone to check out for a second time. Getting them to click "Buy" the first time is hard enough.
We're not even running that many transactions, maybe 5-10 a day. Still, even with that we see probably a 5-10% failure rate.
To be fair, it may be that Amazon knows as little as they claim. Still, it's frustrating as hell to be completely in the dark about why stuff isn't working.
Also, it's quite easy to get to the form shown in the picture. Just log in to your payment console, click on a transaction (like one of the ones with a "failed" status), and click the big huge button that says "Problem with this transaction?" Here's another screenshot: http://files.getdropbox.com/u/145070/amazon_error.png
I'll bet that group of 5-10% is upset. They probably visited a "success" URI and naturally thought they were charged. If you find them (via the buyerEmail return parameter) don't tell them the problem is with Amazon, the truth is you didn't follow the developer doc: error-checking is your responsibility.
If you were using FPS you would get a more descriptive error. Your transaction status would be something like 'initiated', 'reinitiated' or 'temporary_decline' and for those you don't announce the error to the customer you just let FPS keep trying until you get a success or a (descriptive) fail. Net, FPS lets you better manage edge cases e.g. when the pipes fail.
Keep in mind the payments dashboard is for anyone with an amazon.com account so it's like hacking with mittens. It's not meant to be a full interface to FPS or even Simple Pay. You should not be doing your transaction error checking there. The reason Amazon Payments is "not able to provide transaction partners any information about a failed transaction" is because the failure is occurring within the context of an API and that API already informs you how to interpret all possible errors.
I guess there is another way to reach that error form after all. Looks like a user experience bug. Good catch.
It just irritates me that pretty much everything has to be done via the API. Like I said, 5-10% of our transactions fail, meaning like 1 or 2 a week. If I could inspect the error and handle it from the console it would be much simpler than writing a ton more code for it. FPS-related code is brittle and takes a long time to test, since there are so many error/failure conditions to account for.
Sure, manually handling everything doesn't scale, but I'll deal with that when we're processing 1000s of payments instead of 10s.
Plus, I think it's pretty ridiculous that they won't give out the reason why it failed. Sure, I can write some more code to query the transaction status and error messages, but that means more code That's what I've found with FPS. Everything I do requires way more code than seems reasonable.
If the PayPal API can do even 1/2 of what it claims and is friendlier than FPS, I would drop FPS like a hot potato.
Edit: Developers out there considering such a payment service -- does the fact that Amazon offers other useful cloud services (EC2, and the storage service) potentially make its FPS more attractive than PayPal's offerings? In the enterprise IT world, some companies like to go through one vendor to streamline vendor points of contact (or they are forced to go through one vendor, owing to a lack of interoperability) -- is there a similar desire among small, online-oriented companies that might use these payment services?
I would place my bets on Amazon coming through on top. They have a stronger history of innovating & consistent improvement over time.
Paypal & Ebay have this aura of scaling down to the 'I'll sell you my hat' level. They do. But I wonder how much of Ebay's (or paypal's) bottom line comes from the not-a-business crowd vs from actual businesses.