mO SharemO Share

We’re excited to announce that the latest information is now available on our new site, the Ginesys One Wiki!. Visit the site for up-to-date resources and insights. We look forward to continuing to support you there!

How to accept payment in POS with Paytm

Purpose:

The purpose of the this document is to help the person to configure and deploy the POS payment through Paytm with respect to different types of payment devices - UPI, QR-code and Credit and Debit Cards. The complexities of configuring the various MOPs in different POS, gave birth to POS Plugin Manager, which allows centralized the configuration and synchronization process with respect to MOP (Mode of Payment). The aim is to make life easy for the people responsible to perform the POS billing by Paytm. 

POS-Plugin Management

Following are the steps to be followed in sequence to manage the entire process for configuring the POS Plugin:

Step #A: Configuring Plug-in Manager in Ginesys ERP user interface

Step #B: MoP (Mode of Payment) configuration in Ginesys ERP user interface

Step #C: Data Synchronization based on site from ERP to POS

Step #D: Pulling/syncing down the required configuration from ERP via Data Exchange in the POS system

Step #E: Update the latest POS Plugin using the AutoUpdater

Step #F: Logout and login into the POS application

Step #G: Test whether payment is being possible from POS using the configured MOP

All the above mentioned steps are described with the screenshots for easy reference, in this document.

 Assumption

  • The plugin will be installed in Ginesys POS Server.

  • Ginesys HO version availability (minimum v12.5.1). Recommendation is to have the latest available version.

  • POS version availability (minimum v2.5.1). Recommendation is to have the latest available version.

  • Any URL that Paytm provides will be whitelisted.

Explanation of the entire process

This section will be of a great help to the users who are expected to perform the configuration and deployment. The user of this document needs to expand each of the following steps in the sequence given:

 Step #A: Configuring Plug-in Manager in Ginesys ERP user interface
  1. Create the app.config file for EDC and DQR from the samples given. 

     EDC - 
    1. PAYTM EDC PRE-REQUISITE/CHECKLIST

      Prior configuring/deploying the Auto-POS Plugin for Paytm EDC make sure that the following are in place:

      • Value for paytmMid attribute (get this from Paytm)

      • Value for MerchantKey attribute (get this from Paytm)

      • Value for TerminalId attribute (this is your store/site specific POS terminal ID)

      • Value for paytmTid attribute (this is EDC device specific)

      • Ledger name (Brand needs to have this in place)

      • Make sure that the integration mode of EDC device is on, otherwise the payment request coming in EDC device will not be visible. To know how to switch on the integration mode, take help from your device provider.


    2. The sample content of the app.config file for Paytm EDC (Wired or Wireless) type of device would be :

      1. Sample content of the app.config file for Paytm EDC devices

        {
        "SecurityParams":
          {

                "paytmMid":"Ginesy49351225278373",
                "mid":"Ginesy32227035366627",
                "MerchantKey":"pHN1ry%46!Hnqi1K",
                "businessType":"UPI_QR_CODE",
                "displayName":"GSL - PAYTM",
                "posId":"S1234_P1235",
                "PaymentProcess": 1
        },

        "APIParams":
          {

        "EDCDeviceAPICheckPaymentStatusURL":"https://securegw-edc.paytm.in/ecr/payment/status,
        "EDCDeviceAPITransactionURL":"https://securegw-edc.paytm.in/ecr/payment/request",
        "DynamicQRCodeGenerationURL":"https://securegw.paytm.in/paymentservices/qr/create",
        "DynamicQRCodeCheckPaymentStatusURL":"https://securegw.paytm.in/v3/order/status",
        "UPIPaymentRequestURL":"https://securegw.paytm.in/order/sendpaymentrequest",
        "checkUPIPaymentRequestURL":"https://securegw.paytm.in/v3/order/status"
        },
        "TidMap":
        [
        {
        "TerminalId":9 ,
        "paytmTid":"70000250"
        },

        ]
        }

      1. Important - Checklist

        • Make sure that the URLs are not getting blocked by the firewall.
        • The app.config will be same for every applicable site. Only Terminal id and paytmTid will vary.

      Click the following link to download this sample file: paytm-edc-app.config 
       



    Attribute Description:

    ATTRIBUTESDESCRIPTIONS
    paytmMid

    This is the Merchant Id for EDC devices for both API call and wired integration. This will be provided by Paytm.

    mid

    This is the Merchant Id for DQR and UPI payment request. This will be provided by Paytm.
    MerchantKey

    This is the merchant key. It is a mandatory parameter for initiating a payment request for EDC API call and DQR. This will be provided by Paytm.

    The merchant key will be according to PaymentProcess value :

    • If it is 0 then the merchant key will be for EDC API call.
    • If it is 2 or 3 then it will be for DQR or UPI call. 
    businessType

    This is the type of QR code to be created. This is provided in the Paytm QR Document provided by Paytm.

    It has to be as identical as mentioned in that document.

    displayName

    Display name for QR code. This is provided in the Paytm QR Document provided by Paytm.

    It has to be as identical as mentioned in that document.

    posId

    This is to identify the POS. This is provided in the Paytm QR Document provided by Paytm.

    It has to be as identical as mentioned in that document.

    PaymentProcess

    The value of PaymentProcess would vary as per the payment request from client:

    • 0 for EDC API call
    • 1 for EDC wired integration
    • 2 for DQR payment
    • 3 for UPI payment request
    EDCDeviceAPICheckPaymentStatusURL

    This URL is to check EDC payment status for API call. This will be provided by Paytm.

    EDCDeviceAPITransactionURL

    This URL is for EDC  payment request API call. This will be provided by Paytm.

    DynamicQRCodeGenerationURL

    This URL is for creating DQR payment request. This will be provided by Paytm.
    DynamicQRCodeCheckPaymentStatusURL

    This URL is to check the status for EDC payment request. This will be provided by Paytm.

    UPIPaymentRequestURLThis URL is for creating UPI  payment request. Provided by Paytm.
    checkUPIPaymentRequestURLThis URL is for checking payment status of UPI payment request. Provided by Paytm.

    TidMap

    This is necessary for mapping POS terminal ID with the respective EDC device ID. 

     How to find the value for the TerminalId attribute in the TidMap section?
    • Connect to the POS server system
    • Login to POS with the valid user credential.
    • On successful login, the following screen will appear:



    • From the tree panel, select the POS Terminal option (2nd option from the bottom).
    • The following screen will appear:



    • In the right-hand panel, the first column is showing the Terminal name and the column beside is showing the corresponding TerminalId.

      Example: The TerminalId for the terminal called USER-PC is 4.
      Follow the above steps and find the TerminalId
    TerminalIdThis is for POS terminal ID. It should be provided by the merchant.
    paytmTid

    This is the EDC device ID required for EDC API calls. This will also be provided by Paytm.

     DQR

    PAYTM DQR PRE-REQUISITE/CHECKLIST
    Prior configuring/deploying the Auto-POS Plugin for Paytm DQR, make sure that the following are in place:

    1. Value for mid attribute (get this from Paytm)

    2. Value for MerchantKey attribute (get this from Paytm)

    The sample content of the app.config file for Paytm DQR (Wired) type of device would be :

    Sample content of the app.config file for Paytm DQR devices

    {
    "SecurityParams":
    {
               "mid":"HELLO76924163757064",
               "MerchantKey":"_37abcXYzX9frpIp",
               "businessType":"UPI_QR_CODE",
               "displayName":"GSL - PAYTM",
               "posId":"A4321_B1234"
    },

    "APIParams":
    {
        "DynamicQRCodeGenerationURL":"https://securegw.paytm.in/paymentservices/qr/create",
        "DynamicQRCodeCheckPaymentStatusURL":"https://securegw.paytm.in/v3/order/status",
    }

    }

    Click the following link to download this sample file:


    Attribute Description:

  2. Under the Setup tab, click on the Plugin Manager under Configure section.

     

  3. Click on Add to start configuring a new Plugin Manager.




    1.  



  4. Under the General tab enter the following for the required fields. The name of the Plugin Short Code is a sample name only. In real deployment, Plugin Short Code needs to be provided by Ginesys and the same needs to be set for the Plugin Short Code -

    1. Values for various modes of Paytm Plugin Short Code - 

      1. Paytm Plugin Short Code for UPI - PaytmEDC

      2. Paytm Plugin Short Code for DQR - Paytm

      3. Paytm Plugin Short Code for CC/DC - PaytmEDC

    2. Plugin Vendor - EaseMyRetail

    3. Plugin Type - ProcessPOSPayment
    4. Plugin Assembly Name EDC - GinesysPaytmIntg
      Plugin Assembly Name DQR - GinesysPaytmDQRIntg
    5. Target Config File name - app
      1. Target Config File Name: This is the original configuration file name as required by the plugin dll. This will always be app.configFile name in the field should be given without extension. The file will be same for all sites where this payment mode is applicable, only the terminal ids will vary.

  5. Do the Hook Mapping. 

    1. EDC - Hook Mapping  

    2. Note: Copy-Paste the following values (to avoid typo) for the respective fields:
      Hook Type : POS_PAY_PROCESS
      Class Name : PaymentProcessor 
      Method Name : ProcessPayment 

  6. Move to the Config Files tab to specify the config file name.
    1. Click on the Add Row button to add a new row.  By clicking on the Add Row button, multiple configuration files can be added one after another. However any one can be marked as “Is Default”.
    2. Scroll to the right to find the Browse button for the newly added row.



    3. Enable the Is Default option.



    4. Click on the Browse button.

       

    5. Select the config file called app.config 

       

      It would be critical/important to select the proper app.config file and the basis would be which payment device is in use for taking the payment. Devices can be of two types - DQR and EDC. DQR is available in wired mode only. However, EDC devices are available in wired as well as wireless mode.

    6. Click on the Upload button and then click on the OK button.

       

  7. Assign the site in the Site Allocation tab. The process is similar to how the site has been moved from the list of Available Site to the list of Assigned Site section by clicking the right arrow.

     In the “Site Allocation” tab and under the “Assigned Sites” list, the site against which the “Config File” column is blank for that the default configuration file (the one which has been selected for “Is Default”) will be considered. But if for an allocated site, the “Config File” column has a file name, that specific configuration file would be considered.

  8. Click on the save and close button at the top to save the Plugin Manager configuration.



     

  9. The configured Plugin Manager will now appear in the list of configured plugin managers.

    Plugin Manager configuration is now completed.

 Step #B: MoP (Mode of Payment) configuration in Ginesys ERP user interface
  1. Select the module called POS Manager.
    1. Select “Setup” tab.
    2. Select “Mode of Payment” option under the “Configuration” section.

       

  2. To add the new MoP, click on the “Add” button. 



  3. Mode of Payment is the selected tab by default. Specify the name of the MoP and it’s short code (maximum length: 5)

    1.  

    2.  

  4. Select mode as Credit Card.





  5. Select “Paytm” as third party POS Plugin name.



    This is the one we have configured earlier.

  6. Move to the “Site Allocation” tab.



  7. Select a site from the list of Available Sites. 
  8. Move the highlighted site from left to right by clicking the right (->) arrow.



    The selected site would now appear in the Assigned sites list.



    Now, scroll to the right, double click under the Ledger and select Credit Card from the list.


    The ledger name should have been decided and configured in Ginesys ERP by the brand. Here only Credit Card has to selected. For the brand, in all probability, it would be different.

    If a Sub Ledger is associated with the Ledger, then the Sub Ledger should also be selected for successful configuration.



  9. Save the MoP.



  10. It will now try to save the configuration and displays the following while operation is in progress.



  11. Once the newly configured MoP is saved it would appear in the list of configured MoPs.




    This step (#B) is a one-time activity to be performed in majority of the cases.


    MoP configuration is now completed.

 Step #C: Data Synchronization based on site from ERP to POS
  1. Click on the following shortcut to open the Ginesys Launchpad desktop application.

     

    The following screen will appear:



  2. Select the System Utilities option from the left panel.



  3. Click on the Data Sync option from the right panel and then click on Yes in the User Account Control dialog.



  4. Login to the Data synchronization application.



  5. The Data Exchange Dashboard will appear in the Data Sync window. Click on the SYNC All button.



  6. It will start syncing the configuration immediately.



  7. Click on the Close button once you see the following lines:
    • Data Exchange routine completed.

    • Sync process completed, flushing buffer.


    Make sure to run through this step (#C) every time you make changes in the app.config file.

    Data Synchronization based on site from HO to POS is completed.


 

 Step #D: Pulling/syncing down the required configuration from ERP via Data Exchange in the POS system
  1. Log into the POS system as an admin (right click on the POS icon and select Run as administrator).



  2. The User Account Control dialog will open. Click on Yes.



  3. Ginesys POS login screen will appear. Enter the login credential (username and password) and click on the Login button.



  4. On successful login, the GINESYS POS screen will appear.

     

    The title bar is showing the same site name which has been assigned earlier while configuring the MoP and POS Plugin.

  5. From the left panel select Data Exchange in the tree. 




  6. Click on the SYNC button in the lower right corner. The sync process will start immediately.

     

  7. Close the window when you see the following two lines:

    • Data Exchange routine completed.

    • Sync process completed, flushing buffer.

     

  8. Close the Synchronizing Data window.


    On successful syncing, the required configuration files would now be in the POS system.

 Step #E: Update the latest POS Plugin using the AutoUpdater

1.Login to the POS system using the valid user credential.

2. Open the AutoUpdate application.



3. The Auto Update screen will appear. Move to the Update Plugin tab.



4. Click on the Download button to download the latest updates in the POS system.



5. The latest POS Plugin is now downloaded successfully in the POS system and is visible in the list.



6. Click on the Close button to exit from the Auto Update application.

 Step #F: Logout and login into the POS application

Verify the following:

  1. Go to the folder where you have the POS application configuration file called NPOS.exe.config.

  2. Open the file in notepad and check if it has the following section -

    <runtime>
    <loadFromRemoteSources enabled="true"/>
    </runtime>

  3. If it is already there, close the file. If it is not there, copy and paste the above <runtime</runtime> section after the </Startup> tag.

  4. Logout and re-login


The above step is important as the latest downloaded POS Plugin would come into effect only from next POS session.

 Step #G: Test whether payment is being possible from POS using the configured MOP

All the required configuration, data syncing and data exchanges are done by now. So, it’s time to test and verify whether the newly configured MoP called CC MoP is appearing while taking the payment using credit card in the POS counter.

  1. Open the POS application by double clicking on the following POS icon .
  2. Ginesys POS login screen will appear. Enter the login credential (username and password) and click on the Login button.



  3. On successful login, the GINESYS POS screen will appear. Click on the Application Control button.



  4. The following options will appear:
    1. Click on the POS button.
    2. The following screen will appear:


      1. Scan or Type the item-id. Enter a valid item barcode in the Scan field and press Enter. The item detail will appear in the right panel.
      2. It’s time to tag the customer now. Click on the Search Customer option under the POS Taskpad section in the left.
      3. The Search Customer dialog will appear. In the above Search Customer dialog do the following:
        1. For customer search enter membership number or mobile number or name.
        2. Click on the Search button.
        3. The searched customer will appear in the panel below. Tag the customer by clicking the Tag button in the button panel at the bottom.
    3. Hit the Payment button.
    4. The Accept Payments window will appear.



    5. Under the Payment Mode, all the different modes of payment will appear.
    6. Scroll down to check if the configured MoP called Paytm EDC is there in this list.

      Name of MOP

      Although in our example it is Paytm EDC, the user may use any name in the MOP master.

    7. If it is appearing then the MOP configuration has been done correctly and the syncing has also been done in a proper way.
  5. Make sure that the payment device is connected with the system in the POS counter. Either Wired or Wireless. 
  6. Make the payment through Paytm EDC MOP.
  7. Press enter to proceed with the payment.



  8. An information box appears with the message - Send payment request for Paytm.
  9. Click on the Send Payment Request button to proceed further.
  10. A message appears - Payment request successfully sent to customer.

     

  11. Transaction Request for the net bill amount is generated in the connected EDC. You can either Accept or Decline.

     

  12. Once accepted, it asks you to swipe your credit or debit card.



  13. Swipe the card.



  14. It asks for the pin.



  15. Provide the pin.



  16. The payment gets loaded.

     

  17. After the Payment is successful message is shown in the EDC screen.



  18. Print the bill



  19. The EDC returns to its original state.

     

  20. The Check Payment Status button is enabled in the main screen. Click it.



  21. Then the Your payment is successful message is shown.



  22. The payment process for this transaction is complete and successful.




With all the above steps done successfully, the configuration and testing can now be considered completed.