summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorshivam kohli <kohlishivam5522@gmail.com>2018-08-08 13:18:26 +0530
committershivam kohli <kohlishivam5522@gmail.com>2018-08-08 13:18:26 +0530
commitc5675ae92d920242c0d062d9e59485de36d246fe (patch)
treebc688e4113bb4c1eeb95c3f2a390dc8b54ed6644
parent71a7b3fef78b9207c4e22d362a3dbbe06d912338 (diff)
downloadwww-c5675ae92d920242c0d062d9e59485de36d246fe.tar.gz
www-c5675ae92d920242c0d062d9e59485de36d246fe.tar.bz2
www-c5675ae92d920242c0d062d9e59485de36d246fe.zip
improved gsoc 2018:codeless payment
-rw-r--r--gsoc-codeless.html.j2139
-rw-r--r--images/UseCaseDiagram.pngbin0 -> 474521 bytes
2 files changed, 63 insertions, 76 deletions
diff --git a/gsoc-codeless.html.j2 b/gsoc-codeless.html.j2
index 3ee7ccd8..c796ee4c 100644
--- a/gsoc-codeless.html.j2
+++ b/gsoc-codeless.html.j2
@@ -3,17 +3,67 @@
<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">
+<div class="col-lg-12">
+ <h2 id="overview">{{ _("Overview") }}</h2>
+
+ <p>
+ {% trans %}
+ Codeless payment is 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. Registered merchants can manage their inventory and simultaneously create a 'Buy Now' button for a 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">
+
+ <div class="col-lg-6">
+ <h2 id="overview">{{ _("Use Cases") }}</h2>
+
+ <p>{{ _("The various use cases and features of codeless payment are:") }}</p>
+ <p>
+ <ul>
+
+ <li>
+ {% trans %}
+ The primary use case is the registration of the merchant. The codeless payment backend provides a secure django authenticated login to the merchant. The registered merchant can add inventory (both digital as well as physical) in their stocks. They can manage inventory and simultaneously create a 'Buy Now' button for the product. The merchant also monitors the orders placed and updates the status of the order which helps in shipment tracking.
+ {% endtrans %}
+ </li>
+
+ <li>
+ {% trans %}
+ The buyers will access the seller's frontend where the code for the 'Buy Now' button is present. When this button is triggered, they are redirected to codeless payment backend and eventually redirected to the payment page. After successful payment, the buyer can also track their shipment for physical products or view the digital version hosted by the codeless payment frontend.
+ {% endtrans %}
+ </li>
+
+ <li>
+ {% trans %}
+ The other use case of the codeless payment backend is to handle the event when the 'Buy Now' button is triggered on the seller's frontend. To perform the payment the backend communicates with merchant backend api. After successful payment, the users are redirected to the fulfilment page.
+ {% endtrans %}
+ </li>
+
+ </ul>
+ </p>
+ </div>
+ <div class="col-lg-6">
+ <img src="{{ url('images/UseCaseDiagram.png') }}" alt="{{ _("Use Case Diagram")}}" style="float: right; margin: 5px 5px 5px 5px;" width="100%">
+ </div>
+</div> <!-- /container -->
+
+
+<div class="container">
+ <div class="col-lg-12">
+ <h2 id="overview">{{ _("Dynamic Merchant Instance") }}</h2>
+ <p>{{ _("Documented the API to dynamically manage merchant instance. The documentation can be found <a href="https://docs.taler.net/api/api-merchant.html#dynamic-merchant-instance">here</a>.") }}</p>
+ </div>
+</div> <!-- /container -->
+
+
<div class="container-fluid c_acronym">
<div class="container">
<h2 id="documentation">{{ _("Link to the contributions made") }}</h2>
@@ -30,87 +80,23 @@
<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>{{ _("The backend of codeless payment is very robust and can be easily extended as per the requirements. It is adaptive to add new features to this framework. But as per the discussion 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 as 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.
+ To send Email notification to the Merchant when 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.
+ 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 use by the seller, which is handled by the codeless payments service.
{% endtrans %}
</li>
@@ -122,7 +108,7 @@
<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.
+ 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 have to be done before proceeding to the implementation.
{% endtrans %}
</li>
@@ -131,6 +117,7 @@
</div>
</div> <!-- /container -->
+
<div class="container">
<div class="row">
<h2 id="documentation">{{ _("Screenshots") }}</h2>
diff --git a/images/UseCaseDiagram.png b/images/UseCaseDiagram.png
new file mode 100644
index 00000000..b797666f
--- /dev/null
+++ b/images/UseCaseDiagram.png
Binary files differ