# Frequently Asked Questions

# What type of applications can I build on GoDaddy Poynt?

There are multiple application categories, including point-of-sale, loyalty, CRM, analytics, accounting, inventory, and employee management, among others. PoyntOS SDK allows you to build on-terminal apps that the merchant can interact with using the Smart Terminal.

You can also create powerful back-end applications that connect to the apps installed on the terminal using our RESTful Cloud APIs. Additionally, our platform includes a comprehensive set of resources (opens new window) to build the best solutions for merchants.

To learn more about this topic, check out our sections for the management of orders (opens new window), transactions (opens new window), customers (opens new window), product catalogs, and more.

# Are there any restrictions for the apps that can be built on GoDaddy Poynt?

Yes. There are several things developers need to keep in mind before they begin creating applications. Below are some of the main considerations.

  • Your application cannot access sensitive payment card information.
  • The consumer-facing screen (the smaller one) has several restrictions as to what can be displayed.
  • Sideloading applications and services on live merchant devices is not allowed.
  • GoDaddy Poynt must approve any access to custom USB devices from your applications.
  • Applications will be reviewed and distributed by GoDaddy Poynt through secure channels.

Please refer to our SDK Documentation and Application Development Guidelines for more information.

# How can I monetize my application? How is billing managed?

After submitting your application for review and receiving a GoDaddy Poynt approval, the app will be made available to merchants for purchase/subscription through the App Marketplace.

GoDaddy Poynt will manage the entirety of the invoicing and billing operations.

# What is the revenue share for my app running on GoDaddy Poynt?

It's a simple 80/20 split over the Net Revenue (as defined in the Developer Distribution Agreement). In this model, 80% goes to you (the developer), and the remaining 20% goes to GoDaddy Poynt.

# What types of subscription models does GoDaddy Poynt support? How do I define my subscription model?

We currently support monthly subscriptions plans. Additionally, developers can define their app subscription plan in the Application Management section of the Poynt HQ Developer Portal. In most cases, one-time free trial periods will be mandatory.

You can also contact GoDaddy Poynt to receive more information about pricing for enterprise and semi-integrated solutions.

# Can I develop for GoDaddy Poynt if I don't have a testing device?

Yes. To develop an application that runs on the Smart Terminal, you can use the PoyntOS Emulator in Android Studio (AVD), Genymotion, or a standard 7" Android tablet.

You can also build pure cloud applications that operate independently without needing a physical terminal. Cloud applications can use the Cloud APIs (opens new window) to access business (opens new window), customer (opens new window) and transaction (opens new window) data or even create webhooks (opens new window) for a variety of events.

# Do you have a sample of an Android App?

Our sample of an Android App (opens new window) is currently available on GitHub. The application demonstrates invoking a payment fragment and displaying information on the second screen.

For any additional capabilities exposed in our SDK, please visit the On-Terminal Apps section.

# How do I use the Cloud APIs?

Our Python Sample App (opens new window) demonstrates the correct usage of our Cloud APIs. For more information on using Cloud APIs please refer to Integrating with Cloud APIs.

# Can my cloud-based app communicate with my Android app installed on the terminal?

Yes. Your Cloud App can send messages to your Android App as described in our documentation. If you need to enable Refund, Void, Poynt Collect, and other permissions for your Cloud App please send us an email at devsupport@poynt.co with your App ID.

# What permissions do I need to declare in Android manifest to consume Poynt Services?

All Poynt Services are access controlled by android permissions defined in the Poynt Services Permission group (co.poynt.services.permissions). Below are the permissions that you must add to your Android Manifest file before consuming any of the Poynt Services:

  • Transaction Service: poynt.permission.TRANSACTION_SERVICE
  • Order Service: poynt.permission.ORDER_SERVICE
  • Second Screen Service: poynt.permission.SECOND_SCREEN_SERVICE
  • Receipt Printing Service: poynt.permission.RECEIPT_PRINTING_SERVICE
  • Product Catalog Service: poynt.permission.PRODUCT_SERVICE
  • Customer Service: poynt.permission.CUSTOMER_SERVICE
  • Business Service: poynt.permission.BUSINESS_SERVICE
  • Email Service: poynt.permission.EMAIL_SERVICE
  • Cash Register Service: poynt.permission.CASH_REGISTER_SERVICE

# How do I use Poynt Content Providers?

Poynt Content Providers provide a storage for various business related data including the orders and transactions, through the standard Android Content Provider interfaces. Below you'll find the data contracts (columns, and helper classes) that you can use to query data from the Poynt Content Providers. These content providers can be used to load data into various standard Android widgets directly from the data source.

Poynt OS SDK provides access to the data contracts:

  • Orders: co.poyntcontentproviders.orders.orders
  • Transactions: co.poyntcontentproviders.orders.transactions
  • Products: co.poyntcontentproviders.products.products
  • Business: co.poyntandroid.providers.BusinessContract
  • Customer: co.poyntandroid.providers.CustomerContract
  • Activity: co.poyntandroid.providers.ActivityContract

All the Poynt ContentProviders require explicit permissions to be acquired via the applications' Android Manifest during the app installation process. Below are the permissions defined in the Poynt's data permissions group (`co.poynt.permissions) that you must add to your AndroidManifest file in order to use the data:

  • Activities:
    • co.poynt.activities.ACCESS_DATA
    • co.poynt.activities.WRITE_DATA
  • Orders:
    • co.poynt.orders.ACCESS_ORDERS
    • co.poynt.orders.WRITE_ORDERS
  • Business:
    • co.poynt.business.ACCESS_BUSINESS
    • co.poynt.business.WRITE_BUSINESS
  • Customer:
    • co.poynt.customers.ACCESS_CUSTOMER
    • co.poynt.customers.WRITE_CUSTOMER
  • Products/Catalogs:
    • co.poynt.products.ACCESS_PRODUCTS
    • co.poynt.products.WRITE_PRODUCTS

# How can I install my app on the device? Which USB port do I use to connect to the computer with ADB?

You can sideload an APK using adb install <myapp.apk> or via Android Studio. The terminal needs to be connected to your computer using the micro USB port located on the right side of the merchant facing screen (below the volume keys). Note that USB ports on the dock can only be used to connect peripherals like a printer or scanner.

# Can my app have access to NFC APIs?

Currently, we do not provide direct access to NFC APIs. All NFC interactions are payment related and only accessible to the Poynt Payment service for PCI/security reasons.

# Can I see the second screen on the emulator?

In the emulator go to Device settings > Developer Options > Simulate Secondary Displays and select 720x480 mdpi option. Please keep in mind that you can't interact with the second display using the emulator.

# How can I inject test encryption keys?

Go to Settings > About > tap 10 times on Payment Firmware > click on the Initialize button.

# How can I get the currency code for the merchant/terminal is configured for?

Currency.getInstance(resources.getConfiguration().locale);. Alternatively you can look up account currency in Business.Store.currency using getBusiness API.

# How can I programmatically get device serial number?

You can get it from android.os.Build.SERIAL

# How do I unlock Developer Preferences on a developer device or emulator?

Swipe down from the top of the screen, go to Settings > About > and tap 10 times on PoyntOS Version. When you go back to the Settings screen, you will see Develeoper Preferences. (Please note that enabling Developer Preferences on a production terminal prompts for a PIN. If you really need to access Dev Prefs on a production terminal please contact Developer Support to get the PIN.)

# How do I get to Android System settings on a developer device?

You can either unlock Developer Preferences and tap on System or use this adb command adb shell am start -S com.android.settings/.Settings.

# How can my app tell if it's running on a Poynt 5 terminal?

You can use android.os.Build class to determine the type of terminal: if("Poynt-P5".equals(Build.MODEL)){ /* running on Poynt5 */}

# What endpoints does the Poynt terminal connects to? Can I get th list of IPs to whitelist on my network?

We host our services on AWS and cannot guarantee static IPs. The terminal needs to be able to connect to the following endpoints:

  • https://fouroneone.poynt.net
  • https://mothership.poynt.net
  • https://mothership-eu.poynt.net
  • https://services.poynt.net
  • https://services-eu.poynt.net
  • https://billing.poynt.net
  • https://billing-eu.poynt.net
  • https://ding2rj4jlgsl.cloudfront.net
  • wss://pcm.poynt.net
  • wss://pcm-eu.poynt.net
  • http://connectivitycheck.gstatic.com
  • http://clients3.google.com
  • https://s3-us-west-1.amazonaws.com
  • https://vt.poynt.net

# How can I check card reader configuration?

Go to Settings > Developer Preferences > Card Reader Configuration. Tap on Get Config button. You should see configuration options set for CONTACT, CONTACTLESS and MSR interfaces.

# How can I project both screens of the Poynt Smart Terminal onto my desktop/laptop screen?

You can use the following utility (opens new window).

# How can I wipe the developer terminal locally (i.e. directly from the device)?

Go to Settings > Developer Preferences (unlock Dev Prefs if needed) and tap 10 times on WARNING. Please note, this won't unlink the terminal from the business account. If you need to do that, you will have to initiate wipe from the Developer Portal.

# Does Poynt5 support BLE?

Yes.

# How can I use adb on a Poynt Smart Terminal V2 when it's docked?

USB debugging does not work on V2 when it is docked. However you can use ADB over Wi-fi. Please refer to Connect to a Device over Wi-Fi (opens new window).

# I can't use Gradle. How do I download Poynt dependencies for my project?

PoyntOS SDK and API model can be downloaded from the following locations:

  • SDK: https://nexus.poynt.com/content/repositories/releases/co/poynt/android/sdk/poynt-sdk/{version}/poynt-sdk-{version}.aar. For example, the URL to download SDK v1.2.33 is https://nexus.poynt.com/content/repositories/releases/co/poynt/android/sdk/poynt-sdk/1.2.33/poynt-sdk-1.2.33.aar
  • API model: https://nexus.poynt.com/content/repositories/releases/co/poynt/api/android-api-model/{version}/android-api-model-{version}.jar

# I uploaded the wrong APK. How can I remove it and upload the correct one?

There is no way to remove the wrong APK. If the package name of the correct APK is the same you can just increment versionCode in build.gradle and upload the correct version. If the package name of the correct APK is different you will need to create a new application.

# Can we use the Direct Card API interface to read payment cards?

No. Payment cards are encrypted by the secure module in the card reader, no application has access to the card data in clear text.

# Is there a Direct Card API code sample ready to use?

Yes, you can refer to this code sample (opens new window) for more information

Last Updated: 6/24/2022, 11:03:32 AM