STEEMPAY.IO v1.0.1 LIVE! Accept Steem/SBD anywhere! Button generator included!

in #steempay8 years ago (edited)

Our beta is now live! Start accepting STEEM anywhere you want!

After countless hours of not sleeping to focus on Steempay, together with @cass who made an amazing UI for Steempay, we're finally able to launch our beta version.

Some parts may still be raw and not yet 100% completed, but the functionality is!

http://steempay.io

Todo list within the next 48h

  • Add more buttons to the generator
  • Publish the Github to public
  • Start creating the shopping cart plugins (WOO first)

What's next?

Steempay is just the beginning of many projets to follow. There are still some legal aspects to cover, but Steempayments (Steempay's umbrella group) will most likely start processing transactions on it's own servers. This would make it possible for simple, clean merchant solutions like BitPay provides, mobile wallet solutions like Blockchain to increase the usability of steem worldwide, and many more.


Raw documentation until Github is public

Donation vs payment

When choosing to receive donations, the user is free to send any amount of any currency. To set the donation option, simple use amount=0 in your parameters. Set currency to either SBD or STEEM since it's irrelevant for the end user. The user will receive a message to send any amount to your address.

For fixed amounts, called payments, set the amount and currency to the values required for you.

WARNING: Make sure to use 3 decimals! (AMOUNT.000) when generating a payment. This has multiple reasons, including future expantion of Steempay.io.

Button generator

See https://steempay.io/generate
Currently there is only 1 default button available but that will change in the next couple of hours.

The generated button looks like this (this actually works!)


Some of the proposals by @cass

Requesting a new payment

A new payment is created by passing URL or DATA parameters to steempay.io. This means you could send raw HTTP requests, or stay on your own website and send the data via AJAX calls or JSON request.

Following parameters are required:

  • receiver
  • amount
  • currency

Following parameters are optional but recommended

  • callback

! IMPORTANT !

Amount : Make sure to use 3 decimals! (AMOUNT.000) This has multiple reasons, including future expantion of Steempay.io

Callback: Get's called on success. You can use this to post a success message or handle data on your server/website if needed.

Handle callbacks

Set the callback parameter with your desired url. Always use http:// to start your url.

If a callback URL has been provided, steempay will post the unique paymentID to your URL. A simple php script can catch the the callback and verify the payment a last time (recommended).

example.php

<?php
if (isset($_GET['payid'])) {
    // Payment is success, confirm once again
    
    $url = "http://steempay.io/payment/verify?payid=" . $_GET['success'] . "& receiver=YOUR_USERNAME&amount=1.000&currency=SBD";
    
    $json = file_get_contents($url);
    if (json_decode($json->status) && json_decode($json->success) == "success") 
    {
        // Payment is double verified, do whatever needed now.
    }
}else{
    // Some error occured
    echo $_GET['message'];
}

Verification is possible via http://steempay.io/payment/verify?payid=XXX&receiver=XXX&amount=XXX&currency=XXX.

The returned main parameters are

  • success boolean
  • message Message about the success status
  • payid unique serverside generated ID

The full response is given below (if success)

{"status":"success","success":true,"message":"Payment completed with fixed amount (0.001 SBD).","block":4306279,"trx_id":"58c415fe70fe7d953e30997b78551415c7e4d190","payid":"Re3Hbl1ekAeSwVtzKS","amount":"0.001 SBD","timestamp":"2016-08-22T14:55:15"}

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.

Thank you community

I would like to pay my eternal respect to this community, and give a big applause to @cass for the amazing UI and the time he put in this project, and also @roelandp for giving me good advice on how to lower the server's load.

Sort:  
There are 3 pages
Pages

Hello, I am the founder of Etheroll - Ethereum based dice game.

http://steemit.com/steemit/@etheroll/hello-steem-i-am-the-founder-of-etheroll-an-ethereum-based-provably-fair-dice-game-with-50-50-odds-and-a-low-1-house-edge-this

I may be interested to port this sort of behaviour into a Steem based version of our dice game.

I will be in touch. Congratulations on the progress!

You don't have to risk gettin locked up on the street corners now for shootin dice....Fantastic...I wanna take this to every hood :-)

If you do, make sure to RSVP about it on the beyondbitcoin hangout! We are here to cover solid projects with people who care about their work RSVP to Promote your Project Here. We are the first hangout series to give the steem community the power to upvote what we cover. :)

Payment verification after the callback should not be considered recommended but rather mandatory, since you don't know who is actually making the callback request. Furthermore, the verification URL needs to use HTTPS, otherwise a man-in-the-middle attack can be used to tell the merchant the payment was a success even when it wasn't.

Agreed that HTTPS is better

verification is using SSL but need to update my certificates since they block external requests for being selfsigned ;)

https://steempay.io/payment/verify?payid=Re3Hbl1ekAeSwVtzKS&receiver=steve-walschot&amount=0.001&currency=SBD

works just fine, but once your curl it, it's getting blocked. Should be resolved in max 24h from now.

you can get a letsencrypt certificate for this. dont pay for certificates from big corporations. letsencrypt is free and open!

Support the dev :)



Please follow the instructions carefully
New donation to steve-walschot
send any amount
Using following memo code

mTv41AjYsDQmubqQ2A
Awaiting your payment 

Send to whom?

After sent some to steve-walschot the progress bar is still running and "Awaiting your payment"

New donation to steve-walschot

:-)

Not really. Bittrex and Polo are able to process my deposit if I encrypted memo in the standard way. Currently memo is not encrypted by default on Steemit.com, but already some people asking for "encrypt memo by default", if it's applied, you need to warn the users to NOT encrypt memo, because users may not even know it's encrypted by default. Yes it's just some concerns about future.

What if I want to donate some to arhag? still send my fund to steve-walschot?

You change the receiver to arhag. For example in raw URL

https://steempay.io/payment?&receiver=arhag&amount=0&currency=0&callback=http://www.steemit.com

I mean, lack of a "to" field in the page. If I send fund to arhag directly, how can you process?

Because every action is recorded in the blockchain. It will process your donation to arhag. You can also set your receiver in the generator, click generate and then click the button to go straight to the page

OK, I understand now. But you will be unable to decrypt encrypted memo.

Using following memo code If you change the memo code, Steempay will not be able to process it. Just like you would deposit your coins at bittrex/polo and mistyping your memo code. The receiver will receive the coins, but steempay will not pickup the transaction (yet)

https://steempay.io/payment/www.steemit.com?payid=mTv41AjYsDQmubqQ2A
Got an exception when clicking on the Go back to your merchant link, some code is printed out.

Symfony \ Component \ HttpKernel \ Exception \ NotFoundHttpException

Open: /var/dev_steempay/bootstrap/compiled.php

        if (!is_null($route)) {
            return $route->bind($request);
        }
        $others = $this->checkForAlternateVerbs($request);
        if (count($others) > 0) {
            return $this->getOtherMethodsRoute($request, $others);
        }
        throw new NotFoundHttpException();
    }
    protected function checkForAlternateVerbs($request)

Perhaps caused by lack of http:// on callback in your first version of the reply.

Set the callback parameter with your desired url. Always use http:// to start your url.

Hey @steve-walschot. Great job! I was trying to test out the button right now and not sure why it's not working for me or my dev. Transactions do register on the blockchain but doesn't show the success screen. Any common issue we could be having? Thanks!

Thank you for this!

congrats @steve-walschot great work (and also @cass for the beautiful design) and thanks for the mention :) I'm going to see how I can implement this in future projects!

a few quick tips since it's now out in the open:

  • in the payment page's .js : uncomment console.log, it's unfortunately not a web standard: https://developer.mozilla.org/en-US/docs/Web/API/Console/log I think you forgot one :)
  • Maybe a <title/> on the payment page
  • Maybe an instruction for people on how to make the payment on Steemit.com could be nice, hidden under an '?'
  • And/or store their 'username' in a cookie so you can auto-generate the 'transfers' page for future visits: https://steemit.com/@USERNAME/transfers

Looking forward to the github / open sourcing!

thx dude keep up the good work... Let the payments begin!

Thanks @roelandp, the log's are leftovers from debugging, removed now.
There will be an option to go straight to the wallet in a popup, but this is planned for the next update.

wow ... this is soooo cool

@cass & @steve-walschot we need a donate image/button :)

There you go :-)



I know what you mean, a 'donate' text button. @cass is working on it.
Should be ready soon!

shame on me .. i will do this next .. first have to finish a logo for the "abuse" group ..

Here's a donate button for you guys ;-)


Also, great initiative. Just a friendly reminder, you might wanna turn debug mode off on your webapp :-)

When the donate button will be available?

This is simply AWESOME! Thanks for sharing this great news with us, namaste :)

" Make sure to use 3 decimals!"
I hope the code should detect and correct this kind of requirements.

I want to integrate FoxyCart with this. :)

Hey! I've used your cart before without even knowing it at Vermont Flannel. Maybe I can buy a new hoodie with some steem dollars soon :)

Very cool!

As I've talked about before in various comments, the biggest problem is getting merchants onboard to accept currencies their customers are not asking to pay them with. We integrated Bitpay back in 2013 so thousands of Foxy stores could use it, and almost none of them did. Same thing with our Coinbase integration. I've blogged about it many times, but stores don't care until their customers demand it. It's the customer that drives what the merchants do.

Stores need to provide incentives for us to use, to drive demand. As we know, they can save on credit card fees, so give us a little discount and then we'll have a good reason to spend our bits. Gyft does 3% back, so I use that more than not. If they had a Vermont Flannel gift card, while VF directly accepted btc with no discount or cash back, I'd have no incentive to use btc direct.

New Egg nailed this by offering that heavy discount when they first started accepting bitcoin. It was $150 off $500 or more anywhere in the store for the first weekend. This got people to at least start using it.

I do think that SteemDollars will be different, however, as sbd is more spendable, given its lack of speculative upside that btc presents, while still providing all of the friction-less advantages. Love that FoxyCart could be leading the way! :)

This is amazing, I'll be adding this to my website asap.

A big thanks to @steve-walschot @cass @roelandp
You three guys have done a great job, which in turn makes my investment in Steem stronger. ^_^

Donation button available

The button switches to donation, well, if donation is selected in the generator. More buttons will be added ASAP.



I used the button in your post to send you a test amount and it worked :) Indeed, the redirect to merchant didn't work but still. Great job man!!

I'm very grateful for the effort that went into this. This opens up a lot of different ways for people to use steem with necessarily needed to blog at all. I'm excited to see what else you have in store!

You have supercharged steemit!

This design may be my next tattoo I'm running a contest. (Maybe I can try paying out with steem pay)
Help Me Design My Steemit Tattoo And Get 25% Of The $ SBD This Post Makes

Excited to start accepting steem payments. With people dedicated to programming like you @steve-walschot steemit is going to be around for a long time. I hope people realize what a big deal this is! I'm ecstatic.

Pro shit! Big time support! Hope this rockets to the front page. Steemit to the #moon :D

This is really great, congratulations.

I f I understand correctly the payments are already functional, beta or no beta? :)

When you finish a Woo plugin I would be interested in porting it to Wordpress.

In the meantime I'll find some use for it, I am sure.

Great job, again!

Correct, payments are always processed on the blockchain, even if our systems would fail.

Thats a way better looking payment processor then the previous ones I've seen. Congrats!

This is awesome @steve-walschot & @cass! I'd love to figure out how to allow for donations on my new free custom URL shortener: http://st33m.it!! It's a tool I just launched that also provides stats & analytics exclusively for Steemit posts! Cheers!

We will implement it on the steemit apparel store at http://www.cryptojoy.com thank you very much!

@steve-walschot Can I request a wordpress plugin please? Thanks much appreciated

Bravo! You did this! Now time for realization!

Steempay Steem Is The Free Paypal Of The Cryptocurrency Steemit World

Why? Because users can buy more for less as Steem curreny is virtually free money that anyone can earn on Steemit.com.
Moreover, sellers can sell more to buyers that have easy Steem money.
Unlike Paypal customers who pay with hard-earned fiat currency, Steempay customers can very easily earn more Steem currency by simply creating more quality blogs on Steemit.

Steempay is a win-win proposition for Steem buyers and sellers alike.
SteemPay is the world's easiest digital currency wallet.

With the SteemPay wallet, your passwords and money remain in your control at all times. Your keys never leave the device and the code is 100% open source.

good work @steve-walschot and the team behind, congrats dudes 8]

Sounds great! Im definitely checking this out! Upvoted and following

Step 1. Involve retailers to accept currency in shops. Status = Done.

Steem growing.

great and voted up but one thing - there is forced SSL missing.
this is a must this days IMO.

Congratulations. This looks fantastic, I will no doubt be keeping a very close eye on your project. Keep up the great work!

Bravo!!

It would be nice if somehow using the button in my post, did not force the pay now button to be the thumbnail in the archive pages.

Currently, it seems that even if the button that is embedded is the final item in a post, it is set as the thumbnail for the post. Great for you guys, however, as a user, I lose my nice thumbnails, which means I get less clickthroughs, and eventually, less clicks of your button, because all users see, graphically, about my post in a preview, is a 'pay now' button... :)

Just my feedback so far, I love your work!!!

Thank you so much! Keep up the absolutely amazing work!

You can see my use of your button here:
http://steemit.com/steemit/@darknet/steemtopia-donations

Steemtopia donations accepted here:


Many Stories gonna had payment/donation button brace your self guys its a trap

Tem algum brasileiro aqui?

Perfectly!
Is it possible to make the payment not only STEEM currency.
But some other major cryptocurrency, direct conversion to STEEM currency?

$url = "http://steempay.io/payment/verify?payid=" . $_GET['success'] . "& receiver=YOUR_USERNAME&amount=1.000&currency=SBD";

$json = file_get_contents($url);
if (json_decode($json->status) && json_decode($json->success) == "success") 
{
    // Payment is double verified, do whatever needed now.
}

}else{
// Some error occured
echo $_GET['message'];
}

I find very cool this initiative. It really helps Steemit community to grow.

Awesome!!!..well done:)

Maybe try and get it added to https://www.coinpayments.net/ it would definitely​ get more exposure. And be easier for non techy guys to add to there shop etc

Amazing work Steve! The payment page itself looks beautiful. I honestly think the creation of this service is a milestone for the Steemit community! You should definitely be proud of what you've done here.

This is fantastic! Your contributions keep rolling out and I greatly appreciate them. Thanks!

Nice work Steve, this looks really great; clean simple payment interface :)

This is really nice ;) congrats to all

Congratulations!Big time support!

Congratulations. Good job!

I don't know a lot about the technical aspects of this.. in fact I know squat. But I'm really impressed with your initiative and the possibilities this opens up. Well done @steve-walschot and @cass

There are 3 pages
Pages