PayDala Terminal

Overview

PayDala Terminal is payment method to perform purchases via PayDala kiosks by cash.

Download the logo in vector format here.

Payment method type Payment kiosks
Countries and regions Kazakhstan
Payment currencies KZT
Currency conversion On the provider side
Purchases
Payouts
COF payments
Full refunds
Partial refunds
Chargebacks
Notes
Onboarding and access fee Refer to your key account manager at JetPay

Interaction diagram

Payment processing by using the PayDala Terminal payment method requires merchant's web service, the Gate interface, and the JetPay payment platform, as well as PayDala service.

Operations support

  Interfaces Amounts, KZT Times
Payment Page CMS Plug-ins Gate Dashboard minimum maximum basic threshold
Purchases 1 minute 36 days

You can check the payment amount limits in your project by using Dashboard. To check your payment amount limits, go to Dashboard, select the Projects section and click the Payment methods tab.

Processing scenarios

In the PayDala Terminal method, to top up an account your customer needs to initiate the top up operation through one of the PayDala payment kiosks.

Figure: Topping up an account



The sections that follow provide more information about what you need to perform payments and how you can analyze payments and operations information.

Topping up an account

General information

In the PayDala Terminal method, the merchant web service is required to do the following when processing account deposits:

  1. Accept and process the request from JetPay. The processing includes the verification whether the customer account exists.
  2. Send the response with the information whether the customer account exists.
  3. Accept and process the request for the transaction ID on the web service side.
  4. Send the response with the transaction ID to the payment platform.
  5. Accept the callback with the top up result from the payment platform.

The following diagram provides the detailed picture on how the account depositing procedure is performed.



Figure: Topping up an account

  1. The customer selects a web service, the personal account in which he wants to replenish, and then enters the required data.
  2. The PayDala service sends a request for checking customer account existence to the JetPay payment platform.
  3. The payment platform processes the request.
  4. The payment platform forwards the request to the web service.
  5. The web service processes the request.
  6. The web service returns the response to the payment platform.
  7. The payment platform sends customer account data to the PayDala service.
  8. The customer completes all the steps required to top up the account.
  9. The PayDala service submits a request to top up the account to the JetPay payment platform.
  10. The payment platform processes the request.
  11. The payment platform sends a request for the payment ID within the web service side to the web service.
  12. The web service processes the request.
  13. The web service returns the payment ID to the payment platform.
  14. The payment platform sends the callback with the account top up operation result to the web service.
  15. The payment platform sends the notification with the account top up result to the PayDala service.
  16. The customer receives the result of the account top up on the screen of the payment kiosk.

The sections that follow discuss in more details the request format when using Gate and the format of the callbacks with account top up results. For the general information on how to use the Gate API, see API Description.

Request format

Request for verifying the existence of the account

There are several things you must consider when using requests for checking account existence in the PayDala Terminal method:

  1. To verify the existence of the customer account, the payment platform sends the verify request to the web service URL using the HTTP method POST.
  2. The request has the following parameters:
    • type—the operation type on the web service side (always verify)
    • customer_id—customer account name on the web service side. Customer enters this account name on the screen of the payment kiosk.
    • project_id—the project ID you obtained from JetPay
    • signature—signature created after you specify all the required parameters (for more information about signature generation, see Signature generation and verification)

    Figure: Example of data from a request for checking account existence

    {
        "type": "verify",
        "project_id": 1234,
        "customer_id": "7123456789",
        "signature": "e19695449545fac562843ca06e7e0f3e51281ad6"
    }
  3. You need to send the response to the verify request synchronously. The response must contain the following parameters:
    • code—the response code
    • currency—the code of the purchase currency in the ISO-4217 alpha-3 format, required if the response code is 0
    Table 1. Allowed response codes
    Code Description
    0 Success
    400 Signature error
    404 The customer account does not exist
    500 General error, the reason must be specified in the message parameter

    Your response can contain the following additional parameters:

    • additional_customer_id—the unique customer ID used for the customer identification in the JetPay payment platform
    • message—the free-form description of the response code

    If the existence account verification is successful, the response should contain the 0 response code to the request and the currency code.

    Figure: Example of a successful response

    {
        "code": 0,
        "currency": "KZT",
        "additional_customer_id": "customer_123"
    }

    If the request cannot be processed or the requested account is not found, the response should contain the 404 response code and the error description in the message parameter.

    Figure: Example of the request response with an error

    { 
        "code": 404,
        "message": "Account does not exist"
    }
Request for the transaction ID

There are several things you need to consider when dealing with requests for the transaction ID:

  1. The payment platform sends the check_deposit request for the transaction ID on the web service side to the web service URL using HTTP method POST.
  2. The request contains the following required parameters:
    • type—the operation type on the web service side (always check_deposit)
    • project_id—the project ID you obtained from JetPay
    • customer_id—customer account ID within the web service
    • amount—purchase amount in minor currency units without any decimal point or comma except for cases where the currency does not have any minor currency units. If the currency has no minor units (that is, the number of digits for minor currency units is zero), then you must set this parameter to the amount in the major currency units. For the information on whether the currency has any minor units, see Currency codes.
    • currency—code of purchase currency in the ISO-4217 alpha-3 format
    • payment_method—payment method name, set to terminal/paydala at all times
    • signature—signature created after you specify all the required parameters (for more information about signature generation, see Signature generation and verification)

    Figure: Example of the request for the transaction ID on the web service side

    {
        "type": "check_deposit",
        "project_id": 1234,
        "customer_id": "7123456789",
        "amount": 100000,
        "currency": "KZT",
        "payment_method": "terminal/paydala",
        "signature": "lY0LTSAzpR7...dOqRXJnL1kO0lUmkQ0YYLWRg=="
    }
  3. You must respond to the check_deposit request synchronously. The response must contain the following parameters:
    • code—the response code
    • payment_id—the payment ID unique in the web service, required if the response code is 0
    Table 2. Applicable response codes
    Code Description
    0 Success
    400 Signature error
    404 The customer account does not exist
    500 General error, the reason must be specified in the message parameter

    Your response can have the following additional parameters:

    • message—the free-form description of the response code
    • description—the description of the payment

    The response to the request for the transaction ID on the web service side must contain the response code and the unique transaction ID within the web service.

    Figure: Example of the response with the transaction ID

    {
        "code": 0,
        "payment_id": "payment_47",
        "description": "Success"
    }

    If the transaction ID cannot be found, the response must contain the response code and the error description in the message parameter.

    Figure: Example of the response with the information about an error

    {
        "code": 500,
        "message": "Something went wrong"
    }

Callback format

The PayDala Terminal method uses the standard format for callbacks to deliver purchase results. For more information about callbacks, see Callbacks in Gate.

The following is an example of a callback with the information about a successful 1000.00 KZT purchase.

Figure: Example of a successful purchase callback

{
    "project_id": 1234,
    "payment": {
        "id": "payment_47",
        "type": "purchase",
        "status": "success",
        "date": "2022-03-25T11:08:45+0000",
        "method": "paydala",
        "sum": {
            "amount": 100000,
            "currency": "KZT"
        },
        "description": ""
    },
    "account": {
        "number": "7123456789"
    },
    "operation": {
        "id": 28,
        "type": "sale",
        "status": "success",
        "date": "2022-03-25T11:08:45+0000",
        "created_date": "2022-03-25T11:08:05+0000",
        "request_id": "9e32835fb27907e0b08569d7d150e387a16a80e336c5117242b5cf60a4e17839",
        "sum_initial": {
            "amount": 100000,
            "currency": "KZT"
        },
        "sum_converted": {
            "amount": 100000,
            "currency": "KZT"
        },
        "code": "0",
        "message": "Success",
        "provider": {
            "id": 12345,
            "payment_id": "123abc123-321",
            "auth_code": ""
        }
    },
    "signature": "U7HQO7ToISZhMPKdM4Xr4DSX2UuHp99rHrtaxkUKQtoYzFvoB3cs9CRd4xeYG2Q=="
}

Related topics

The following topics might be useful when implementing payments through Gate:

Analysis of payments results

As with other payment methods JetPay offers, when using this method, you have several options to analyze the information about payments and operations.

You can load and analyze all the necessary information in Dashboard (dashboard.jetpay.kz), for instance you can use the analytic panels in the Analytics section for this purpose.

Also, you can export the information for further analysis by using third party analytical tools. The following options are available:

  • Dashboard allows you to download reports in CSV format by using the tools in the Reports section. You can perform export as a one-time or regular download of data to your local computer.
  • Data API allows you to have payment information exported in JSON format and delivered to a URL you specify. The payment information is exported by means of sending requests to the /operations/get endpoint.

If you have any further questions regarding payment data analysis, contact JetPay technical support.