FAQ

Configuration

chevron-rightWhat are public keys and private keys ?hashtag

You can create the keys using Security section, public keys are the keys that you are going to share it with us and private keys are going to be used in generating the JWT to communicate with NearPay when using any function like purchase , refund , etc.

chevron-rightWhich package name should I share ?hashtag

You need to share the package name for the Android project with the NearPay team.

chevron-rightHow can I change the environment ?hashtag

You can define the environment in Nearpay project

val nearpay = NearPay(this, jwt, Locale.getDefault(), Environments.SANDBOX)
chevron-rightWhat are the different environments ?hashtag

We have three main environments:

SandBox : where you integrate the SDK on Sandbox Environment.

Testing : we will test your app with Saudi Payment and get it approved

Production : here you can go live.

chevron-rightWhat Android version can be used with the SDK ?hashtag

You can use it with android 10 or higher.

chevron-rightWhat are the requirements to run SDK on Android ?hashtag
  • You need to have an NFC in your device.

  • You need to allow location.

Login

chevron-rightHow can I generate JWT ?hashtag

Please follow the instructions here.

chevron-rightWhat is JWT ?hashtag

JSON Web Tokens are an open, industry standard RFC 7519 method for representing claims securely between two parties.

chevron-rightHow can I get the client uuid ?hashtag

The team will send you a client uuid once we have received the public key and the android package name.

chevron-rightWhen do I need to logout ?hashtag

When the service is no longer needed .

For example when the users logout from your app , they need to logout from the SDK service as well so they can not use the service when they are logged out .

Transactions

chevron-rightWhat is reconciliation ?hashtag

Payment reconciliation is an accounting process that verifies account balances to ensure all sets of records are true, consistent, and up-to-date. Businesses can reconcile their accounts daily, weekly, or monthly.

chevron-rightWhat is a customer reference number ?hashtag

Customer reference number is a number that identifies your customer ID, so you can assign any number you want as customer reference number , also it is optional so you can leave it empty if you wish.

chevron-rightHow can I make a purchase ?hashtag

You can just call purchase and our UI will show up to make a payment.

chevron-rightHow Can i Retry a Transaction?hashtag

Retry function helps in repeating a function that might not be done due to these reasons:

  • Mobile battery died

  • Connection was lost

  • App was closed in the middle of the transaction

Retrying a function is done by passing the same transaction ID of the function executed. Each function has UUID which is unique, if the same UUID of a transaction is passed, the transaction will not be created and the receipt will be shown to indicate that the transaction exists. If a new UUID is sent, a new transaction will be created.

Local Server Concerns

Please note that the checking happens under these conditions:

  • Checking is happening locally, meaning, if the app is deleted, there's will no be any checking.

  • Retry should be done within 24 hours of creating a transactions, otherwise, there will be no checking.

chevron-rightCan I design my own receipt ?hashtag

Yes you can, we have transaction receipt here

chevron-rightHow can I disable the ui of the receipt ?hashtag

We have a feature to enable or disable the receipt ui and all our functions, just set enableReceiptUi to false .

chevron-rightWhere can I see my transactions ?hashtag

You can see all transactions in the client dashboard.

chevron-rightHow can I get the reconciliation data ?hashtag

You can get all the reconciliation data when you make a reconcile we will return all the data , you can find it in the client dashboard.

chevron-rightHow can I know the version of the payment plugin ?hashtag

Go to Settings - > Apps - > Payment Plugin -> Version

chevron-rightWhen should the developer mode be turned off?hashtag

Whenever the SDK environment is on production , if the developer mode is not off then you can not communicate with the SDK to make any transactions .

chevron-rightHow can I print the receipt ?hashtag

You can get the qr_code URL from the receipt here and print it out.

chevron-rightCan the user refund more than the paid amount in the transaction?hashtag

No , user can not exceed the paid amount .

chevron-rightCan the user issue more than one refund per transaction?hashtag

Multiple refunds is possible as long as it doesn’t exceed the paid amount

chevron-rightWhat's the difference between Refund and Reverse hashtag

Refund , can be done at anytime , you can also do partial refund and you can do it more than once .

Reversals , can be done only after the purchase, within 60 seconds , and the whole amount will be reversed .

TRSMs and Terminals

chevron-rightHow can I create terminals?hashtag

In the Client Dashboard, go to the TRSMs page and create a new one then create a new merchant, now you can go to terminals and create new terminals.

chevron-rightCan I connect one terminal to two devices at the same time?hashtag

No, only one terminal can be connected to one device at the same time.

chevron-rightHow do I assign a terminal to my merchant?hashtag

Your backend can return JSON Web Token based on user , so every token will contain a different terminal id . For more information , you can see how the JWT can be generated here.

For example , every user in your app will have a terminal id linked to that user , so when the user login to your app , your backend will send JWT for that user to login to our SoftPOS SDK.

chevron-rightWhat are TRSMs?hashtag

Please see dashboard manual.

chevron-rightWhere do I get TRSMs from? hashtag

Please see dashboard manual.

chevron-rightHow do I add TRSMs to dashboard? hashtag

Please see dashboard manual.

chevron-rightWhat are terminals ?hashtag

Please see dashboard manual.

Last updated