Skip to content

    LCM Customer Onboarding APIs

    The LCM Customer Onboarding API is used to onboard Payment Service Providers (PSPs), Token Requestor Aggregators (TRAs), and Acquirers into the LCM system

    After successful onboarding, PSPs and TRAs can:

    • Create, read, update, and delete merchant records
    • Manage merchant subscriptions for supported services and schemes
    • Inquire about card status on behalf of onboarded merchants via AAU batch files
    • Request tokenization of cards using tokenization services

    Authentication

    Before you can use the LCM Customer Onboarding APIs, your application must complete the on-boarding process.

    You will receive two sets of credentials:

    • Sandbox credentials (for test transactions)
    • Production credentials (for live transactions)

    Each set consists of a Client ID and a Client Secret. The Client Secret is confidential and must not be shared.

    To invoke this API you must obtain an OAuth 2.0 access token and send it in the HTTP Authorization header as a Bearer token.

    Important: The OAuth2 Token/Revoke endpoints are exposed by the Authorization Server (separate host) and are documented here for convenience. They are not part of the Resource Server paths in this OpenAPI document.

    OAuth 2.0

    OAuth 2.0 is the industry-standard protocol for authorization. See: RFC 6749.

    This API supports OAuth 2.0 with the confidential client type. A confidential client can keep its credentials secret when interacting with the Authorization Server.

    OAuth 2.0 defines four roles:

    1. Resource owner: Entity capable of granting access to a protected resource.
    2. Resource server: Server hosting protected resources, accepting requests using access tokens.
    3. Client: An application requesting protected resources on behalf of the resource owner.
    4. Authorization server: The server issuing access tokens to the client after successful authentication/authorization.

    At a high level, the flow is:

    1. Get an access token from the Authorization Server.
    2. Use the access token to call this API (the Resource Server).

    OAuth 2.0 uses an "authorization grant" to represent the authorization used to obtain an access token. This API supports the Client Credentials grant type.

    Authorization Server

    Token Endpoint

    POST /token

    With the Client Credentials grant type, the client requests an access token using only its own credentials. The access token returned for this API is of type Bearer.

    Clients should request the minimal necessary scope and lifetime. The Authorization Server may issue an access token with fewer rights than requested.

    Generate an access token (Client Credentials grant):

    1. Obtain a valid client_id and client_secret.
    2. Combine them as client_id:client_secret and Base64-encode the result.
    3. Call the Token Endpoint. Example:
    # NOTE: Only use -k in sandbox/test environments if TLS verification cannot be performed.
    curl -k -d "grant_type=client_credentials" \
      -H "Authorization: Basic <Base64 encoded client_id:client_secret>" \
      -H "Content-Type: application/x-www-form-urlencoded" \
      https://api-gateway2.nets.eu/token
    

    Example response (access token may be opaque, not necessarily a JWT):

    {
      "token_type": "Bearer",
      "expires_in": 2061,
      "access_token": "ca19a540f544777860e44e75f605d927"
    }
    

    Note: Per RFC 6749, the Client Credentials grant type does not issue refresh tokens.

    Revoke Endpoint

    POST /revoke

    In case of credential theft or a security incident, revoke an access token using the Revoke Endpoint.

    Parameters

    • token (required): The token to revoke.
    • Basic Authorization header (required): Authorization: Basic <Base64 encoded client_id:client_secret>
    • token_type_hint (optional): Use access_token for Client Credentials. If omitted, the server searches multiple token spaces and revocation may take longer.

    Example:

    curl -X POST \
      https://api-gateway2.nets.eu/revoke \
      -H "Authorization: Basic <Base64 encoded client_id:client_secret>" \
      -H "Content-Type: application/x-www-form-urlencoded" \
      -d "token=<token_to_be_revoked>&token_type_hint=access_token"
    

    Responses

    • Valid token - HTTP Status 200 - OK You receive an empty response with the HTTP status as 200. The following HTTP headers are returned:

      Revokedaccesstoken: a0d210c7a3de7d548e03f1986e9a5c39
      Authorizeduser: admin@carbon.super
      Revokedrefreshtoken: 5e87a8235cd4d066e15c4c989f5ecf94
      Content-Type: text/html
      Pragma: no-cache
      Cache-Control: no-store
      Date: Tue, 23 Aug 2018 19:28:52 GMT
      Transfer-Encoding: chunked
      
    • Invalid token - HTTP Status 200 - OK You still receive an empty response with the HTTP status as 200 but only the following HTTP headers are returned:

      Content-Type: text/html
      Pragma: no-cache
      Cache-Control: no-store
      Date: Tue, 23 Aug 2018 19:31:45 GMT
      Transfer-Encoding: chunked
      

      Because the authorization server cannot find the token in any key space, you will not see Revokedaccesstoken or Revokedrefreshtoken

    API Specification

    Content types

    Requests must be JSON:

    • Content-Type: application/json

    Clients SHOULD request JSON responses:

    • Accept: application/json

    Responses are JSON:

    • Content-Type: application/json

    Error codes

    Error codeDescription
    AAU-1514Invalid Request Format
    AAU-1516Invalid Request Data
    AAU-1520Generic exception

    Scroll down for code samples, example requests and responses.
    Select a language for code samples from the tabs or the mobile navigation menu.

    Providers

    Provider master data used by providers, PSPs, and acquirers.

    Onboard Provider

    POST /providers

    Creates a new provider in the LCM system.

    Parameters

    • X-Request-IDstring (uuid)required

      End-to-end request correlation identifier generated by the caller. Use a UUID to simplify troubleshooting across distributed systems.

    Request body

    • providerNamestringrequiredexample: Example Group A/S

    Request body

    {
        "providerName": "Example Group A/S"
    }

    Responses

    • 201Provider onboarded successfully.optional
      • providerIdstringrequiredexample: PROVIDER_100000
      • providerNamestringrequiredexample: Example Group A/S
    • 400Bad Requestoptional
      • errorCodestringrequired

        Error code assigned by the Service.

        example: AAU-1514
    • 401Unauthorized Erroroptional
    • 403Forbidden Erroroptional
    • 404NotFound Erroroptional
    • 409Conflict Erroroptional
    • 500Internal Erroroptional
    • 503ServiceUnavailable Erroroptional
    {
        "errorCode": "AAU-1514"
    }

    Update Provider

    PUT /providers/{providerId}

    Updates the Provider details.

    Parameters

    • X-Request-IDstring (uuid)required

      End-to-end request correlation identifier generated by the caller. Use a UUID to simplify troubleshooting across distributed systems.

    • providerIdstringrequired

      Provider ID assigned during Onboarding.

    Request body

    • providerNamestringrequiredexample: Example Group A/S

    Request body

    {
        "providerName": "Example Group A/S"
    }

    Responses

    • 200Provider updated successfully.optional
      • providerIdstringrequiredexample: PROVIDER_100000
      • providerNamestringrequiredexample: Example Group A/S
    • 400Bad Requestoptional
      • errorCodestringrequired

        Error code assigned by the Service.

        example: AAU-1514
    • 401Unauthorized Erroroptional
    • 403Forbidden Erroroptional
    • 404NotFound Erroroptional
    • 409Conflict Erroroptional
    • 500Internal Erroroptional
    • 503ServiceUnavailable Erroroptional
    {
        "errorCode": "AAU-1514"
    }

    Get Provider

    GET /providers/{providerId}

    Returns provider details for the provided Provider ID.

    Parameters

    • X-Request-IDstring (uuid)required

      End-to-end request correlation identifier generated by the caller. Use a UUID to simplify troubleshooting across distributed systems.

    • providerIdstringrequired

      Provider ID assigned during Onboarding.

    Responses

    • 200Provider details fetched successfully.optional
      • providerIdstringrequiredexample: PROVIDER_100000
      • providerNamestringrequiredexample: Example Group A/S
    • 400Bad Requestoptional
      • errorCodestringrequired

        Error code assigned by the Service.

        example: AAU-1514
    • 401Unauthorized Erroroptional
    • 403Forbidden Erroroptional
    • 404NotFound Erroroptional
    • 409Conflict Erroroptional
    • 500Internal Erroroptional
    • 503ServiceUnavailable Erroroptional
    {
        "errorCode": "AAU-1514"
    }

    PSP

    PSP master data used by Providers.

    Onboard PSP under provider

    POST /providers/{providerId}/psps

    Creates a new PSP under the specified provider.

    Parameters

    • X-Request-IDstring (uuid)required

      End-to-end request correlation identifier generated by the caller. Use a UUID to simplify troubleshooting across distributed systems.

    • providerIdstringrequired

      Provider ID assigned during Onboarding.

    Request body

    • pspNamestringrequiredexample: Example Group A/S
    • acknowledgeTypestringoptional

      M, S

      example: M

    Request body

    {
        "pspName": "Example Group A/S",
        "acknowledgeType": "M"
    }

    Responses

    • 201PSP created successfully.optional
      • pspIdstringrequiredexample: PSP_300001
      • pspNamestringrequiredexample: Example Group A/S
      • providerIdstringoptionalexample: PROVIDER_100000
      • acknowledgeTypestringoptional

        M, S

        example: M
    • 400Bad Requestoptional
      • errorCodestringrequired

        Error code assigned by the Service.

        example: AAU-1514
    • 401Unauthorized Erroroptional
    • 403Forbidden Erroroptional
    • 404NotFound Erroroptional
    • 409Conflict Erroroptional
    • 500Internal Erroroptional
    • 503ServiceUnavailable Erroroptional
    {
        "errorCode": "AAU-1514"
    }

    List PSPs for a Provider

    GET /providers/{providerId}/psps

    Returns all PSPs onboarded under the specified provider.

    Parameters

    • X-Request-IDstring (uuid)required

      End-to-end request correlation identifier generated by the caller. Use a UUID to simplify troubleshooting across distributed systems.

    • providerIdstringrequired

      Provider ID assigned during Onboarding.

    Responses

    • 200Successful Operation.optional
      • pspsarrayrequired
        • pspIdstringrequiredexample: PSP_300001
        • pspNamestringrequiredexample: Example Group A/S
        • providerIdstringoptionalexample: PROVIDER_100000
        • acknowledgeTypestringoptional

          M, S

          example: M
    • 400Bad Requestoptional
      • errorCodestringrequired

        Error code assigned by the Service.

        example: AAU-1514
    • 401Unauthorizedoptional
    • 403Forbiddenoptional
    • 404Not Foundoptional
    {
        "errorCode": "AAU-1514"
    }

    Update PSP

    PUT /providers/{providerId}/psps/{pspId}

    Updates the PSP details.

    Parameters

    • X-Request-IDstring (uuid)required

      End-to-end request correlation identifier generated by the caller. Use a UUID to simplify troubleshooting across distributed systems.

    • providerIdstringrequired

      Provider ID assigned during Onboarding.

    • pspIdstringrequired

      PSP ID assigned during Onboarding.

    Request body

    • pspNamestringrequiredexample: Example Group A/S
    • acknowledgeTypestringoptional

      M, S

      example: M

    Request body

    {
        "pspName": "Example Group A/S",
        "acknowledgeType": "M"
    }

    Responses

    • 200PSP updated successfully.optional
      • pspIdstringrequiredexample: PSP_300001
      • pspNamestringrequiredexample: Example Group A/S
      • providerIdstringoptionalexample: PROVIDER_100000
      • acknowledgeTypestringoptional

        M, S

        example: M
    • 400Bad Requestoptional
      • errorCodestringrequired

        Error code assigned by the Service.

        example: AAU-1514
    • 401Unauthorized Erroroptional
    • 403Forbidden Erroroptional
    • 404NotFound Erroroptional
    • 409Conflict Erroroptional
    • 500Internal Erroroptional
    • 503ServiceUnavailable Erroroptional
    {
        "errorCode": "AAU-1514"
    }

    Get PSP

    GET /providers/{providerId}/psps/{pspId}

    Returns PSP details for the provided PSP ID.

    Parameters

    • X-Request-IDstring (uuid)required

      End-to-end request correlation identifier generated by the caller. Use a UUID to simplify troubleshooting across distributed systems.

    • providerIdstringrequired

      Provider ID assigned during Onboarding.

    • pspIdstringrequired

      PSP ID assigned during Onboarding.

    Responses

    • 200PSP details returned successfully.optional
      • pspIdstringrequiredexample: PSP_300001
      • pspNamestringrequiredexample: Example Group A/S
      • providerIdstringoptionalexample: PROVIDER_100000
      • acknowledgeTypestringoptional

        M, S

        example: M
    • 400Bad Requestoptional
      • errorCodestringrequired

        Error code assigned by the Service.

        example: AAU-1514
    • 401Unauthorized Erroroptional
    • 403Forbidden Erroroptional
    • 404NotFound Erroroptional
    • 409Conflict Erroroptional
    • 500Internal Erroroptional
    • 503ServiceUnavailable Erroroptional
    {
        "errorCode": "AAU-1514"
    }

    Acquirers

    Acquirer master data.

    Onboard acquirer

    POST /acquirers

    Onboards a new Acquirer.

    Parameters

    • X-Request-IDstring (uuid)required

      End-to-end request correlation identifier generated by the caller. Use a UUID to simplify troubleshooting across distributed systems.

    Request body

    • acquirerNamestringrequiredexample: Example Group A/S
    • bidstringoptionalexample: 123456
    • icastringoptionalexample: 654321
    • segmentIdstringoptionalexample: 2345
    • billingIdstringoptionalexample: 246468
    • schemearrayoptional
      • Namestringrequired

        DANKORT, MASTERCARD, VISA

        example: DANKORT
      • BINstringrequiredexample: 530941

    Request body

    {
        "acquirerName": "Example Group A/S",
        "bid": "123456",
        "ica": "654321",
        "segmentId": "2345",
        "billingId": "246468",
        "scheme": [
            {
                "Name": "DANKORT",
                "BIN": "530941"
            }
        ]
    }

    Responses

    • 201Acquirer created successfully.optional
      • acquirerIdstringrequiredexample: ACQ_400001
      • acquirerNamestringrequiredexample: Example Group A/S
      • bidstringoptionalexample: 123456
      • icastringoptionalexample: 654321
      • segmentIdstringoptionalexample: 346567
      • billingIdstringoptionalexample: 23435
      • schemearrayoptional
        • Namestringrequired

          DANKORT, MASTERCARD, VISA

          example: DANKORT
        • BINstringrequiredexample: 530941
    • 400Bad Requestoptional
      • errorCodestringrequired

        Error code assigned by the Service.

        example: AAU-1514
    • 401Unauthorized Erroroptional
    • 403Forbidden Erroroptional
    • 404NotFound Erroroptional
    • 409Conflict Erroroptional
    • 500Internal Erroroptional
    • 503ServiceUnavailable Erroroptional
    {
        "errorCode": "AAU-1514"
    }

    Update Acquirer

    PUT /acquirers/{acquirerId}

    Update Acquirer details

    Parameters

    • X-Request-IDstring (uuid)required

      End-to-end request correlation identifier generated by the caller. Use a UUID to simplify troubleshooting across distributed systems.

    • acquirerIdstringrequired

      Acquirer ID assigned during Onboarding.

    Request body

    • acquirerNamestringrequiredexample: Example Group A/S
    • bidstringoptionalexample: 123456
    • icastringoptionalexample: 654321
    • segmentIdstringoptionalexample: 35367
    • billingIdstringoptionalexample: 23526
    • schemearrayoptional
      • Namestringrequired

        DANKORT, MASTERCARD, VISA

        example: DANKORT
      • BINstringrequiredexample: 530941

    Request body

    {
        "acquirerName": "Example Group A/S",
        "bid": "123456",
        "ica": "654321",
        "segmentId": "35367",
        "billingId": "23526",
        "scheme": [
            {
                "Name": "DANKORT",
                "BIN": "530941"
            }
        ]
    }

    Responses

    • 200Acquirer updated successfully.optional
      • acquirerIdstringrequiredexample: ACQ_400001
      • acquirerNamestringrequiredexample: Example Group A/S
      • bidstringoptionalexample: 123456
      • icastringoptionalexample: 654321
      • segmentIdstringoptionalexample: 346567
      • billingIdstringoptionalexample: 23435
      • schemearrayoptional
        • Namestringrequired

          DANKORT, MASTERCARD, VISA

          example: DANKORT
        • BINstringrequiredexample: 530941
    • 400Bad Requestoptional
      • errorCodestringrequired

        Error code assigned by the Service.

        example: AAU-1514
    • 401Unauthorized Erroroptional
    • 403Forbidden Erroroptional
    • 404NotFound Erroroptional
    • 409Conflict Erroroptional
    • 500Internal Erroroptional
    • 503ServiceUnavailable Erroroptional
    {
        "errorCode": "AAU-1514"
    }

    Get Acquirer

    GET /acquirers/{acquirerId}

    Returns Acquirer details for the provided Acquirer ID.

    Parameters

    • X-Request-IDstring (uuid)required

      End-to-end request correlation identifier generated by the caller. Use a UUID to simplify troubleshooting across distributed systems.

    • acquirerIdstringrequired

      Acquirer ID assigned during Onboarding.

    Responses

    • 200Acquirer details returned successfully.optional
      • acquirerIdstringrequiredexample: ACQ_400001
      • acquirerNamestringrequiredexample: Example Group A/S
      • bidstringoptionalexample: 123456
      • icastringoptionalexample: 654321
      • segmentIdstringoptionalexample: 346567
      • billingIdstringoptionalexample: 23435
      • schemearrayoptional
        • Namestringrequired

          DANKORT, MASTERCARD, VISA

          example: DANKORT
        • BINstringrequiredexample: 530941
    • 400Bad Requestoptional
      • errorCodestringrequired

        Error code assigned by the Service.

        example: AAU-1514
    • 401Unauthorized Erroroptional
    • 403Forbidden Erroroptional
    • 404NotFound Erroroptional
    • 409Conflict Erroroptional
    • 500Internal Erroroptional
    • 503ServiceUnavailable Erroroptional
    {
        "errorCode": "AAU-1514"
    }