STEEMPAYMENTS beta LIVE! accept STEEM NOW in a comment, website, anywhere! Opensource PHP friendly!

in #steemit8 years ago (edited)

The moment we've all been waiting for has finaly arrived. SteemPayments is live!

I've called this first version beta because i still need to make some code cleanups and complete the full documentation.

enter image description here

Opensource payment gateway for everyone!

Todo the following hours and days

This topic will be updated continuously until i'm satisfied and no longer call SteemPayments a beta version. Make sure to follow this topic to keep updated! Git cloners, make sure to update the Git as there are some more changes to come soon.

From highend to lowend code

This project started as a very complex, laravel based module for myself. Then i figured that Steemit is full of highly skilled developers (take a look at steemtools.com) but we all forgot what could be the most important slice of the pie: PHP only users

I assume that most of the websites out there are running on shared hosts, having no console access, or programming skills to start compiling code. They have simple PHP based websites running a shopping cart if lucky, or just offering items in HTML table shape.

I started downgrading my code to run on even the most basic webhost, needing nothing more than PHP/Ajax.

This process was like taking a step in a timemachine, eliminating all the good things frameworks give us today, and going back to POST parameters like in the good old days (hello 1998!).

You'll notice some of that 'oldstyle' code around, just so you know, it's intended that way (Note to fellow dev's).

Using steempayments as frontend.

Let's start by rolling out the service most requested - PHP buttons!

Want to start accepting a payment or donation? Good! Here's how:

Yup. That's it. Click on it to see for yourself (and feel free to donate) :-)

Breakdown:

The default URL to start a payment is http://www.steempayments.com/payment

Update use http://steempayments.com/payment/static from inside comments and posts!

Every request needs the following parameters

$data = array(
            'paymentID' => Input::get('paymentID'),     
            'receiver' => Input::get('receiver'),   
            'amount' => Input::get('amount'),
            'callback' => Input::get('callback'),   
    );

You can send it both in json or URL parameters. So to create a payment/donation button, all you need to do is fill in the needed parameters, and you're good to go. The above button for example uses URL parameters.

http://steempayments.com/payment?receiver=XXX&amount=0&paymentID=XXX&callback=XXX

This could easely be poured into a button style by creating a href with some nice image.

<a href="YOUR_URL"><img src=http://steempayments.com/img/button/steem01.jpg></a>

Alternatively, the same goes to HTML forms. Just name your inputs as the required parameter ID's.

More examples can be found at http://steempayments.com/example/ on how to create a payment request from your website. Make sure to read the Github docs as well.


IMPORTANT !

Required parameter details

PaymentID Generate a new ID by calling the SteemHelper PHP class, or generate in JS (Github code).

Receiver Plaintext receiving account (or global variable in PHP).

Amount Plaintext amount needed. Requires 3 decimals [space] SBD or STEEM ( "0.001 STEEM").

Callback urlencoded URL to return after a successfull payment.

Using the PHP files to host everything yourself

All the files can be found on the SteemPayments Github. Documentation resided inside the docs folder.

Public RPC-API servers to connect

This list will be updated as more nodes will be setup. You can find the list inside the github folder.

Question/feedback/bugs/suggestions

Feel free to join me on https://steemit.chat/channel/steempayments

Beta version - What this means

Alpha version describes a development status that usually means the first complete version of a program or application, which is most likely unstable, but is useful to show what the product will do to, usually, a selected group—and is also called preview version; the beta version is usually the last version before wide release, often tested by users under real-world conditions.

Bugs could still occur, but all payments are made directly to the blockchain, so transactions are always safe from errors.

Keep on Steeming!

Sort:  

I've been following this, and I'm pretty excited about it. I'd love to see a version added to the Omnipay PHP library. Hopefully I can play with it myself soon. I'd love to add this to FoxyCart (we support around 100 gateways including Coinbase and BitPay) and have thousands of stores using the platform. I've been discouraged the last few years by how few people turned on bitcoin payment options. Hopefully it will be different with SBD.

I've been discouraged the last few years by how few people turned on bitcoin payment options.

What do you think has been the primary cause behind that ?

I don't know, but I have some ideas. I've blogged about bitcoin many times, including on our company blog here:

http://www.foxycart.com/blog/why-does-foxycart-support-bitcoin
http://www.foxycart.com/blog/why-shouldnt-you-accept-bitcoin
http://www.foxycart.com/blog/integrating-foxycart-coinbase

We saw very little interest. I think many merchants only do what their customers demand for them to do. It makes no sense to add a payment method your customers aren't demanding. The number of sales they are potentially losing by not offering it is near zero and they don't think they'll get enough new customers with it to justify the perceived risks.

What are those risks?

Well, many just hear the mainstream media headlines when it comes to bitcoin and those are usually filled with scare stories of theft, drug dealing, child trafficking, hackers, and those "evil anarchists." Yes, I know, it's sad what passes for "news" and "journalism" these days. Few, if any, listen to experts like Andreas Antonopoulos or do real research to figure out how little bitcoin is used for crime compared to cash. So the risks include:

  1. Having your brand associated with something scary.
  2. Not understanding the complexities of how coinbase/bitpay convert to USD for you.
  3. No chargebacks
  4. Adding confusing steps to checkout which might cause cart abandonment ("Hey, what's this bitcoin thing? I'm going to go research that...").

Ultimately though, I think it's a chicken/egg problem. If enough customers demand a bitcoin/SBD payment system, merchants will add them. When they do, we'll be there to help.

Moral of the story: Every time you buy something, ask the merchant if you can pay with SBD or bitcoin. If they look at you funny, explain it quickly and succinctly and move on.

I always try to counter that by letting people know that there are sites devoted to helping people find where they can spend their BTC, and if you're listed there, it's basically a free ad for your business. Plus all the other benefits... no chargebacks, low fees, etc. ... but yeah it can be difficult to get businesses to adopt it. I was talking with someone at Whole Foods Market about the prospect... there was a little interest, but nothing did come of it unfortunately. Not from a lack of follow-up though ;)

Yeah, I tried over and over again, both in person and via blogging to get people interested. To me, crypto first needs a killer app for mass adoption. Steemit.com might be that app.

I know this isn't directed at me, and I think Luke might have some more insights that I'd like to hear. That being said, I think the main reason for it is that really the only people that want Bitcoin payment options are people who have Bitcoin. And that's a very thin slice of the population overall. The barriers for Bitcoin's success as a payment option are the same as Bitcoin as a whole... Perhaps the most relevant here is that for most people it represents the solution to a problem that doesn't exist. They can buy things online with their VISA or PayPal, so what is the advantage for the average consumer?

Yep. Until people realize, "Oh, wait, the money I'm using is backed by violence and controlled / manipulated by a small group of central bankers?" then they have no motivation to explore something new. The number of people who come to that realization is very small, but I do think it's growing.

Another problem with BTC is that it doesn't track the US Dollar. Steem Dollars could fill a gap here (and possibly become a reliable exchange currency) since people can hold them without fear of inflation or deflation relative to USD.

wow, cool. great work steve.

Thanks for this, it's great! I will be implementing this in the future for sure.

I have one remark about the payment window... It would be great if we don't have to manually go to the @username/transfers page...

For example if a user can fill in their own username once, then the payment page remembers this with a cookie...

Then follow up visits can retrieve this cookie and offer a method to open the transfer window page without having to type it..

Like my comment? Donate!

Will implement it! Thank you

For donation you need to set amount=0 ;-)

Thanks for showing us this jump page!

donation button generator would be great!!

Edit: added to @bhuz Find&Reward post, hopefully this great tools got more attention..

Added to ToDo! Great idea!

Testing to see if you can accept a donation in the comments


edit No way to generate a new ID for every call inside a comment. Need to brainstorm about that one :)
UPDATE use http://steempayments.com/payment/static as URL from inside comments :-)

Trying to send a donation to you but so far it won't finish loading. It just keeps spinning as in the image but doesn't go to the next step.

See the edit :) Already found a solution, will implement it later today so you can create a donation button from within a comment

Great! I look forward to following your progress

Wow amazing initiative and work done here! This will add further value and credibility to the network and I really look forward to using it. It's members like you that benefit us all!

Any plans to add SteemUSD?

You can send whatever you like. To accept a fixed amount just enter "1.00. SBD" or "1.000 STEEM". As far as donations go, the donator can send whatever he likes. SBD or STEEM.

Awesome!

very easy & simple!
I will want to use it on my site.
thank you!

This is so AWESOME! You better believe I am going to put this on my site!!!

The flood gates will open.

This is transformative. Finally, a blockchain payment that the everyday person can use, because they also have easy access and understanding of the platform. I feel like I did when Paypal first started.... OMG smack this on an EBAY listing and go!

This is an excellent news! Thank you for making it OpenSource!

But does it mean that anyone who clicks for example on the animated picture below

will be automatically allowed to donate? I did a small test to verify this. This sounds too good to be true.

Hmm @steve-walschot I tried with payment/static as suggested but the solution does not seem to work. The wheel is spinning all the time. Could you please have a look at the image link in the picture from the above comment and help to find the root cause? All suggestions are welcomed!

Yes! But you need to set your amount correctly. Like documented in the post:

Amount Plaintext amount needed. Requires 3 decimals [space] SBD or STEEM ( "0.001 STEEM").

You used 1 STEEM, that will not do it. To accept a donation that the user can send whatever he likes, just set amount=0, anything but 0 is considered a payment instead of a donation :)

Thank you for the help. I modified the amount to 0 but it is still spinning for me. I tried also to send a custom donation to my account directly from steempayments website but the wheel keeps spinning. Is it because I wanted to send a payment to my own account?

Let me resync my node, it seems like it's stucked due to numerous failed transaction loop

Ok, thank you! Let me know when I can try again.

@steve-walschot thanks a lot!
You could add a pop-up for people who have 0 STEEM in the account and want to donate that they do not have enough funds. Perhaps this caused those numerous failed transaction loop that hanged your node? -).

Noob here:).Does it require laravel or some other program to be instaled on the server or it can be implemented directly in a page or wp site?

You can implement it any way you want, no need for laravel

It would be nice is someone would put up a video, so we can understand the whole process .... so I am not sure to understand the concept fully, this is how I understand it so far:

  1. you press the pay button
  2. you go manually to your own wallet, where you make the actual payment
  3. the http://www.steempayments.com site monitor if the payment went into the blockhain,
  4. if yes, display it and the go back to callback url.

If so there should be some kind of message that you have to make the actual payment from the steemit waller, after your press the 'donate/pay' button, otherwise people will just wait, because it's not really clear what you have to do next.

Maybe I misunderstood the concept .... Your thoughts on that ?

Sweet, since Steem doesn't pay me now I can atleast accept Steem from other people.

Revelando fallas

Thanks for this. Lots of possibilities!

Fantastic work. I'm amazed you executed it so rapidly. Hope this finds wide adoption. :)

👍nice post and info @steve-walcshot

Wow, time flies! I remember we did our Q & A post and now where here .Congrads!

Great!
Looks like this is what many have waited for.
Will this work like here on Steemit where everything is upvoting a Post or a Comment? On Wordpress for example will every Post have an upvote Button?

Great work! I guess I could come up with a site selling potatoes for Steem! Any interest in potatoes? I could autograph them, put them in a safe place and when I finally get famous they'll be worth millions...or not.

Good work, keep them coming!

I don't even pretend to understand this but this looks like a cracking achievement!! Well done for promoting the steem and helping push this platform further!!!!

Excellent! Keep up the applications and useful innovations and steem should skyrocket once again! I'll be throwing a giant steemit mixer at the beach when it does...BYOB!

Great work!
This is what we need!
If users with a low Votingpower find a Post very good now they can make a donation!

You are purely awesome sir! Thanks for this great tool! Bookmarked for sure. Will find some ways to use it asap.

This is awesome. I can't really comment from a technical perspective as am not a programmer but can see the potential here!

Awesome!, I'll check this more out in detail. :)

Awesome new addition to Steemit, thanks. Have been away from computer for awhile taking care of house/yard/life stuff and so many wonderful new developments to discover ;-) ~ljl~

I'll be keeping an eye on this and will try it out. Just a small note http://steempayments.com/ is still saying ALPHA in the title tag.

When will a sandbox be implemented?

À sandbox??? What for?

So we can test our implementations before we go to production.

Fantastic work. I was looking for something like this. Could you please clarify whether an user must visit steempayments.com for the payment or I can get the values through callback and show in my own application? Moreover, how does the SBD thing work here? Is not SBD specific to steemit.com? Or is it free like Steem?

Thanks again for the awesome work...

Awesome! Can't wait to see it be used by e-commerce! Is it still in-dev or you are starting to release it as a finished product?

This is the type of interface I was looking for in BitShares 2.0 but never materialized. I'll begin studying your docs with the intent to begin accepting donations for O.N.E.'s sorghum cook house I wrote about here. Great work Steve!