这是用户在 2024-11-15 24:09 为 https://app.immersivetranslate.com/word/ 保存的双语快照页面,由 沉浸式翻译 提供双语支持。了解如何保存?

Paydroid APP Development

Paydroid APP Development
Paydroid 应用开发

V0.1
V0.1 版

Page 1 | 1

Paydroid APP Development
Paydroid 应用开发

Document History
文档历史记录

Date
日期

Version
版本

Remark
备注

Author
作者

2023/09/22

V0.0

Draft
草案

Tian Feng
田峰

2023/10/11

V0.1

1. Add 3.3 integrating with Neptune SDK
1. 添加 3.3 与 Neptune 开发工具包集成

2. Add 7.1 Add a Member to Developer List
2. 添加 7.1 将成员添加到开发人员列表

Tian Feng
田峰

Page 1 | 1
1 | 1

Paydroid APP Development
Paydroid 应用开发

Contents
内容

1. Overview of Application Development4
1. 应用程序开发概述4

2. Paydroid SDK for Payment APP w/o Parameters4
2. Paydroid SDK 支付 APP 无参数4

2.1 Neptune SDK4
2.1 Neptune 开发工具包4

2.2 GL SDK4

2.3 EMV Libs5
2.3 EMV 库5

3. APP Development5
3. APP 开发5

3.1 Set Up Development Environment5
3.1 设置开发环境5

3.2 Preparation of Development and Debug5
3.2 开发和调试5 的准备工作

3.3 Integrate Neptune SDK to the Project6
3.3 将 Neptune SDK 集成到项目6

3.4 Integrate MAXSTORE SDK to the Project8
3.4 将 MAXSTORE SDK 集成到 Project8

4. Parameters APP9
4. 参数 APP9

4.1 What is the Parameter Template9
4.1 什么是参数模板9

4.2 Parameter Template and Integration9
4.2 参数模板与集成9

5. Signature Management9
5. 签名管理9

5.1 Types of Signature9
5.1 Signature9 的类型

5.2 Signature Process11
5.2 签名流程11

5.3 Offline (Local) Signature Tool12
5.3 离线(本地)签名工具12

5.4 Online Signature Tool12
5.4 在线签名工具12

6. APP Management13
6. APP管理13

6.1 Upload APK/Upgrade APK13
6.1 上传 APK/升级 APK13

6.2 Submit APK for Approval14
6.2 提交 APK 以供审批14

7. Developer Sandbox15
7. 开发者沙盒15

7.1 Add a Member to Developer List15
7.1 向开发者列表添加成员15

7.2 Create Sandbox Terminal15
7.2 创建沙箱终端15

7.2 Create Parameter App16
7.2 创建参数 App16

7.3 Configure Parameter and Test in Sandbox17
7.3 在 Sandbox 17 中配置参数和测试

Page 1 | 1
1 | 1

Paydroid APP Development
Paydroid 应用开发

1. Overview of Application Development
1. 应用程序开发概述

To develop a new app or migrate an app for Paydroid terminals, developer needs follow 4 simple steps to launch app to MAXSTORE marketplace.
要为 Paydroid 终端开发新应用程序或迁移应用程序,开发人员需要遵循 4 个简单的步骤将应用程序发布到 MAXSTORE 市场。

Step 1. Register as developer: Only registered developer can launch app to MAXSTORE marketplace.
步骤 1.注册为开发者:只有注册开发者才能在 MAXSTORE 市场启动应用程序。

Step 2. Create App: After you create app, APPKEY and APPSECRET will be generated. It will be useful to integrate MAXSTORE SDK. If the app does not need to integrate with MAXSTORE SDK, you can do this step when you want to publish app.
步骤 2。创建 App:创建 App 后,会生成 APPKEY 和 APPSECRET。集成 MAXSTORE SDK 会很有用。如果 App 不需要集成 MAXSTORE SDK,您可以在想要发布 App 时执行此步骤。

Step 3. Integrate SDK: Integrate Neptune SDK & MAXSTORE SDK. MAXSTORE SDK is not a mandatory step, it ups to your real requirements.
步骤 3。集成SDK:集成Neptune SDK和MAXSTORE SDK。MAXSTORE SDK 不是强制性步骤,它符合您的实际要求。

Step 4. Publish App: Once your app is ready, you can publish it to our MAXSTORE marketplace.
步骤 4。发布应用程序:应用程序准备就绪后,您可以将其发布到我们的 MAXSTORE 市场。

2. Paydroid SDK for Payment APP w/o Parameters
2. Paydroid SDK 支付 APP 无参数

2.1 Neptune SDK
2.1 Neptune 开发工具包

Neptune is a SDK used for Paydroid terminals, it contains payment related hardware drivers, such as Magnetic-Card Reader, IC-Card Reader, Contactless-Card Reader, PED, Printer, etc.
Neptune 是一个用于 Paydroid 终端的开发工具包,它包含与支付相关的硬件驱动程序,例如磁卡读卡器、IC 读卡器、非接触式读卡器、PED、打印机等。

Neptune SDK:
Neptune 开发工具包:

NeptuneService: It is a system application preloaded with Paydroid. It is used to implement Neptune API functions and additional solutions (PED isolation solution).
NeptuneService:它是一个预装了 Paydroid 的系统应用程序。它用于实施 Neptune API 函数和其他解决方案(PED 隔离解决方案)。

Neptune API: Its interfaces are integrated in Neptune Service.
Neptune API:其接口集成在 Neptune 服务中。

Neptune Demo: It is a demo application to guide developer how to use Neptune API.
Neptune 演示:这是一个演示应用程序,用于指导开发人员如何使用 Neptune API。

2.2 GL SDK
2.2 GL SDK 开发工具包

GL means general libraries, it is a best practices library. It is an utils library based on PAX's payment development experiences, it helps developers to quickly integrate traditional payment functions into their applications. And It also contains many open source libraries which are tested by our own projects.
GL 表示通用库,它是一个最佳实践库。它是一个基于 PAX 支付开发经验的 utils 库,可以帮助开发人员快速将传统的支付功能集成到他们的应用程序中。并且它还包含许多开源库,这些库都经过我们自己的项目测试。

GL includes modules such as communication, algorithm, image processing, data conversion and so on.
GL 包括通信、算法、图像处理、数据转换等模块。

GLComm Communication library contains communication modules including Bluetooth, USB host, Serial port, Tcp, Http, Https, SSL and so on.
GLComm 通信库包含的通信模块包括蓝牙、USB 主机、串口、Tcp、Http、Https、SSL 等。

GLImgProcessing Conversion among Bitmap and jbig, dots, mono bmp.
Bitmap 和 jbig、dots、mono bmp 之间的 GLImgProcessing 转换。

GLPaker Packing and unpacking of BER-TLV, ISO8583, APDU data format.
GLPaker BER-TLV、ISO8583、APDU 数据格式的打包和解包。

GLPage Defines a page, and then generates a Bitmap based on the page. Typically used to generate a receipt for printing.
GLPage 定义一个页面,然后基于该页面生成一个 Bitmap。通常用于生成用于打印的收据。

GLUtils Standard or custom algorithm, data format conversion, etc
GLUtils 标准或自定义算法、数据格式转换等

2.3 EMV Libs
2.3 EMV 库

All the PAX Paydroid terminals which have build-in IC card reader have EMV and related certifications.
所有内置 IC 卡读卡器的 PAX Paydroid 终端均已获得 EMV 和相关认证。

So far PAX Paydroid has the below certifications.
到目前为止,PAX Paydroid 已获得以下认证。

Transaction Type
交易类型

Kernel list
内核列表

Contact
联系

EMV

Contactless
非接触式

PayWave
PayWave 公司

MCL
内侧副韧带

J/Speedy

ExpressPay
易付

D-PAS
D-PAS 系列

qPBOC

3. APP Development
3. APP开发

3.1 Set Up Development Environment
3.1 设置开发环境

We recommend Android Studio as IDE and build Tool.
我们建议将 Android Studio 作为 IDE 和构建工具。

Android Studio version: Android Studio 3.0.1 or higher
Android Studio 版本:Android Studio 3.0.1 或更高版本

Android SDK version: SDK 19 or higher, depending on the terminal's paydroid version.
Android SDK 版本:SDK 19 或更高版本,具体取决于终端的 paydroid 版本。

Gradle's and Gradle plugin's version: Gradle version 4.1 or higher
Gradle 和 Gradle 插件的版本:Gradle 版本 4.1 或更高版本

compileSdkVersion's version is same as Android SDK, SDK-19 or higher
compileSdkVersion 版本与 Android SDK、SDK-19 或更高版本相同

3.2 Preparation of Development and Debug
3.2 开发和调试的准备

If you have a PAX Paydroid terminal, not only need to open developer options in the settings, but also need to set Paydroid OS to debug mode.
如果你有 PAX Paydroid 终端,不仅需要在设置中打开开发者选项,还需要将 Paydroid OS 设置为调试模式。

How to enter developer option : https://ppn.paxengine.com/release/releaseDetail/379035775089301504?type=1
如何进入开发者选项 : https://ppn.paxengine.com/release/releaseDetail/379035775089301504?type=1

Firstly, the terminal should be in debug mode. About how to authorize the terminal to debug mode, please use the PPN->Tools->Terminal Auth. Module
首先,终端应处于调试模式。关于如何授权终端进入调试模式,请使用 PPN->Tools->Terminal Auth. 模块

About the Auth steps, please refer to PPN Authorization Guide to perform a Set app debug Authority: https://ppn.paxengine.com/release/releaseDetail/413625082873643008?type=1
关于授权步骤,请参考 PPN 授权指南 执行 Set app debug Authority: https://ppn.paxengine.com/release/releaseDetail/413625082873643008?type=1

When terminal is under debug mode, “Debug” Logo can be seen on the terminal screen.
当终端处于调试模式时,终端屏幕上可以看到 “Debug” Logo。

Check whether the Developer option is present the Settings list.
检查 开发商 选项是否存在 设置 列表。

If it's absent, go to About device and click Build number repeatedly.
如果不存在,请转到 About device (关于设备) 并重复单击 Build number (内部版本号)。

The password for entering developer option is pax9876 (The latest firmware for A920 will be Dev9876@@). For other devices, please obtain the password in The Settings & Developer Option Password Change.
进入开发者选项的密码为 pax9876(Dev9876@@ A920 的最新固件)。对于其他设备,请在设置和开发者选项密码更改中获取密码。

3.3 Integrate Neptune SDK to the Project
3.3 将 Neptune 开发工具包集成到项目中

3.3.1 Get and Install NeptuneService
3.3.1 获取和安装 NeptuneService

In most circumstances, PAX Paydroid terminals are pre-installed with NeptuneService application out of factory. You can check the NeptuneService application and its version in the Settings -> Apps.
在大多数情况下,PAX Paydroid 终端在出厂时预装了 NeptuneService 应用程序。您可以在设置 -> 应用程序中检查 NeptuneService 应用程序及其版本。

If you have a NeptuneService apk, you can update or install it as a normal Android application.
如果您有 NeptuneService apk,则可以将其作为普通 Android 应用程序进行更新或安装。

If the NeptuneService is missing or out of date, you should download the newest apk from MAXSTORE and install it manually.
如果 NeptuneService 丢失或过时,您应该从 MAXSTORE 下载最新的 apk 并手动安装。

3.3.2 Integrate Neptune API
3.3.2 集成 Neptune API

Download the NeptunreAPI Jar package and copy it into your project libs folder, then modify app/build.gradle as following.
下载 NeptunreAPI Jar 包并将其复制到您的项目 libs 文件夹中,然后修改 app/build.gradle,如下所示。

dependencies{
依赖项{

implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation fileTree(include: ['*.jar'], dir: 'libs')

}

3.3.3 Get Started with A Real Device
3.3.3 开始使用真实设备

Let's try to detect and read a Magnetic card.
让我们尝试检测和读取磁卡。

Step-1 get an instance of DAL
步骤 1:获取 DAL 的实例

IDAL idal = NeptuneLiteUser.getInstance().getDal(getApplicationContext());
IDAL idal = NeptuneLiteUser.getInstance().getDal(getApplicationContext());

Step-2 Use DAL's instance to get MagneticReader interface IMag
Step-2 使用 DAL 的实例获取 MagneticReader 接口 IMag

IMag iMag = idal.getMag();
IMag iMag = idal.getMag();

Step-3 Use IMag to open the MagneticReader device
步骤 3 使用 IMag 打开 MagneticReader 设备

iMag.open();
iMag.open();

Step-4 Use IMag to reset MagneticReader before reading card
Step-4 读卡前使用 IMag 重置 MagneticReader

iMag.reset();
iMag.reset();

Step-5 To detect whether a Magnetic card has been swiped or not. If swiped, then try to read card tracks.
步骤 5 检测磁卡是否已刷卡。如果滑动,则尝试读取卡轨道。

b = iMag.isSwiped();
b = iMag.isSwiped();

TrackData trackData = iMag.read();
TrackData trackData = iMag.read();

Now the card information is there in the trackData.
现在卡片信息就在 trackData 中了。

What if there is no reaction? Please refer to NeptuneAPI Demo and compare the source code.
如果没有反应怎么办?请参考 NeptuneAPI Demo 并比较源代码。

3.4 Integrate MAXSTORE SDK to the Project
3.4 将 MAXSTORE SDK 集成到项目中

3.4.1 Register as Developer on MAXSTORE
3.4.1 在 MAXSTORE 上注册成为开发人员

3.4.2 Create App on Developer Center
3.4.2 在开发者中心创建 App

Create App is the first step to develop POS Parameter App. Once app been created, MAXSTORE will show you some basic develop information. For example, APPKEY and APPSECRET. If your app does not need to integrate MAXSTORE SDK, you can skip this once you want to release your app.
Create App 是开发 POS Parameter App 的第一步。创建应用程序后,MAXSTORE 将向您展示一些基本的开发信息。例如,APPKEY 和 APPSECRET。如果您的 App 不需要集成 MAXSTORE SDK,那么当您想发布 App 时,可以跳过此步骤。

To develop new app with parameters, developer need get APPKEY and APPSECRET first. At app management function of Developer Center, you can create your own App by input correct app name.
使用参数开发新 App,开发者需要先获取 APPKEY 和 APPSECRET。在 Developer Center 的 App 管理功能中,您可以通过输入正确的 App 名称来创建自己的 App。

Once app been created, the APPKEY and APPSECRET can be found in the DEV INFO tab of the app. Those are necessary info for developer to submit app to marketplace.
创建应用程序后,可以在应用程序的 DEV INFO 选项卡中找到 APPKEY 和 APPSECRET。这些是开发人员将应用程序提交到 Marketplace 的必要信息。

3.4.3 Select the App Type You Want
3.4.3 选择您想要的应用程序类型

Type
类型

Description
描述

Normal App
普通应用程序

This type app does not need to integrate with POS device specific API, and also do not need to integrate with MAXSTORE platform. It is just like to develop normal Android App. For the details, please refer to Android Developer Guide from Android Office Side.
这种类型的应用程序不需要与 POS 设备特定的 API 集成,也不需要与 MAXSTORE 平台集成。这就像开发普通的 Android 应用程序一样。有关详细信息,请参阅 Android Office 端的 Android 开发人员指南。

Normal App with Parameter
带参数的普通应用程序

As the parameter setting is configured and pushed from MAXSTORE, the MAXSTORE SDK integration is necessary. The MAXSTORE SDK helps to download app parameter from MAXSTORE.
由于参数设置是从 MAXSTORE 配置和推送的,因此需要集成 MAXSTORE SDK。MAXSTORE SDK 有助于从 MAXSTORE 下载 app 参数。

Payment App
支付应用

As the payment service need access device API. This type app need integrate with Neptune SDK for invocation of the device API.
由于支付服务需要访问设备 API。这种类型的应用程序需要与 Neptune 开发工具包集成才能调用设备 API。

Payment App with Parameter
带参数的支付应用

This type app need integrate with both Neptune SDK and MAXSTORE SDK.
这种类型的应用程序需要与 Neptune SDK 和 MAXSTORE SDK 集成。

Parameter App (APP with Parameter): MAXSTORE Platform provides an admin function to push parameters to the specific terminal or a group of the terminals. To integrate this function, app needs integrate with the MAXSTORE SDK. Once any parameter pushing, MAXSTORE will send a command to app to ask app to download the latest parameters for using. MAXSTORE SDK is cloud based SDK, it will call the API from MAXSTORE cloud API.
参数App(带参数的APP):MAXSTORE 平台提供管理功能,将参数推送到指定终端或一组终端。要集成此功能,App 需要与 MAXSTORE SDK 集成。一旦有参数推送,MAXSTORE 会向 app 发送命令,要求 app 下载最新的参数以供使用。MAXSTORE SDK 是基于云的 SDK,它将从 MAXSTORE 云 API 调用 API。

MAXSTORE SDK: The SDK provide by MAXSTORE, it provides simple and easy-to-use service interfaces for Android Apps.
MAXSTORE SDK:MAXSTORE 提供的 SDK,它为 Android 应用程序提供了简单易用的服务界面。

3.4.4 Integrate MAXSTORE SDK to Your Project
3.4.4 将 MAXSTORE SDK 集成到您的项目中

Please refer to How to integrate with MAXSTORE SDK.
请参考 如何集成 MAXSTORE SDK

4. Parameters APP
4. 参数APP

MAXSTORE enables you to configure in the cloud the parameters of your payment app using a pre-defined parameter template.
MAXSTORE 使您能够使用预定义的参数模板在云中配置支付应用程序的参数。

4.1 What is the Parameter Template
4.1 什么是参数模板

For the parameter app, developer need upload parameter template together. There are 2 purposes of the parameters:
对于参数 App,开发者需要一起上传参数模板。参数有 2 个用途:

Define parameters and related UI display on the admin console. Operator can manage the parameter values through admin console.
在 Admin Console 上定义参数和相关 UI 显示。操作员可以通过 Admin Console 管理参数值。

Define target parameter files which will be used by app.
定义应用程序将使用的目标参数文件。

4.2 Parameter Template and Integration
4.2 参数模板与集成

More details can be refered to:
更多详情可以参考:

5. Signature Management
5. 签名管理

5.1 Types of Signature
5.1 签名的类型

To download and run an application (APK) on PayDroid terminals, two signature levels are required. The first signature is performed by the application developer. The second signature is performed by PAX systems.
要在 PayDroid 终端上下载并运行应用程序 (APK),需要两个签名级别。第一个签名由应用程序开发人员执行。第二个签名由 PAX 系统执行。

Developer Signature
开发者签名

To publish an APK on Google Play Store, any developer can choose to have the signature keypair stored by Google in its systems, linked to the developer account; or to have a local keystore file containing signature public and private key. To publish an APK on MAXSTORE, the suggested method is to use a local keystore, and let Android Studio sign the APK. All the APK versions should be signed by the same developer signature.
要在 Google Play 商店发布 APK,任何开发人员都可以选择将签名密钥对由 Google 存储在其系统中,并链接到开发人员帐户;或者具有包含签名 public 和 private key 的本地密钥库文件。要在 MAXSTORE 上发布 APK,建议的方法是使用本地密钥库,并让 Android Studio 对 APK 进行签名。所有 APK 版本都应由相同的开发人员签名签名。

PAX Signature

PAX Signature is an additional level of security, specific for PayDroid/Prolin/Monitor devices.The signature relies on a private key (PVK), a public key (PUK) and a certificate, signed by PAX. During manufactory each terminal is prepared to recognize software signed with PAX PVK. Signature can be performed using PAX Partner Network (PPN).
PAX Signature 是 PayDroid/Prolin/Monitor 设备专用的附加安全级别。签名依赖于私有密钥 (PVK)、公有密钥 (PUK) 和由 PAX 签名的证书。在制造过程中,每个终端都准备好识别使用 PAX PVK 签名的软件。可以使用 PAX Partner Network (PPN) 进行签名。

Each PAX customer can request its own signature keypair. An S80 is used as HSM to generate and store the keypair. The Public Key is extracted and sent to PAX to be signed, in order to have the PUK.
每个 PAX 客户都可以请求自己的签名密钥对。 S80 用作 HSM 来生成和存储密钥对。公钥被提取并发送到 PAX 进行签名,以便获得 PUK。

Using PAX SW signature tool, the customer can sign the application using its PVK. The signed APK can run on any terminal where the related PUK has been installed.
使用 PAX SW 签名工具,客户可以使用其 PVK 对应用程序进行签名。签名的 APK 可以在安装了相关 PUK 的任何终端上运行。

In https://ppn.paxengine.com/release/releaseDetail/365588990408841216?type=1, there is a training video showing how to sign an application iwht app sign system.
在 https://ppn.paxengine.com/release/releaseDetail/365588990408841216?type=1 ,有一个培训视频展示了如何对应用程序 iwht 应用程序签名系统进行签名。

Custom PAX signature adoption
采用自定义 PAX 签名

In order to use a custom PAX Signature keypair (PUK/PVK), a signature tool shall be set-up with the custom PVK, and the custom PUK shall be installed in any terminal. There are two signature tool options
为了使用自定义 PAX Signature 密钥对 (PUK/PVK),应使用自定义 PVK 设置签名工具,并且自定义 PUK 应安装在任何终端中。有两个签名工具选项

Local signature tool
本地签名工具

Online signature tool
在线签名工具

Once the marketplace owner choose to switch to a custom signature keypair (Reseller signature), the custom PUK shall be installed in any terminal registered to the marketplace. All apps should be signed by this custom PAX Signature keypair.
一旦 Marketplace 所有者选择切换到自定义签名密钥对(经销商签名),自定义 PUK 应安装在注册到 Marketplace 的任何终端中。所有应用程序都应由此自定义 PAX Signature 密钥对签名。

In https://ppn.paxengine.com/release/releaseDetail/568202830236614656?type=1, it is recommended to use Customer PUK/PVK for application signature verification since other partner’s application also signed with unified PAX PUK can be authenticated and installed on the POS successfully.
https://ppn.paxengine.com/release/releaseDetail/568202830236614656?type=1,建议使用客户 PUK/PVK 进行应用程序签名验证,因为其他合作伙伴的应用程序也使用统一 PAX PUK 签名,可以成功验证并安装在 POS 机上

5.1.1 How to use Custom PUK/PVK for Signature Verification
5.1.1 如何使用自定义 PUK/PVK 进行签名验证

Step 1: Contact sales to apply for the hardware and software required to build an Application Signature System. For more details about the Application Signature System, please refer to PPN - App Signature System.
第 1 步:联系销售人员申请构建 Application Signature System 所需的硬件和软件。有关应用程序签名系统的更多详细信息,请参阅 PPN - 应用程序签名系统。

Step 2: Refer to the document (Application Signing Solution Operations Manual--Local Signature Machine.pdf), use UKMM to generate RSA key pair, export PUK to the local PC, and save PVK to IC cards. PVK needs to be injected into UKMM through IC cards. Please note: the PUK file and PVK card should be properly backed up and kept. If the private key IC cards are lost, they can’t be restored.
步骤2:参考文档(应用签名方案操作手册--本地签名Machine.pdf),使用UKMM生成RSA key pair,将PUK导出到本地,并将PVK保存到IC卡中。PVK 需要通过 IC 卡注入 UKMM。请注意:PUK 文件和 PVK 卡应妥善备份和保存。如果私钥 IC 卡丢失,则无法恢复。

Step 3: Upload the Customer PUK file to PPN for signature and install it on the terminal. For details about how to install Customer PUK to terminals of different platforms, please refer to PPN - How to Install PUK for Pax Terminal?
第 3 步:将客户 PUK 文件上传到 PPN 进行签名,并将其安装在终端上。有关如何将客户 PUK 安装到不同平台终端机的详情,请参阅 PPN - 如何为 Pax 终端安装 PUK?

Step 4: Set up the Application Signature System and connect to UKMM. Please refer to point 3. How to choose an Application Signature System?
第 4 步:设置应用程序签名系统并连接到 UKMM。请参阅第 3 点。如何选择应用程序签名系统?

Step 5: Use the Application Signature System to sign applications or files.
第 5 步:使用应用程序签名系统对应用程序或文件进行签名。

5.2 Signature Process
5.2 签名流程

There are 2 processes options for marketplace to choose to signature app.
市场有 2 个流程选项可供选择来签名应用程序。

Sign app manually by offline signature tool.
通过离线签名工具手动签署应用程序

Sign app automatically by online signature tool.
通过在线签名工具自动对应用程序进行签名

Sign App Process – Manually
对应用程序流程进行签名 – 手动

The correct steps for this process are:
此过程的正确步骤是:

The developer use its own keystore to sign the APK.
开发者使用自己的密钥库对 APK 进行签名。

The APK is then submitted to PAX’s reseller/marketplace owner for Signature.
然后,APK 将提交给 PAX 的经销商/市场所有者进行签名。

PAX’s reseller/marketplace owner use offline signature tool to sign the APK, the signed APK is returned to the developer.
PAX (百富) 的经销商/市场所有者使用离线签名工具对 APK 进行签名,已签名的 APK 将返回给开发者。

The developer submit the signed APK to the marketplace.
开发者将已签名的 APK 提交到 Marketplace。

Otherwise, if a developer uploads an app without marketplace signature, a warning message will be showed. Marketplace admin can reject those un-signed apps.
否则,如果开发人员上传的应用程序没有 Marketplace 签名,则会显示一条警告消息。Marketplace 管理员可以拒绝那些未签名的应用程序。

Sign App Process – Automatically
对应用程序流程进行签名 – 自动

If the marketplace choose this process, developer can submit app to the marketplace without signature. Once admin approve the app, marketplace will help to sign the app automatically. Otherwise, the system will pop up an error message as any signed APK is uploaded.
如果市场选择此流程,开发人员无需签名即可将应用程序提交到市场。管理员批准应用后,marketplace 将帮助自动对应用进行签名。否则,系统会在上传任何已签名的 APK 时弹出错误消息。

The correct steps for this process are:
此过程的正确步骤是:

The developer use its own keystore to sign the APK.
开发者使用自己的密钥库对 APK 进行签名。

The developer submit the signed APK to marketplace.
开发人员将已签名的 APK 提交到 marketplace。

5.3 Offline (Local) Signature Tool
5.3 离线(本地)签名工具

Only suitable for an individual POS?
只适合个人 POS?

5.4 Online Signature Tool
5.4 在线签名工具

Only available for MAXSTORE. MAXSTORE signs the application by connecting to the signature server.
仅适用于 MAXSTORE。MAXSTORE 通过连接到签名服务器对应用程序进行签名。

The online signature service provides a WEB interface to sign applications. When MAXSTORE pushes applications to terminals, it invokes the interface through certificate authentication to encrypt data in the application file, thus realizing the automatic signature process. When the online signature service is deployed, a server certificate and a client certificate are generated. The client certificate provided to the customer is a certificate file with a password. The customer needs to configure server parameters and the certificate to MAXSTORE. The SSL protocol is used in the signature process to ensure session security.
联机签名服务提供了一个 WEB 界面来对应用程序进行签名。MAXSTORE 在将应用推送到终端时,通过证书鉴权调用接口,对应用文件中的数据进行加密,从而实现自动签名过程。部署在线签名服务时,会生成服务器证书和客户端证书。提供给客户的客户端证书是带有密码的证书文件。客户需要配置服务器参数和证书到 MAXSTORE。在签名过程中使用 SSL 协议来确保会话安全。

Screenshot of MAXSTORE configuring the online signature server:
MAXSTORE 配置在线签名服务器的屏幕截图:

6. APP Management
6. APP管理

The App Management function is help developer to
App 管理功能可帮助开发人员

Create new App. Developer can delete the App if it is unused.
创建新应用程序。开发人员可以删除未使用的应用程序。

Upload APK/upgrade APK,
上传 APK/升级 APK,

Submit APK for approval
提交 APK 以供审批

View the statistics or reports of the App.
查看应用程序的统计数据或报告。

6.1 Upload APK/Upgrade APK
6.1 上传 APK/升级 APK

Once developer complete the developing of the APK, developer can upload the APK to the App Management. To upgrade APK to new version, the steps are same.
开发者完成 APK 的开发后,开发者可以将 APK 上传到应用管理。要将 APK 升级到新版本,步骤相同。

The platform allows multiple versions of an app online at the same time.
该平台允许同时在线应用程序的多个版本。

App can be edited and deleted when the version status is draft or rejected.
当版本状态为 draft 或 rejected 时,可以编辑和删除应用程序。

To upgrade to new version, the package name must be the same as the last uploaded package name;
要升级到新版本,包名称必须与上次上传的包名称相同;

To upgrade to new version, App detail information in editing page comes from the last online version. The app type cannot be changed;
要升级到新版本,编辑页面中的 App 详细信息来自上一个在线版本。应用程序类型无法更改;

To support more device models, please submit new version of the APK and choose more device models for it at same time. Or you can request marketplace owner to add more support models for the app.
如需支持更多设备型号,请提交新版 APK,同时为其选择更多设备型号。或者,您可以请求 Marketplace 所有者为应用程序添加更多支持模型。

As app with parameters, please make sure parameter template(s) has been defined and uploaded before submitting for approval.
作为带有参数的应用程序,请确保在提交审批之前已定义并上传参数模板。

6.2 Submit APK for Approval
6.2 提交 APK 以供审批

Every new version of the APK need to be submitted for approval. Before submit, please make sure the information provided correct.
APK 的每个新版本都需要提交以供审批。在提交之前,请确保提供的信息正确无误。

Item
项目

Description
描述

Base Type - Parameter App
基本类型 - Parameter App

For the Parameter App, developer need upload Parameter Template before submit.
对于参数 App,开发者需要在提交前上传 Parameter Template。

Parameter templates have two main purposes:
参数模板有两个主要用途:

First, let the administrator define parameter values in the administrator center and push them to the terminal.
首先,让管理员在管理员中心定义参数值,并将其推送到终端。

The second is to let the app read the parameter values based on predefined parameters.
第二种是让应用程序根据预定义的参数读取参数值。

Base Type - Standard App
基本类型 - 标准应用程序

For the Standard App, it means the app will do not use the parameter pushing feature. The app does not need to invoke any MAXSTORE platform service
对于 Standard App,则表示 App 不会使用参数推送功能。该应用程序不需要调用任何 MAXSTORE 平台服务

Charged App
收费应用程序

MAXSTORE only allow set the Standard App as Charged APP. Developer need set the price for the Charged APP.
MAXSTORE 只允许将 Standard App 设置为 Charged APP,开发者需要为 Charged APP 设置价格。

Business Category
业务类别

Business Category will help to make the App be found easily. For example, if a merchant in Business Category Life Service, and your app is support Life Service, our platform will propose your app to the merchant.
业务类别将有助于轻松找到该应用程序。例如,如果 Business Category Life Service 的商户,并且你的 App 支持 Life Service,我们的平台会向该商户推荐你的 App。

Model

Specific the supported models of the App. Developer make sure the App can run well on the specific models. Otherwise the request will be rejected. To upgrade to new version, the supported models from latest version is editable, you can choose more models.
具体说明 App 支持的机型,开发者确保 App 在具体机型上能正常运行。否则,请求将被拒绝。要升级到新版本,最新版本支持的模型是可编辑的,您可以选择更多模型。

MAXSTORE platform administrator will do audit and test on the submitted APK. And administrator will do the final decision to approve or reject the online request.
MAXSTORE 平台管理员将对提交的 APK 进行审核和测试。管理员将做出批准或拒绝在线请求的最终决定。

Once the APK been approved to be online, the details of the APK will be un-editable. If developer need do any bug fixing or upgrade any new feature of the app, please upgrade app to new version by uploading new APK.
APK 获准联机后,APK 的详细信息将不可编辑。如果开发人员需要修复任何错误或升级应用程序的任何新功能,请通过上传新 APK 将应用程序升级到新版本。

7. Developer Sandbox
7. 开发者沙盒

The sandbox is a testing environment which isolates from the production environment. It provides an environment for developers to test their Parameter App before official launch.
沙箱是一个与生产环境隔离的测试环境。它为开发人员提供了一个环境,让他们在正式发布之前测试他们的 Parameter App。

7.1 Add a Member to Developer List
7.1 将成员添加到开发者列表

Add a new member with email address by super admin.
由超级管理员添加具有电子邮件地址的新成员。

The new member will receive an email at the provided email address to activate his account of the developer center.
新成员将收到一封电子邮件,该电子邮件将发送到提供的电子邮件地址,以激活其开发人员中心帐户。

7.2 Create Sandbox Terminal
7.2 创建沙箱终端

Before using Sandbox feature, please make sure your terminal has been added to the developer center. Go to 'App Management' page, create a new terminal. Only those registered terminals can be used to test parameter pushing.
在使用沙箱功能之前,请确保您的终端已添加到开发者中心。进入 'App Management' 页面,创建一个新的终端。只有那些已注册的终端才能用于测试参数推送。

7.2 Create Parameter App
7.2 创建参数应用

Go to 'App Management' page, create a new Parameter App.
转到 'App Management' 页面,创建一个新的 Parameter App。

Remember to set the app type as 'Parameter App', and upload parameter template (can upload multiple template for one app).
记得将 App 类型设置为 '参数 App',并上传参数模板(一个 App 可以上传多个模板)。

7.3 Configure Parameter and Test in Sandbox
7.3 配置参数并在沙箱中测试

Click 'SANDBOX' tab in the app detail page, then click '+ PUSH PARAM' button to go to config sandbox page.
点击应用详情页的 'SANDBOX' 选项卡,然后点击 '+ PUSH PARAM' 按钮进入配置沙盒页面。

Enter search keywords or click the list sandbox icon to select an existing sandbox terminal. If no sandbox terminal created before, you can also click the link 'click here' to create a sandbox terminal.
输入搜索关键字或单击列表 sandbox 图标以选择现有的 Sandbox 终端。如果之前没有创建沙盒终端,您也可以点击链接 'click here' 创建一个沙盒终端。

After select the terminal, you can start to config the parameters for the parameter template. you can click 'SAVE' to save the parameters.
选择终端后,您可以开始为参数模板配置参数。您可以单击 'SAVE' 保存参数。

Kindly note: if you have upload multiple parameter template, you can select multiple parameter template here.
请注意:如果您上传了多个参数模板,您可以在此处选择多个参数模板。

Click 'ACTIVATE' to activate the server to push the parameters. you can monitor the push status in the page. and view the parameters detail if need.
点击 'ACTIVATE' 激活服务器以推送参数。您可以在页面中监控推送状态。,并在需要时查看参数详细信息。

Kindly note: before click 'ACTIVATE', make sure your MAXSTORE app is installed in the selected sandbox terminal, and MAXSTORE app must login already.
请注意:在点击“激活”之前,请确保您的 MAXSTORE 应用程序已安装在选定的沙盒终端中,并且 MAXSTORE 应用程序必须已经登录。

Verify if your app receives the push parameters in the sandbox terminal.
验证您的应用是否在沙箱终端中收到推送参数。