summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshivam kohli <kohlishivam5522@gmail.com>2018-08-07 19:38:14 +0530
committershivam kohli <kohlishivam5522@gmail.com>2018-08-07 19:38:14 +0530
commitc4ab4074aa0383c99bf50bbb7193d1880d15a1be (patch)
treee4d4c75fca56e8e3c839d9ad91fa5511357bd2a1
parentd6aadafdd494edcaffd7866d32af7c9bea4a3f62 (diff)
downloadwww-c4ab4074aa0383c99bf50bbb7193d1880d15a1be.tar.gz
www-c4ab4074aa0383c99bf50bbb7193d1880d15a1be.tar.bz2
www-c4ab4074aa0383c99bf50bbb7193d1880d15a1be.zip
gsoc 2018- codeless payment
-rw-r--r--common/navigation.j2.inc1
-rw-r--r--gsoc-codeless.html.j2147
-rw-r--r--images/home.pngbin0 -> 329764 bytes
-rw-r--r--images/product.pngbin0 -> 296876 bytes
4 files changed, 148 insertions, 0 deletions
diff --git a/common/navigation.j2.inc b/common/navigation.j2.inc
index 005c46d9..26a16740 100644
--- a/common/navigation.j2.inc
+++ b/common/navigation.j2.inc
@@ -14,6 +14,7 @@
<li><a href="developers.html">{{ _("Developer Introduction") }} </a></li>
<li><a href="copyright.html">{{ _("Copyright for Contributors") }} </a></li>
<li><a href="bibliography.html">{{ _("Bibliography") }}</a></li>
+ <li><a href="gsoc-codeless.html">{{ _("Gsoc 2018: Codeless Payments") }}</a></li>
</ul>
</li>
</ul>
diff --git a/gsoc-codeless.html.j2 b/gsoc-codeless.html.j2
new file mode 100644
index 00000000..bff6da19
--- /dev/null
+++ b/gsoc-codeless.html.j2
@@ -0,0 +1,147 @@
+{% extends "common/base.j2" %}
+{% block body_content %}
+<div class="jumbotron">
+ <div class="container text-center">
+ <h1>{{ _("GSoC 2018: Codeless Payment") }}</h1>
+
+ <p>
+ {% trans %}
+ GNU Taler is a new electronic online payment system which provides privacy for customers and accountability for merchants. To pay with Taler, customers install an electronic wallet on their device. Before the first payment, the desired currency must be added to the wallet's balance by some other means of payment. Once the wallet is charged, payments on websites take only one click, are never falsely rejected by fraud detection and do not pose any risk of phishing or identity theft.
+ The goal of this project was ​to create a component that sits between the seller's frontend and the GNU Taler merchant backend. This component has a web interface, where payment buttons are configured. Additional goals included inventory management, where the seller can configure the available stock for an item and will get notified when their stock runs low. Currently, to accept payments with GNU Taler, people have to write their own code. What I proposed is to change this mechanism. People will be able to communicate with the merchant’s backend via a simple API.
+ Codeless Payment is a platform for the merchant where they can manage their inventory and simultaneously create a 'Buy Now' button for the specific product. This code can be directly copy pasted on the seller's frontend and can be used for 'Pay with Taler'.
+ {% endtrans %}
+ </p>
+ </div>
+</div>
+
+<div class="container-fluid c_acronym">
+<div class="container">
+ <h2 id="documentation">{{ _("Link to the contributions made") }}</h2>
+ <p>
+ </p><ul>
+ <li>{{ _("Codeless Payment Backend") }}
+ (<a href="https://git.taler.net/codeless.git/">Link</a>)</li>
+ <li>{{ _("Documentation to dynamically manage Merchant Instances") }}
+ (<a href="https://git.taler.net/api.git/commit/?id=53b3fbc3a882975b4ca8ef70d7ae256c9c17a23e">Link</a>)</li>
+ </ul>
+ <p></p>
+</div>
+</div>
+
+
+<div class="container">
+<div class="col-lg-12">
+ <h2 id="overview">{{ _("Overview of the Work Done") }}</h2>
+
+ <p>
+ {% trans %}
+ Codeless payment backend is implemented in Django. Django authentication
+ is used to create login and logout for the merchant portal. In this merchants
+ can manage their inventory and simultaneously update stocks for the given item.
+ Merchant's have the flexibility to add two types ofinventory as follows:
+ {% endtrans %}
+ <ul>
+
+ <li>
+ {% trans %}
+ The seller can upload Digital Inventory (like a PDF or html page)
+ via the codeless payments frontend, and the user can then purchase
+ it and view the version hosted by the codeless payment frontend.
+ {% endtrans %}
+ </li>
+
+ <li>
+ {% trans %}
+ The seller can add any Physical Inventory available in his stocks.
+ While adding these inventory, the seller is promted to
+ add Minimum Quantity of Product that is required to be maintained
+ in the stock. Whenever the stocks run below this limit the seller
+ would be notified(Curently this feature has not been added but
+ soon email notification would be added).
+ {% endtrans %}
+ </li>
+ </ul>
+ {% trans %}
+ After merchant adds his inventory, they can create a 'Buy Now' and
+ simultaneously the code for the button is generated. This code can
+ be pasted on the seller's frontend and can be used to 'Pay with Taler'.
+ {% endtrans %}
+ {% trans %}
+ For the buyer, Whenever they purchase a product from the seller, after successful
+ payment they are redirected to the fullfillment page. For digital
+ inventory the fullfillment page would be the direct display of the
+ digital inventory(like pdf). But for actual product shipment tracking
+ makes sence. Therefore on the fullfillment page the user can track
+ his shipment. The status of the order is updated by the merchant
+ and on this basis the user is updated about his shipment of fullfillment
+ page.
+ {% endtrans %}
+ {% trans %}
+ To handle the call back of the buy now button that is created is handled
+ by codeless payment backend.
+ {% endtrans %}
+ {% trans %}
+ THe next contribution that I made was to document the Endpoint in Merchant
+ Backend API to manage merchant instances dynamically. Various endpoints
+ to manage the instnaces has been documented. The link to the documentation
+ can be found <a href="https://docs.taler.net/api/api-merchant.html#dynamic-merchant-instance">here</a>
+ {% endtrans %}
+
+
+ </p>
+</div>
+</div>
+
+
+<div class="container">
+
+ <div class="col-lg-12">
+ <h2 id="overview">{{ _("Future Work") }}</h2>
+
+ <p>{{ _("The backend of codeless payment is very roboust and can be easily extended as per the requirements. It is adaptive to add new features to this framework. But as per the dicussion and the scope of this project there are various features that will be soon added in the Codeless Merchant Backend. The list of future work is a s follows:") }}</p>
+ <p>
+ <ul>
+
+ <li>
+ {% trans %}
+ To send Email notification to the Merchant wwhen the stocks run below a certain limit. The minimum quantity required to be maintained in the stocks is currently taken from the Merchant(specific to each product) but no such notification system is designed.
+ {% endtrans %}
+ </li>
+
+ <li>
+ {% trans %}
+ To add API access to the merchant backend via the codeless payment service. Basically it would be used as a hosting platform for multiple merchants. There would be an additional user interface part in the codeless payment service where a logged-in merchant can generate an API key. This API key can be used to access the functionality of the merchant backend in a controlled way. After requesting an API key, the page would display the generated key and a base URL for the API to used by the seller, which is handled by the codeless payments service.
+ {% endtrans %}
+ </li>
+
+ <li>
+ {% trans %}
+ Mapping every seller account to a separate merchant backend instance. This is not required for a simple version of codeless payments, but as soon as API access for sellers, this is a useful feature. The codeless payment service then can also double as a hosting service for merchants.
+ {% endtrans %}
+ </li>
+
+ <li>
+ {% trans %}
+ To add various analytics for the Merchant. Various analysis could be performed on the orders placed for the respective merchant. Some of the analysis that can be performed are displaying the most frequently purchased product, some insights about the shipment tracking, analysis of products based on delivery location, etc. For this part, dicussions and some more research has to be done before procedding to the implementation.
+ {% endtrans %}
+ </li>
+
+ </ul>
+ </p>
+ </div>
+</div> <!-- /container -->
+
+<div class="container">
+<div class="row">
+<h2 id="documentation">{{ _("Screenshots") }}</h2>
+ <div class="col-lg-4">
+ <h3>Home page</h3>
+ <img src="{{ url('images/home') }}" height="240" align="middle">
+ </div>
+ <div class="col-lg-4">
+ <h3>Product page</h3>
+ <img src="{{ url('images/product') }}" height="240" align="middle">
+ </div>
+</div>
+</div>
+{% endblock body_content %}
diff --git a/images/home.png b/images/home.png
new file mode 100644
index 00000000..a8045f5f
--- /dev/null
+++ b/images/home.png
Binary files differ
diff --git a/images/product.png b/images/product.png
new file mode 100644
index 00000000..b7aecf4a
--- /dev/null
+++ b/images/product.png
Binary files differ