How do I board net-m Privatbank merchants via the API?

Your goal is to use the Platform API to create a merchant that can process payments via Privatbank.

This guide shows you how to create a merchant based on the 'VP Number' and the 'Terminal ID' that Privatbank has provided to you.
It further explains how to assign a reader to the merchant and how to generate a merchant secret key for the new merchant.

1. Create a Merchant with net-m Privatbank as the processing path

post /v2/merchants/ Try it out! Request
{
  "processingPaths": [
    {
      "currencies": [
        "EUR"
      ],
      "schemes": [
        "VISA",
        "MASTER",
        "MAESTRO",
        "VISAELECTRON"
      ],
      "details": {
        "institute": "NET_M_PRIVATBANK",
        "terminalIds": [
          "71E29108"
        ],
        "vuNummers": [
          {
            "schemes": [
              "MASTER"
            ],
            "vuNummer": "153442414"
          },
          {
            "schemes": [
              "MAESTRO"
            ],
            "vuNummer": "153442414"
          },
          {
            "schemes": [
              "VISA","VISAELECTRON"
            ],
            "vuNummer": "153442414"
          }
        ]
      },
      "name": "Privatbank EUR"
    }
  ],
  "readers": [],
  "name": "Test Merchant #42"
}

Please provide those parameters:

$.processingPaths.currencies
Provide the Currency you want to process payments in. Usually it's EUR.
$.processingPaths.details.terminalIds
Provide all Terminal IDs that Privatbank activated for you. You can use as many active readers at the same time as you have specified Terminal IDs here, i.e. each active reader needs one Terminal ID.
$.processingPaths.details.vuNummers
Provide the VP Number for all schemes. The VP Number you receive from Privatbank is valid for all schemes.
$.name
Make sure to specify a unique name for each merchant that you create on the platform.
$.processingPaths.name
We recommend to always use "Privatbank" and the currency for this name.

You will receive a merchantIdentifier after successfully creating the merchant:

Response
{
    "status": "ok",
    "data": {
    	/*...*/
        "identifier": "74b47dcd-45b0-4c65-a4d1-afd4aae32708",
        "name": "Test Merchant #42"
		/*...*/
    }
}

2. Find the reader you want to assign to the merchant

The platform keeps track of all the readers that you have purchased. In order to assign a reader to the new merchant you have created in Step 1, you must know its readerIdentifier. Use this API to find the readerIdentifier of a reader based on its serial number (e.g. 999-100001):

get /v2/readers/?serialNo=999-100001 Try it out! Request

You will receive the readerIdentifier in the response:

Response
{
    "status": "ok",
    "data": [{
    	/*...*/
        "identifier": "0665ede3-3990-4c9b-beac-77abfeda5858",
        "model": "MIURA_SHUTTLE",
        "details": {
            "serialNo": "999100001"
            /*...*/
        }
    }]
}

3. Assign the reader to new merchant

Based on the merchantIdentifier from Step 1 and the readerIdentifier from Step 2, you can now assign the reader to the merchant:

put /v2/merchants/{merchantIdentifier}/readers/{readerIdentifier} Try it out! Request

4. Generate the Merchant Secret Key

You can also generate a Merchant Secret Key for the Merchant via the API:

post /v2/merchants/{merchantIdentifier}/secretKey Try it out! Request
{
	"permissions": ["READER_MANAGEMENT","TRANSACTIONS"]
}

You will receive the Merchant Secret Key in the response:

Response
{
    "status": "ok",
    "data": {
        "status": "ACTIVE",
        "key": "9pCcTI2mzUbLKoCdezVBowhv0b6gGwoo"
    }
}

Can we help you?

If you cannot find your answer, contact us and we'll get in touch with you soon.