All Projects → AEVI-AppFlow → pos-android-sdk

AEVI-AppFlow / pos-android-sdk

Licence: Apache-2.0 license
A selection of APIs and associated samples that enables developers to build applications for different stages of the point of sale journey

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to pos-android-sdk

store-pos
It is java accounting software basically developed using javafx which has various modules like purchase, sales, receipts, payments, and journals.
Stars: ✭ 84 (+366.67%)
Mutual labels:  pos, point-of-sale
bitpocket-mobile-app
Mobile app for accepting bitcoin payments at the point of sale (Bitcoin POS).
Stars: ✭ 26 (+44.44%)
Mutual labels:  pos, point-of-sale
quicktill
Figure out where all the money and stock went to
Stars: ✭ 29 (+61.11%)
Mutual labels:  pos, point-of-sale
pos
Point of sale system targeted towards pharmacies in India.
Stars: ✭ 46 (+155.56%)
Mutual labels:  pos, point-of-sale
Breezmobile
Lightning Network mobile client
Stars: ✭ 225 (+1150%)
Mutual labels:  payments, pos
LightPOS
Just a simple Point Of Sale app. [Mostly unfinished]
Stars: ✭ 26 (+44.44%)
Mutual labels:  pos, point-of-sale
open-pos
Open Source Point of Sale System.
Stars: ✭ 52 (+188.89%)
Mutual labels:  pos, point-of-sale
nanopos
A simple Lightning ⚡ point-of-sale system, powered by Lightning Charge
Stars: ✭ 95 (+427.78%)
Mutual labels:  pos, point-of-sale
JavaFX-Point-of-Sales
Point of Sales with inventory management system
Stars: ✭ 162 (+800%)
Mutual labels:  pos, point-of-sale
pos-billing-and-invoicing-software
Most Advanced POS, Billing, Inventory & Invoicing Software which can perfectly fit on your WholeSale & Retail Business --- Demo :
Stars: ✭ 33 (+83.33%)
Mutual labels:  pos, point-of-sale
larapos
Laravel Point of sale with invoice full source code free download pos apps.
Stars: ✭ 38 (+111.11%)
Mutual labels:  pos, point-of-sale
POS-Awesome
POS Awesome is an open-source Point of Sale for Erpnext using Vue.js and Vuetify
Stars: ✭ 109 (+505.56%)
Mutual labels:  pos, point-of-sale
Raiden
Raiden Network
Stars: ✭ 1,825 (+10038.89%)
Mutual labels:  payments
Easyupipayment Android
📱Android Library to implement UPI Payment integration easily in Android App 💳💸
Stars: ✭ 219 (+1116.67%)
Mutual labels:  payments
Card
💳 make your credit card form better in one line of code
Stars: ✭ 11,365 (+63038.89%)
Mutual labels:  payments
Laravel Paddle
Paddle.com API integration for Laravel with support for webhooks/events
Stars: ✭ 132 (+633.33%)
Mutual labels:  payments
Pay Gateway
pay gateway. support alipay,wechatpay,unionpay,jdpay etc.
Stars: ✭ 247 (+1272.22%)
Mutual labels:  payments
Braintree python
Braintree Python library
Stars: ✭ 217 (+1105.56%)
Mutual labels:  payments
Braintree java
Braintree Java library
Stars: ✭ 129 (+616.67%)
Mutual labels:  payments
Hanzo.js
🚀 Hanzo JavaScript SDK. Develop cutting-edge decentralized applications.
Stars: ✭ 128 (+611.11%)
Mutual labels:  payments

AEVI AppFlow - POS Android SDK

AEVI AppFlow is a solution that enables a client application to initiate a flow that consists of one to many stages in which any number of applications may be called. A set of input and output data structures are defined for each stage, allowing applications to view the latest state and/or augment it.

The point of sale (POS) Android SDK for AEVI AppFlow applies this solution to Android "SmartPOS" devices, allowing a POS application to initiate various flows for common operations such as payments, refunds, voids etc. In addition to calling standard payment applications, any number of value added services can be called during the flow, such as loyalty, split bill, receipt delivery and much more. AppFlow for POS is highly configurable and flexible, allowing dynamic configuration of flows and input / output data.

The SDK consists of two APIs - one for client/POS applications to initiate flows and one for value added services and payment applications to integrate into those flows.

Please see the Documentation for detailed information of how AppFlow works and how to integrate with it.

Prerequisites

In order to test AppFlow and/or integrate with it, you will need to at a minimum install these two AEVI provided applications;

  • AEVI Flow Processing Service (FPS), which implements the APIs and executes the flows
  • AEVI AppFlow Configuration App, which provides the flows and other settings for AppFlow tailored for developers

Please download the latest developer bundle from here, which contains these applications as well as the latest samples.

Integrate

AppFlow and its dependencies are as of v2.4.0 published to the MavenCentral packages repository.

In your root project build.gradle file, add

repositories {
    mavenCentral()
}

These APIs require that your application is compiled with Java 8. Ensure that your application build.gradle android DSL contains the following.

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

See Github packages for list of published artifacts.

Payment Initiation API

For client/POS applications to initiate flows.

implementation 'com.aevi.sdk.pos.flow:payment-initiation-api:<version>'

Payment Flow Service API

For value added services and payment applications to integrate into flows.

implementation 'com.aevi.sdk.pos.flow:payment-flow-service-api:<version>'

API Constants

The AppFlow APIs themselves are designed to facilitate communication between applications via a defined set of data structures. They are however decoupled from what the values or content of these data structures are, in order to keep them as flexible and configurable as possible. Instead, the data values are defined in the docs and provided as constants via a separate library.

This library is stored in a separate repo here. You can find the latest version details and view the defined data constants there.

To include these in your project use

implementation `com.aevi.sdk.flow:api-constants:<version>'

API Samples

There are three code samples in this repository to illustrate the use of the APIs. Please see

  • PaymentInitiationSample for an example of how to build an application that initiates payments via the Payment Initiation API
  • FlowServiceSample for an example of how to build a value added service that integrates with Payment Flow Service API
  • PaymentServiceSample for an example of how to build a payment application that integrates with Payment Flow Service API

In addition to illustrating how the APIs can be used, these samples can also be used to test your own application. If you are building a POS app, you will want to use the FlowServiceSample and PaymentServiceSample to perform testing with apps in the flow. In a similar manner, if you are developing a flow app or a payment app, you will want to use the PaymentInitiationSample to initiate payments.

You can of course modify these samples to suit your use cases and scenarios.

API Feature Support

Some of the features provided by this API are configurable by AEVI and/or the acquirer.

The PaymentSettings model provides access to relevant settings and can be retrieved via PaymentClient.getPaymentSettings(). See FpsSettings for details on all the parameters.

You can check what the settings are via the System overview screen in the Payment Initiation Sample.

Bugs and Feedback

For bugs, feature requests and questions please use GitHub Issues.

Contributions

Contributions to any of our repos via pull requests are welcome.

LICENSE

Copyright 2020 AEVI International GmbH

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].