Skip to main content

Use Cases

Merchant Paytool is a solution dedicated directly to online payments. This functionality does not require any type of session or user account in the Verestro System. It is a functionality that offers one-time payment e-commerce transactions, therefore it is based on a form in which the user simply enters his card details. This chapter describes the business process from the user's point of view, extended by technical elements.

Transaction process via web SDK

The transaction process in the Verestro system begins when the user selects the Merchant Paytool as a payment option. At this point, the transaction pre-initialization process takes place. The sequence diagram below shows the entire transaction process step by step. The transaction processing way described in this chapter takes place when the Customer uses the "Integrated" implementation model. For detailed information check “Implementation models” chapter.

The diagram below shows a successful transaction process:

image-1651754214083.png

For easier understanding of the process, each of the steps listed in the diagram are described below:

  1. The user which using Customer's application, selects the Merchant Paytool payment option and clicks pay.

  2. The Customer application starts the transaction process by communicating with Merchant Paytool SDK.

  3. Merchant Paytool SDK performs the transaction pre-initialization by making a request to Merchant Paytool Backend.

  4. Merchant Paytool Backend creates an entry in the system about initiating the transaction and returns the unique id (in the form of UUID) of the transaction.

  5. Merchant Paytool Backend returns transaction id to the Merchant Paytool SDK.

  6. Merchant Paytool SDK redirects the user to a form in Merchant Paytool Frontend.

  7. Merchant Paytool Frontend retrieves from the backend information about the created transaction (in point 4) using the previously obtained transaction id.

  8. Merchant Paytool Backend returns transaction details to the Merchant Paytool Frontend.

  9. The user fills in the form with card data and personal data and clicks “Confirm and Pay” button.

  10. Merchant Paytool Frontend encrypts data with JWE standard.

  11. Merchant Paytool Frontend makes a payment request (based on the previously received transaction id) to the Merchant Paytool Backend providing encrypted data collected from the user.

  12. Merchant Paytool Backend makes transaction with 3D Secure request to the Acquirer.

  13. Acquirer returns transaction with 3D Secure status.

  14. MerchantPaytool Backend provide transaction status to Merchant Paytool Frontend.

  15. Merchant Paytool Backend sends a postback about the completed transaction along with transaction status and a unique transaction id to the Customer Server (this step takes place if the Customer wants to use this option).

  16. Merchant Paytool Frontend displays transaction status to the user and redirects him to the approciate site (redirect URL provided by the Customer).

  17. Customer Server gets transaction details from Merchant Paytool Backend using transaction id (this step takes place if Customer wants to use this option).

  18. Merchant Paytool Backend returns transaction details to the Customer Server.

After the user completes the transaction, it is highly recommended that the Customer gets transaction details from Merchant Paytool Backend (as shown in point 18 of the diagram above) or listen for postbacks (as shown in point 15 of the diagram above).

Transaction process via REST API

The transaction process in the Verestro system begins when the user selects the Merchant Paytool as a payment option. At this point, the transaction pre-initialization process takes place. The sequence diagram below shows the entire transaction process step by step. The transaction processing way described in this chapter takes place when the Customer uses the "REST API" implementation model. For detailed information check “Implementation models” chapter.

The diagram below shows a successful transaction process:

image-1656585279036.png

User flow

This section describes each of the steps from end user point of view. Each of the steps is reflected in the pictures which are showing application design.

After the user selects the “payment by Merchant Paytool” option, the redirection to a separate web page happens – hosted by Verestro – where a form for card data and personal data is displayed. The picture below shows this form:

image-1651754546896.png

The user must fill in each of the fields with the appropiate data. Each parameter must meet the validation requirements, e.g. The card number must comply with the Luhn algorithm. The user must also confirm the acceptance of the terms of use. If the field's validation requirement is not met, the field is highlighted in red and the „Confirm and Pay” button remains inactive. The picture below shows a form with correctly filled data:

image-1651755384592.png


After pressing the "Confirm & Pay" button, the process of communication with the bank takes place. Upon its completion, the status of the transaction will be shown to the user. The pictures below show "success" and "fail" status view:

image-1651755895396.png

image-1651755898629.png

Regardless of the transaction status, the user is redirected to the address provided by the Customer. The user can go to this address by clicking „Return to the shop” button or simply wait for an automatic redirection.

At the each stage, the user can view the “Term of use”, “Privacy notice”, “FAQ” by clicking approciate option as shown on the screen below:

image-1651755975614.png