REAL-TIME PAYMENT BLOCKCHAIN
Verifone carbon 10 Payment Terminal

GENERAL INFORMATION

GRAFT (Global Real–time Authorizations and Fund Transfers) is a Universal, Decentralized Crypto+Fiat Payment Network.
This application is developed for Verifone Carbon 10 integrated payment terminal that includes dual screens for merchant and customer interaction. The application is intended to run on customer–side terminal to provide a way to make so called alternative payment using GRAFT utility tokens.

SYSTEM OVERVIEW

Graft payment application is expected to be installed from a Verifone Marketplace. Application installation procedure is out of scope of this document. Application is initiated by Verifone–compatible POS application.

ORGANIZATION OF THE MANUAL

The user’s manual consists of five sections: General Information, System Summary, Getting Started, Using The System, Troubleshooting. General Information section explains in general terms the system and the purpose for which it is intended. System Summary section provides a general overview of the system. The summary outlines the uses of the software requirements, system’s configuration. Getting Started section explains how to run application and make payment in Grafts. Troubleshooting section provides information what to do in case or possible problems win the application.

SYSTEM SUMMARY

GRAFT Blockchain allows using any cryptocurrency at the Point of Sale. It allows instant payouts in local fiat currency which enables normal in-store and online checkout process. This application gives ability to use Graft blockchain with Carbon 10 integrated POS and terminal. The application represents itself as an “alternative” payment option. Application doesn’t and should not in general conflict with any other Carbon 10 components, software or hardware.

SYSTEM CONFIGURATION

Application needs to have access to a chosen blockchain node. If a user served by a service provider, this service provider sets up and maintains this service node, arranges its white listening.

USER ACCESS LEVELS

A merchant has access to a terminal and is able to proceed or cancel the transaction. A merchant has full access to terminal configuration given by Verifone by design.

GETTING STARTED

INSTALLATION

The application is installed from the Verifone Marketplace according to Verifone’s procedure. After the installation, the merchant needs to configure application by providing Graft wallet address.

RUNNING

The application is invoked by the merchant by pressing “Charge” in a Point of Sale on the tablet. When the application is installed, a customer will see one or more payment option options on the customer’s side display. At this point, a customer may proceed paying traditionally by a debit\credit card (VISA, Mastercard, AMEX etc.), or choose an alternative payment method, Graft Payment in our case.

Exit application

Customer is able to exit the application by pressing Cancel button when processing or Close button when prompted. In any case POS will be informed about application exiting and will react accordingly.

USING THE SYSTEM

Wallets

Payment process (when using the terminal) involves two parties: the merchant and the customer. Both need to have Graft wallets already set up to make transactions using this application. Merchant wallet Important note: wallet physically resides on the blockchain network, so when you create or restore a wallet on your mobile device you actually manage your wallet in the cloud. You can have the same wallet on multiple devices simultaneously, mobile devices and/or terminals. It may appear more convenient to use the same merchant wallet on multiple terminals. One can download and install the wallet app from the AppStore or from PlayMarket (iOS / Android ) and follow below instructions to configure the wallet:

Setup new wallet

Creating a new wallet is simple and straightforward:
# Step Comment Pic
1 Select a network There are a three network available: – Mainnet. This is a production network that maintains real-world tokens. Use it in production. – “Public Testnet” and “Public RTA Testnet” are used to test software and infrastructure, use it when you need to evaluate or certificate it not affecting real tokens. Note: POS integration requires RTA (real-time authorizations) functionality. At this moment Public RTA Testnet is the only network providing real-time authorizations.
2 Choose to create a wallet / setup password When creating a wallet you may set an optional password. Press “Create new wallet” to continue. Note: This password only affects this mobile device.
3 Choose to create a wallet / setup a password Press “restore wallet” to continue. Note: This password only affects this mobile device.
4 Your balance Now you may see you balance on the main page of the wallet application. Main balance(Unlocked) is how many tokens you have available now. Main balance (Locked) is amount of Grafts currently locked and to available to transfer right now. It is important to understand locked/unlocked logic. When transferring the tokens, the system will usually lock larger amount than requested; this is the nature of the current blockchain technology. This will be addressed as part of GRAFT Supernode functionality.
5 Service Settings On Settings tab enable HTTPS and use service URL: https://dapi.graft.network:28943

Restore wallet

Restoring wallet relies on recreation of the private key. In order to re-create the private key, one has to supply the so-called “mnemonic password”.
# Step Comment Pic
1 Select a network The same as in creating wallet, see above.
2 Choose to restore wallet You need to type or copy/paste your mnemonic phrase, 25 space-separated words. It is important to have it as is, not adding any other characters, spaces etc.

Payment flow

Having both wallets (merhant’s and customer’s) it is easy to transfer tokens between wallets, which is a buying process in case of using terminals in retail. Generally, the process is the following: — Merchant provides a QR code which contains a wallet address and an amount. The QR code is displayed on the terminal window or on a screen of a GRAFT Mobile POS or wherever else. — Customer scans this QR code using their mobile walls application and confirm payment. Detailed flow:
# Step Location Pic
1 POS Charge Request Merchant side
2 Choosing ALT PAYMENT Customer side Customer chooses GRAFT Payment option
3 Confirmation Customer side
4 Payment QR Code Screen Customer side
5 Payment Customer side Customer chooses GRAFT Payment option
6 Payment Confirmation. Customer side Note: Depending on customer’s wallet status, amount of tokens available, network availability the status can vary:
Completed Transaction completed, requested amount of tokens transferred from the customer’s wallet to merchant’s wallet.
Rejected by wallet Customer cancelled transaction. No token were transferred.
Fail Reason for general “Fail” message vary and generally caused by some internal blockchain failures.
Rejected by POS Reason for this failure is that blockchain network was unable to receive token transfer.
Network not available Terminal needs to have stable network connection and the configured blockchain node must be up and running

Printing receipts

Receipts are not available in the current version.

TROUBLESHOOTING

1. After confirmation (step 3) a customer sees an error message. If this happened please check the Internet connection. If Internet connection is fine, ask your service provider to check if a configured blockchain node is up and running normally. 2. Once the transaction is complete, user sees that a considerable amount of money is locked and he\she is unable to process the next transaction. This is a normal situation, a customer needs to wait for a while, maximum few minutes, and the amount will be unlocked. This is a current limitation and will be addressed in production version of the supernode. 3. Application never completes, despite a customer successfully making the transaction and tokens being transferred successfully. Please close the application by pressing Cancel button and ask your service provider to check the preconfigured node. This is a very unlike case.