Skip to main content

Create Terminal

HTTP POST

EnvironmentEndpoint
QAhttps://onboarding-service.{instance}.qa.rubean.io/api/{acquirer}/{client}/create
PRODhttps://onboarding-service.{instance}.phonepos.online/api/{acquirer}/{client}/create
CLIENT

The parameter "client" could be skipped in case a terminal is to be onboarded on an acquirer level which would mean, no portal access could be provided to the merchant.

Request

{
"id" : "ID",
"timestamp" : "TS",
"terminal" : {
"terminalId" : "TID",
"hardwareId" : "",
"entity" : {
"type" : "COMPANY",
"name" : "CompanyName",
"subEntity" : {
"type" : "BRANCH",
"name" : "BranchName",
"contact" : {
"name" : "Support at Rubean AG",
"email" : "support@rubean.com",
"phoneNumber" : "+491510123401234",
"address" : {
"street" : "Kistlerhofstrasse",
"street2" : "168",
"city" : "Munich",
"postalCode" : "81379",
"countryCode" : "DE"
}
}
}
},
"currency" : "EUR",
"language" : "de",
"countryCode" : "DE",
"merchantId" : "000105000001756",
"merchantCategoryCode" : "5610",
"transactionTypes" : [ "PURCHASE", "REFUND", "REVERSAL" ],
"capabilities" : {
"PIN" : "true"
},
"receiptLines" : [ "RUBEAN SOFTPOS", "Kistlerhofstraße 168", "81379 München" ],
"activationInfo" : {
"name": "USER NAME",
"code" : "AI_CODE",
"smsCode" : "AI_SMS_CODE",
"email" : "contact@mail.com",
"phoneNumber" : "+491510123401234",
"token" : "ACTIVATION_TOKEN",
"sessionEnforced" : "false"
},
"configurations" : [ {
"cardType" : "VISA",
"values" : [ {
"key" : "MCC",
"value" : "5610"
} ]
}, {
"cardType" : "UNDEFINED",
"values" : [ {
"key" : "BOOKING",
"value" : "true"
} ]
}, {
"cardType" : "MAESTRO",
"values" : [ {
"key" : "MCC",
"value" : "5610"
} ]
} ]
}
}
info

Terminal ID: In case the value is not provided by the requestor, a value will be generated by ROS and returned by onboarding service as part of the response. Otherwise, the requestor can explicitly send the desired TID in the request body.

warning

Knowing the terminal ID is crucial for subsequent operations as update/delete/reset.

ParameterFormatOccurrenceDescription
ide.g. 6e8fb61c-e97c-4ed9-a4e5-2450058afd33OExternal Id generated and maintained by a requestor. This is used in the case that a response was not delivered by ROS in a given time (a typical time-out scenario)
terminalcollectionMA collection of parameters required for onboarding a single terminal
terminal.terminalIdAN 8OThe terminal can be generated by the requestor or assigned by ROS from a terminal pool for a given acquirer (configuration)
terminal.hardwareIdANCMDM hardware identification. Required in case when unassisted enrollment program is used. Hardware ID is unique and can be assigned only to one terminal at particular moment of time. If during creation/update there’s another terminal with such hardwareId, that terminal will be deactivated and hardwareId will be unassigned.
terminal.entitycollectionOThis is the business entity that shall operate the terminal. The collection is required only for internal purposes. It can be replaced with the data provided for requestor. This means that a set of terminals will be created under one company. If properly populated, the data can be used for the aggregation, statistics and presentation on the portal. See Terminal.entity
terminal.currencyAN 3 (ISO currency code)OThis is a default terminal ISO 4217 currency
terminal.languageAN 2 (ISO 639-1)OLanguage, ISO 639-1: two-letter code
terminal.merchantIdAN ..15MMerchant id - a contract between the acquirer and a merchant. Note: Non ISO based acquirer hosts may support extended MID length, e.g. AN 30
terminal.merchantCategoryCodeAN 4OMerchant Category Code (MCC) listed in ISO 18245 for financial services.
terminal.transactionTypeslist of StringsO[ "PURCHASE", "REFUND", "REVERSAL" ]
terminal.countryCodeA 2 (ISO 3166-1)MTerminal country. This is ISO 3166-1 Alpha-2 code.
terminal.receiptLineslist of StringsOSet of optional lines that can be printed on the receipt.
terminal.activationInfocollectionMAt least one of the personalization methods to be provided
terminal.activationInfo.nameANOUser Name
terminal.activationInfo.codeANSOCode / Password for terminal activation
terminal.activationInfo.emailvalid email addressCE-mail address. Required if chosen activation method includes any deliveries to email, e.g. activation link, OTP
terminal.activationInfo.phoneNumbervalid mobile phone numberCMobile phone number, required in case when terminal is set to use OTP method activation with code delivery via SMS
terminal.activationInfo.tokenANSOCan be utilized in case when unassisted enrollment program is used. Must be provided further during terminal activation as additional layer of security.If not provided during create call, it’s generated and returned in the response message.
terminal.configurationscollectionOThis is a collection of card type specific parameters that can be required for particular acquirer as MID, MCC code, etc.
terminal.configurations.cardTypeENUMOSupported card types: MAESTRO, MASTERCARD, VISA, UNDEFINED - terminal configuration valid for all card types
terminal.configurations.valueslist of Configuration values in NVPOSupported configuration values:
  • key = MCC, value = AN 4 (merchant category code)
  • key = MID, value = merchant ID, if different for given card type
  • key = BOOKING, value = true/false, acquirer specific, valid only for some specific gateways
terminal.capabilitiesANOA list with capabilities or features supported on the terminal. Supported capabilities:
  • PIN = true/false
  • RECEIPT_TYPE = JSON/TEXT
    • JSON - json object with receipt data
    • TEXT - formatted, ready to print receipt
  • REFERENCED_REFUND = true/false

Terminal.entity

ParameterFormatOccuranceDescription
entity.typeENUMOTerminal’s business entity type:
  • COMPANY
  • STORE
  • BRANCH
  • MERCHANT
  • CLIENT
entity.nameAN ..40CMName of terminal’s business entity. Required if type provided
entity.contactcollectionOsee Terminal.entity.contact
entity.subEntitycollectionOsee Terminal.entity

Terminal.entity.contact

ParameterFromatOccurrenceDescription
contact.nameANOName of terminal’s business entity contact.
entity.emailvalid email addressOTerminal’s owning business entity e-mail address.
contact.phoneNumbervalid phone numberOTerminal’s business entity phone number.
contact.addresscollectionOContact’s address
contact.address.streetAN ..50OContact’s street
contact.address.street2AN ..500Contact’s street (2nd line)
contact.address.cityAN ..500Contact’s City
contact.address.postalCodeAN ..10OContact’s Postal Code
contact.address.countryCodeA 2 (ISO 3166-1)OISO 3166-1 Alpha-2 code.

Response

{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"terminalId": "12345678",
"activationCode": "1234567890123" // or "activationToken": "WdEq3p3EmvL" for unassisted
"status": {
"result": "COMPLETE",
"timestamp": "2022-03-01T13:00:00Z",
"uuid": "9a1a37a2-b779-434a-a28b-de98ec692f59",
"description": "Terminal successfully created"
}
}
ParameterFormatOccurrenceDescription
id6e8fb61c-e97c-4ed9-a4e5-2450058afd33MEchoes request id as provided by requestor in onboarding request or generated by ROS in case the value was not set.
terminalIdAN 8MThe terminal can be generated by the requestor or assigned by ROS from a terminal pool for a given acquirer (configuration)
hardwareIdANCMDM hardware id. Provided if client is subscribed for unassisted enrollment program
activationCodeANSMCode / Password for terminal activation. Either the one provided during onboarding or generated by Rubean
activationTokenANOReturned and can be utilized in case when unassisted enrollment program is used.If not provided during create call, it’s generated and returned in the response message.
statuscollectionMThis is a collection representing the result of the request consisting of a timestamp and a result description.
status.resultENUMMResult code:
  • COMPLETE
  • REJECTED
  • FAILED
status.timestampYYYY-MM-DD’T’HH24:MM:SS:TimeZoneMe.g. 2022-03-01T13:00:00Z
status.uuidUUIDMRequest ID as generated by Rubean (ROS).
status.descriptionANOIn case of failure contains a more detailed failure explanation.