It is well known that fast and secure payment for goods or services is one of the priorities of every company. That is why it is necessary to enable your client to make the payment in the simplest possible way.

However, the advent of CLOUD services (such as ERPAG) has created a problem with accessing POS terminals on client computers. This happens because the browser denies access to local computer resources for security reasons.

Fortunately, there are a number of services on the market that allow online payment. One of the services that stood out in terms of quality, safety, speed of work, ease of use and speed of implementation is certainly Stripe.

Recently, Stripe has enabled the use of POS terminals (hardware billing device) for cloud based services. ERPAG has the ability to record a payment via POS terminals using the Stripe Terminal API (Application programming interface).

In the billing or processing process, ERPAG does not record any credit card data. It is using the Stripe Terminal API to create a payment request and receives only a temporary token from the Stripe service. Which means that credit card data does not even reach ERPA. Therefore the security of sensitive data is at the highest possible level.

The picture shows a general workflow. You can see how and where information travels from the moment the initial payment request is created to the moment the money arrives to your Stripe account.

Stripe Terminal and ERPAG flow chart

Preparing and adjusting the Stripe

The first step to a successful connection is to download the API keys from the Stripe account. In browser, go to https://www.stripe.com and log in using your Stripe account. Then click on the “Developers” link > “API keys” as shown in the image.

stripe api keys

Download the “Publishable key” and “Secret key” data to enter later in ERPAG.


If you haven’t already, you need to order a Verifone P400 from Stripe. You can later use it from ERPAG. Currently Stripe only offers the Verifone P400, which allows you to work with web applications).

The process of ordering and setting up the device is done through the Stripe dashboard. You can find detailed instructions at https://stripe.com/docs/terminal/readers.

stripe readers

After receiving the device, you need to register it through the Stripe dashboard. You can find instructions at https://stripe.com/docs/terminal/readers/connecting/verifone-p400.

Preparing and adjusting ERPAG

In order for ERPAG to communicate with your Stripe account, it is necessary to enter the previously obtained API keys in ERPAG. Log into ERPAG using your ERPAG account and activate the “Stripe” option from the “Administration” menu.

erpag admin panel

The next step is to enter your API keys and select a Credit Card reader.

After entering, be sure to check the validity by clicking the VERIFY button and finally save the changes.

Payment

Payment in ERPAG is enabled through POS both on desktop and mobile app versions.


In the desktop version, enter the total amount of the payment by credit card. Then click on the + sign in the Credit Card section and select the Verifone P400 option.

erpag pos credit card

To record a payment through the ERPAG mobile application, you need to click on the card sign in the upper right corner. And then select the Verifone P400 option.

erpag pos mobile app

After activating the Verifone P400 option, ERPAG contacts the Stripe API to check the availability of the terminal. Stripe checks to see if your terminal is available and, if available, returns to ERPAG information about the temporary token that ERPAG will use to complete your transaction.

The customer can previously insert a credit card into the reader. If the transaction needs to be authorized with a PIN code. Or, during the billing process an appropriate message will appear on your terminal. It will tell you when the customer should insert or place the card onto the terminal.

As long as the billing process takes place, ERPAG waits for feedback from Stripe that the transaction is successful. The process itself is accompanied by a corresponding message on the screen. And only then closes the receipt and allows its printing. In case the transaction is not successful, the screen will display a message received by ERPAG from Stripe with the corresponding error code (for example ‘expired_card’, ‘insufficient_fund’, ‘stolen_card’, etc.).

Details on payment processing errors can be found at the following link: https://stripe.com/docs/declines/codes

Working with the Stripe terminal troubleshooting

While working with the terminal, there is a possibility that the device will be temporarily unavailable. This can happen due to various reasons (loss of power, loss of internet connection, blocking of the device, etc.). ERPAG does not communicate directly with the terminal itself, but receives information exclusively from the Stripe service. ERPAG will display the current status received from Stripe for the entire time it waits for the transaction to be processed.

The transaction process itself should not take longer than a few seconds to a minute. In case the process takes longer than a few minutes, there is a possibility that the transaction is not completed. So you will only be able to manually check the transaction success through the Stripe Dashboard.

If you have any other technical problem with using the terminal, contact Stripe Technical Support. Or, check the documentation at the following links:

https://stripe.com/docs/terminal

https://stripe.com/docs/terminal/readers/verifone-p400

https://stripe.com/docs/terminal/readers/verifone-p400#troubleshooting