Author Topic: First ecommerce bitshares cart plugin dev cycle complete  (Read 52730 times)

0 Members and 1 Guest are viewing this topic.

Offline jsidhu

  • Hero Member
  • *****
  • Posts: 1335
    • View Profile
Hired by blockchain | Developer
delegate: dev.sidhujag

Offline jsidhu

  • Hero Member
  • *****
  • Posts: 1335
    • View Profile
I bought a domain (bitsharesdemo.com) and optimized via cloudflare CDN... I also did a new cart (zencart).

I updated OP with new demo links.
Hired by blockchain | Developer
delegate: dev.sidhujag

Offline jsidhu

  • Hero Member
  • *****
  • Posts: 1335
    • View Profile
Place the "order status" below the pay now button and don't pop up the dialog.  Just show the status on the same page... no "status button".

Try it now
Hired by blockchain | Developer
delegate: dev.sidhujag

Offline jsidhu

  • Hero Member
  • *****
  • Posts: 1335
    • View Profile
Place the "order status" below the pay now button and don't pop up the dialog.  Just show the status on the same page... no "status button".

There is alot of info on the payment status dialog... and it would make the page scroll... Things like partial payments, exporting transactions, and tx information are all on that page, put those all on the main page?
Hired by blockchain | Developer
delegate: dev.sidhujag

Offline bytemaster

Place the "order status" below the pay now button and don't pop up the dialog.  Just show the status on the same page... no "status button". 

For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline jsidhu

  • Hero Member
  • *****
  • Posts: 1335
    • View Profile
Why in the world can the user initiate a SCAN that can take 3 minutes to process?    You should be maintaining a database that processes transactions in real time and can answer queries on transaction status instantly.
I had it that way first.. payment status and pay now..

What about partial payments? I guess pay now would take care of that by setting up a url with the balance remaining...

The scan is meant to end so its not infinite and it does catch the tx immediately it checks every 10 seconds on a scan... I can mAke it alwAys look on the pAyment status screen... and after you click pay so that if you do pay and dont goto status you will still be redirected after it "cAtches" the payment..

Partial payments (and over payments) need to be handled.   

It didn't catch the transaction I made (you owe me 2 bitusd :) )

It would be nice if the Payment Status dialog was part of the main "pay now" page... lets minimize the number of screens a user must jump through.

Can you try now? I fixed up the layout.

Remember I have it set to "demo" mode as per config... you can send BTS instead of bitusd so its cheaper to test :)

About not catching the payment that is odd, aslong as it was scanning it would have gotten it... maybe since you sent bitusd lol I dont have any bitusd to test with so might be a bug.. I've been sending bts to myself to test. In demo mode it accepts any asset for payment, in non demo mode it would have only accepted bitusd...

Overpayment depends on the cart, I catch an overpayment status but just send the amount to the cart and some carts credit you while others give a message saying you have overpaid and others do not do not give a way to handle it at all... As far as paying for the order (the payment gateway) doesn't care and will send the payment to the cart if overpayment happens because a full payment DID occur. It is up to the shopping cart to handle this. When full payment is detected (every 10 seconds it checks) it will throw up a success screen and will auto-redirect you back to a success page on the merchant... so I CAN check for overpayment and throw up a warning but it won't affect the process flow so I don't think this is the gateways job.

For example in opencart if there is an overpayment I update the comment saying there was an overpayment please contact the system administrator... in whmcs it credits you above the balance owing for the order and in ecwid it just accepts the payment and doesn't offer the developer any option to set the status to overpayment or the like.... overpayment I have defined is when there is 5 units above balance ie: bitusd+5...
« Last Edit: December 29, 2014, 09:38:55 pm by jsidhu »
Hired by blockchain | Developer
delegate: dev.sidhujag

Offline bytemaster

Why in the world can the user initiate a SCAN that can take 3 minutes to process?    You should be maintaining a database that processes transactions in real time and can answer queries on transaction status instantly.
I had it that way first.. payment status and pay now..

What about partial payments? I guess pay now would take care of that by setting up a url with the balance remaining...

The scan is meant to end so its not infinite and it does catch the tx immediately it checks every 10 seconds on a scan... I can mAke it alwAys look on the pAyment status screen... and after you click pay so that if you do pay and dont goto status you will still be redirected after it "cAtches" the payment..

Partial payments (and over payments) need to be handled.   

It didn't catch the transaction I made (you owe me 2 bitusd :) )

It would be nice if the Payment Status dialog was part of the main "pay now" page... lets minimize the number of screens a user must jump through.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline jsidhu

  • Hero Member
  • *****
  • Posts: 1335
    • View Profile
Why in the world can the user initiate a SCAN that can take 3 minutes to process?    You should be maintaining a database that processes transactions in real time and can answer queries on transaction status instantly.
I had it that way first.. payment status and pay now..

What about partial payments? I guess pay now would take care of that by setting up a url with the balance remaining...

The scan is meant to end so its not infinite and it does catch the tx immediately it checks every 10 seconds on a scan... I can mAke it alwAys look on the pAyment status screen... and after you click pay so that if you do pay and dont goto status you will still be redirected after it "cAtches" the payment..
Hired by blockchain | Developer
delegate: dev.sidhujag

Offline bytemaster

Why in the world can the user initiate a SCAN that can take 3 minutes to process?    You should be maintaining a database that processes transactions in real time and can answer queries on transaction status instantly.
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline bytemaster

I have been going through the ecwid demo and had a few comments on the overall experience:

As the user who doesn't know "what to expect" I am confused.  Not good. 

For starters I am presented with "Order ID" and "Order Hash" and don't know what to do with them.   
Then there is a button called "lookup" which does not make sense to me until *AFTER* I click it to find out what it is trying to do.

So my recommended changes... display the following:

Pay  (robo) opencartdemo
Amount   amount_to_pay
Memo   orderid (or hash)   - kill the "EHASH:" prefix, that is waisted space in the limited memo field, I reccomend order id.

[Pay Now] [Payment Status]

If you display information to the user that they don't know what to do with they will get confused and you will lose a sale.   

I am sitting at the payment screen and trying to send a payment but lack key info such as "how much am I supposed to pay again?"

After I attempt to make "some payment" I type "opencartdemo into my wallet and the robohash comes up.  I cannot verify it is an exact match because your pretty circle has cut off the body type. 
« Last Edit: December 29, 2014, 02:27:39 pm by bytemaster »
For the latest updates checkout my blog: http://bytemaster.bitshares.org
Anything said on these forums does not constitute an intent to create a legal obligation or contract between myself and anyone else.   These are merely my opinions and I reserve the right to change them at any time.

Offline santaclause102

  • Hero Member
  • *****
  • Posts: 2486
    • View Profile
Hey guys,

I've finally modulerized the payment gateway and created my carts based on those... I have to pretty much fill in a bunch of  functions in a single file to create the cart functionality.

The three carts are working smoothly now, the gateway experience is the same with all carts.

Bitshares Checkout src: https://github.com/sidhujag/bitsharescheckout


1) ECWID Demo: http://bitshares.ecwid.com
src: https://github.com/sidhujag/bitshares-ecwid
2) OpenCart Demo: http://bitshares.cloudapp.net/opencart
src: https://github.com/sidhujag/bitshares-opencart
3) WHMCS Demo: http://bitshares.cloudapp.net/whmcs
src: https://github.com/sidhujag/bitshares-whmcs

Screenshot in action:
http://imgur.com/dZO909P
Woah, this looks great!!

Offline jsidhu

  • Hero Member
  • *****
  • Posts: 1335
    • View Profile
Hey guys,

I've finally modulerized the payment gateway and created my carts based on those... I have to pretty much fill in a bunch of  functions in a single file to create the cart functionality.

The three carts are working smoothly now, the gateway experience is the same with all carts.

Bitshares Checkout src: https://github.com/sidhujag/bitsharescheckout


1) ECWID Demo: http://bitshares.ecwid.com
src: https://github.com/sidhujag/bitshares-ecwid
2) OpenCart Demo: http://bitshares.cloudapp.net/opencart
src: https://github.com/sidhujag/bitshares-opencart
3) WHMCS Demo: http://bitshares.cloudapp.net/whmcs
src: https://github.com/sidhujag/bitshares-whmcs

Screenshot in action:
http://imgur.com/dZO909P

« Last Edit: December 28, 2014, 06:04:22 am by jsidhu »
Hired by blockchain | Developer
delegate: dev.sidhujag


Offline CLains

  • Hero Member
  • *****
  • Posts: 2606
    • View Profile
  • BitShares: clains
@jsidhu
I am a bit confused, so what is the tl;dr of your work progress so far?

Try his link: http://bitshares.ecwid.com  ;)

Offline jsidhu

  • Hero Member
  • *****
  • Posts: 1335
    • View Profile
So i coverted the gateway to html from php and i pass in params via url now so u can email or share the url to someone else or save it for later to pick up where you left off if you did partial payment for example..

So if everyone is happy I will use it with other carts now.. Ill split off the repo to have one gateway repo one php bts utility lib for rpc stuff and and a repo for each cart integration
Hired by blockchain | Developer
delegate: dev.sidhujag