Merchant Onboarding API
Last updated: November 5, 2026Contact operations
- Path parameters are written inconsistently in the Confluence pages (
{pspid},{divisionsid},{contactid}vspspId… in the parameter tables); kept as in the source.
/psps/{pspid}/ownedContacts/divisions/{divisionsid}/ownedContacts/merchants/{merchantid}/ownedContacts/contacts/{contactid}/setPassword/contacts/{contactid}/contacts/{contactid}/contacts/{contactid}/lockContact/contacts/{contactid}/unlockContact/contacts/{contactid}/psps/{pspid}/attachedContacts/{contactid}/divisions/{divisionid}/attachedContacts/{contactid}/merchants/{merchantid}/attachedContacts/{contactid}/channels/{channelId}/attachedContacts/{contactid}/psps/{pspid}/attachedContacts/{contactid}/divisions/{divisionid}/attachedContacts/{contactid}/merchants/{merchantid}/attachedContacts/{contactid}/channels/{channelId}/attachedContacts/{contactid}/psps/{pspid}/attachedContacts/divisions/{divisionid}/attachedContacts/merchants/{merchantid}/attachedContacts/channels/{channelId}/attachedContacts/psps/{pspid}/ownedContacts/divisions/{divisionsid}/ownedContacts/merchants/{merchantid}/ownedContacts/channels/{channelId}/ownedContactsAdd Contact
The call adds a new contact. The contact can be created at PSP, Division, or Merchant levels. It can be attached to any other entity at the desired level. The contact can be attached to the same entity at the same level, where it was created. For this, use the autoAttach parameter when creating the contact.
Endpoints
/psps/{pspid}/ownedContacts/divisions/{divisionsid}/ownedContacts/merchants/{merchantid}/ownedContacts/merchants/{channelid}/ownedContactsURL parameters
pspIdrequired for option 1[a-f 0-9]32divisionIdrequired for option 2[a-f 0-9]32merchantIdrequired for option 3[a-f 0-9]32channelidrequired for option 4[a-f 0-9]32Data parameters
emailrequirednamerequiredrolerequired- CALLCENTER_RESTRICTED
- ACCOUNTING_GLOBAL
- ANALYSIS
- CALLCENTER
- OPERATOR
kindrequired- SEND
- SYSTEM
- SUPPORT
- MOTO
- WEB_API
- OAUTH_APP
phoneOptionaloauthRedirectUrlOptionalmobileOptionaldescriptionOptionalautoAttachOptionalSet to true to attach the user to the same entity it is created. The default value is false.
languagerequired- en (English)
- de (German)
- fr (French)
- es (Spanish)
- it (Italian)
- ru (Russian)
- pt (Portuguese)
- nl (Nederlands)
- cn (Chinese)
sendCredentialsMailOptional (default to false)sendAuthenticatorMailOptional (default to false)Success response
contactInfoid[a-f0-9]32emailnamerole- CALLCENTER_RESTRICTED
- ACCOUNTING_GLOBAL
- ANALYSIS
- CALLCENTER
- OPERATOR
kind- SEND
- SYSTEM
- SUPPORT
- MOTO
- WEB_API
- OAUTH_APP
phonemobiledescriptionautoAttachstatelanguage- en (English)
- de (German)
- fr (French)
- es (Spanish)
- it (Italian)
- ru (Russian)
- pt (Portuguese)
- nl (Nederlands)
- cn (Chinese)
Error response
Reset Contact Password
The call resets the password for an existing contact.
- Data parameters read “(no parameter allowed)”; the success example was not valid JSON (repaired).
Endpoints
/contacts/{contactid}/setPasswordURL parameters
contactIdrequired[a-f 0-9]32Data parameters
(no parameter allowed)
Success response
messageError response
Get Contact
The call gets information about an existing contact.
- The example shows
roleas “Operator” but the documented values are upper case;usernameappears in the example but not in the field table.
Endpoints
/contacts/{contactid}URL parameters
contactIdrequired[a-f 0-9]32Data parameters
No parameters are required.
Success response
contactInfoid[a-f0-9]32emailnamerole- CALLCENTER_RESTRICTED
- ACCOUNTING_GLOBAL
- ANALYSIS
- CALLCENTER
- OPERATOR
kind- SEND
- SYSTEM
- SUPPORT
- MOTO
- WEB_API
- OAUTH_APP
phonemobiledescriptionautoAttachSet to true to attach the user to the same entity it is created. The default value is false.
statelanguage- en (English)
- de (German)
- fr (French)
- es (Spanish)
- it (Italian)
- ru (Russian)
- pt (Portuguese)
- nl (Nederlands)
- cn (Chinese)
Error response
Edit Contact
The call edits an existing contact.
- The “Required” column has no header;
languageis marked Required although omitted parameters stay unchanged; the example response has nolanguage. - The Confluence sample used a legacy
payon.comaddress (replaced byexample.com).
Endpoints
/contacts/{contactid}URL parameters
contactIdrequired[a-f 0-9]32Data parameters
If the request is submitted with parameters set to empty spaces - for example, email=<single space> - this will delete the previous values and leave the fields blank.
The parameters that are not included in the request are not changed. To avoid nullifying valid values, skip the parameters that do not require an update.
emailrequirednamerequiredrolerequired- CALLCENTER_RESTRICTED
- ACCOUNTING_GLOBAL
- ANALYSIS
- CALLCENTER
- OPERATOR
kindrequired- SEND
- SYSTEM
- SUPPORT
- MOTO
- WEB_API
- OAUTH_APP
phoneOptionalmobileOptionaldescriptionOptionalautoAttachOptionalstateOptionallanguagerequired- en (English)
- de (German)
- fr (French)
- es (Spanish)
- it (Italian)
- ru (Russian)
- pt (Portuguese)
- nl (Nederlands)
- cn (Chinese)
Success response
contactInfoid[a-f0-9]32emailnamerole- CALLCENTER_RESTRICTED
- ACCOUNTING_GLOBAL
- ANALYSIS
- CALLCENTER
- OPERATOR
kind- SEND
- SYSTEM
- SUPPORT
- MOTO
- WEB_API
- OAUTH_APP
phonemobiledescriptionautoAttachstatelanguage- en (English)
- de (German)
- fr (French)
- es (Spanish)
- it (Italian)
- ru (Russian)
- pt (Portuguese)
- nl (Nederlands)
- cn (Chinese)
Error response
Lock Contact
The call locks an existing contact.
Endpoints
/contacts/{contactid}/lockContactURL parameters
contactIdrequired[a-f 0-9]32Data parameters
No parameters are required.
Success response
contactInfoid[a-f0-9]32emailnamerole- CALLCENTER_RESTRICTED
- ACCOUNTING_GLOBAL
- ANALYSIS
- CALLCENTER
- OPERATOR
kind- SEND
- SYSTEM
- SUPPORT
- MOTO
- WEB_API
- OAUTH_APP
phonemobiledescriptionautoAttachstatelanguage- en (English)
- de (German)
- fr (French)
- es (Spanish)
- it (Italian)
- ru (Russian)
- pt (Portuguese)
- nl (Nederlands)
- cn (Chinese)
Error response
Unlock Contact
The call unlocks an existing contact.
Endpoints
/contacts/{contactid}/unlockContactURL parameters
contactIdrequired[a-f 0-9]32Data parameters
No parameters are required.
Success response
contactInfoid[a-f0-9]32emailnamerole- CALLCENTER_RESTRICTED
- ACCOUNTING_GLOBAL
- ANALYSIS
- CALLCENTER
- OPERATOR
kind- SEND
- SYSTEM
- SUPPORT
- MOTO
- WEB_API
- OAUTH_APP
phonemobiledescriptionautoAttachstatelanguage- en (English)
- de (German)
- fr (French)
- es (Spanish)
- it (Italian)
- ru (Russian)
- pt (Portuguese)
- nl (Nederlands)
- cn (Chinese)
Error response
Delete Contact
The call deletes an existing contact. The contact must be detached before deleting.
Endpoints
/contacts/{contactid}URL parameters
contactIdrequired[a-f 0-9]32Data parameters
No parameters are required.
Success response
messageError response
Attach Contact
The call attaches a contact to the desired entity.
The contact can be created at one level and then attached to another entity at another level.
- Confluence note (2016-10-06): the call worked only for attaching contacts at the same hierarchy level that owns the contact. Still true?
Endpoints
/psps/{pspid}/attachedContacts/{contactid}/divisions/{divisionid}/attachedContacts/{contactid}/merchants/{merchantid}/attachedContacts/{contactid}/channels/{channelId}/attachedContacts/{contactid}URL parameters
pspIdrequired for option 1[a-f 0-9]32divisionIdrequired for option 2[a-f 0-9]32merchantIdrequired for option 3[a-f 0-9]32channelIdrequired for option 4[a-f 0-9]32contactIdrequired for all options[a-f 0-9]32Data parameters
No parameters are required
Success response
contactInfoid[a-f0-9]32emailnamerole- CALLCENTER_RESTRICTED
- ACCOUNTING_GLOBAL
- ANALYSIS
- CALLCENTER
- OPERATOR
kind- SEND
- SYSTEM
- SUPPORT
- MOTO
- WEB_API
- OAUTH_APP
phonemobiledescriptionautoAttachstatelanguage- en (English)
- de (German)
- fr (French)
- es (Spanish)
- it (Italian)
- ru (Russian)
- pt (Portuguese)
- nl (Nederlands)
- cn (Chinese)
Error response
Detach Contact
The call allows detaching an attached contact.
Endpoints
/psps/{pspid}/attachedContacts/{contactid}/divisions/{divisionid}/attachedContacts/{contactid}/merchants/{merchantid}/attachedContacts/{contactid}/channels/{channelId}/attachedContacts/{contactid}URL parameters
pspIdrequired for option 1[a-f 0-9]32divisionIdrequired for option 2[a-f 0-9]32merchantIdrequired for option 3[a-f 0-9]32channelIdrequired for option 4[a-f 0-9]32contactIdrequired for all options[a-f 0-9]32Data parameters
No parameters are required.
Success response
messageError response
Get Attached Contacts list
The call lists the information about contacts that are attached to an entity. Do not confuse it with Get Owned Contacts list.
The call Get Attached Contacts list is getting the contacts that are attached to an entity but might have been created under a different entity.
Endpoints
/psps/{pspid}/attachedContacts/divisions/{divisionid}/attachedContacts/merchants/{merchantid}/attachedContacts/channels/{channelId}/attachedContactsURL parameters
pspIdrequired for option 1[a-f 0-9]32divisionIdrequired for option 2[a-f 0-9]32merchantIdrequired for option 3[a-f 0-9]32channelIdrequired for option 4[a-f 0-9]32Data parameters
No parameters are required.
Success response
contactInfoid[a-f0-9]32emailnamerole- CALLCENTER_RESTRICTED
- ACCOUNTING_GLOBAL
- ANALYSIS
- CALLCENTER
- OPERATOR
kind- SEND
- SYSTEM
- SUPPORT
- MOTO
- WEB_API
- OAUTH_APP
phonemobiledescriptionautoAttachstatelanguage- en (English)
- de (German)
- fr (French)
- es (Spanish)
- it (Italian)
- ru (Russian)
- pt (Portuguese)
- nl (Nederlands)
- cn (Chinese)
Error response
Get Owned Contacts list
The call lists details about all contacts that were created or attached at the level of an entity. Do not confuse it with Get Attached Contacts list.
The call Get Owned Contacts list is getting the contacts that were created at the level of a specific entity but might have been attached to a different entity, and the contacts that were attached to this specific entity.
Endpoints
/psps/{pspid}/ownedContacts/divisions/{divisionid}/ownedContacts/merchants/{merchantid}/ownedContacts/channels/{channelId}/ownedContactsURL parameters
pspIdrequired for option 1[a-f 0-9]32divisionIdrequired for option 2[a-f 0-9]32merchantIdrequired for option 3[a-f 0-9]32channelIdrequired for option 4[a-f 0-9]32Data parameters
No parameters are required.
Success response
contactInfoid[a-f0-9]32emailnamerole- CALLCENTER_RESTRICTED
- ACCOUNTING_GLOBAL
- ANALYSIS
- CALLCENTER
- OPERATOR
kind- SEND
- SYSTEM
- SUPPORT
- MOTO
- WEB_API
- OAUTH_APP
phonemobiledescriptionautoAttachstatelanguage- en (English)
- de (German)
- fr (French)
- es (Spanish)
- it (Italian)
- ru (Russian)
- pt (Portuguese)
- nl (Nederlands)
- cn (Chinese)
Error response
Clearing Institute operations
/psps/{pspid}/clearingInstitutesGet Clearing Institutes list
The call lists the information about existing clearing institutes.
- Clearing institutes are entities defining the different acquiring connections provided by the platform.
- The availability of a clearing institute for a specific merchant/PSP is discussed before contracts are signed. Additional clearing institutes can be made available later. The clearing institutes list, available to you, should be discussed with the account manager.
- The error example is not valid JSON in the source and is shown as it is.
Endpoints
/psps/{pspid}/clearingInstitutesURL parameters
pspIdrequired[a-f 0-9]32Data parameters
No parameters are required
Success response
country[A-Z]2id[a-f 0-9]32internationalCode[A-Z a-z 0-9], [-_ ]128name[A-Z a-z 0-9], [-_ ]128Error response
Division-level operations
/psps/{pspId}/divisions/entities/byName/{pspName}/divisions/divisions/{divisionId}/divisions/{divisionId}/psps/{pspId}/divisions/divisions/{divisionId}Add Division
The call adds a new division.
stateis marked Required, but its description says the default is inherited from the parent entity.description: 32 characters in the request, 50 in the response.
Endpoints
/psps/{pspId}/divisions/entities/byName/{pspName}/divisionsURL parameters
pspIdrequired for option 1[a-f 0-9]32pspNamerequired for option 2[A-Z a-z 0-9], [-_ ]256Data parameters
namerequired[A-Z a-z 0-9], [-_]32customerIdOptional[A-Z a-z 0-9], [-_ ]32descriptionOptional[A-Z a-z 0-9], [-_ ]32staterequiredSuccess response
id[a-f 0-9]32divisionInfocustomerId[A-Za-z 0-9], [-_ ]32description[A-Za-z 0-9], [-_ ]50pspId[a-f 0-9]32name[A-Z a-z 0-9], [-_]256stateError response
Get Division
The call gets the information about an existing division.
Endpoints
/divisions/{divisionId}URL parameters
divisionIdrequired[a-f 0-9]32Data parameters
No parameters are required.
Success response
divisionInfoid[a-f 0-9]32name[A-Z a-z 0-9], [-_]256pspId[a-f 0-9]32statecustomerId[A-Z a-z 0-9], [-_ ]32description[A-Za-z0-9], [-_ ]50Error response
Edit Division
The call allows editing the information for an existing division.
- Success code reads “201:Created” for an update;
namereads “to be created”.
Endpoints
/divisions/{divisionId}URL parameters
divisionIdrequired[a-f 0-9]32Data parameters
If the request is submitted with parameters set to empty spaces, for example name=<single space>, this will delete the previous values and leave the fields blank.
The parameters not included in the request are not changed. To avoid nullifying valid values, skip the parameters that do not require an update.
namerequired[A-Z a-z 0-9], [-_]32customerIdOptional[A-Z a-z 0-9], [-_ ]32descriptionOptional[A-Z a-z 0-9], [-_ ]50staterequiredSuccess response
divisionInfoid[a-f 0-9]32name[A-Z a-z 0-9], [-_]256pspId[a-f 0-9]32statecustomerId[A-Z a-z 0-9], [-_ ]32description[A-Za-z0-9], [-_ ]50Error response
Get Divisions List
The call lists the information about existing divisions.
- The Confluence example contained placeholder values (
"description": "A","customerId": "id").
Endpoints
/psps/{pspId}/divisionsURL parameters
pspIdrequired[a-f 0-9]32Data parameters
No parameters required.
Success response
divisionInfoid[a-f 0-9]32name[A-Z a-z 0-9], [-_]256pspId[a-f 0-9]32statecustomerId[A-Z a-z 0-9], [-_ ]32description[A-Za-z0-9], [-_ ]50Error response
Delete Division
The call sets the state of an existing division to ‘DISABLED’.
It is not possible to delete a division.
- Confluence note (2016-09-13): “The call did not work.” The success code is empty and the page has no response example. Does the call work today?
Endpoints
/divisions/{divisionId}URL parameters
divisionIdrequired[a-f 0-9]32Data parameters
No parameters are required.
Success response
Error response
Merchant-level operations
/divisions/{divisonId}/merchants/entities/byName/{pspName}/{divisionName}/merchants/merchants/{merchantId}/merchants/{merchantId}/divisions/{divisionId}/merchants/psps/{pspId}/merchants/merchants/{merchantId}Add Merchant
The call adds a new merchant.
stateis marked Required, but its description says the default value is inherited from the parent entity.idin the response is described as “The name of the merchant to be created”; responsenameallows 256 characters, the request 32.[A-Z a-z 0-9]appears to allow spaces, while the Merchant Portal walkthrough says to avoid them.secretis returned but documented as Legacy, not used anymore.
Endpoints
/divisions/{divisionId}/merchants/entities/byName/{pspName}/{divisionName}/merchantsURL parameters
divisionIdrequired for option 1[a-f 0-9]32pspNamerequired for option 2[A-Z a-z 0-9], [-_]256divisionNamerequired for option 2[A-Z a-z 0-9], [-_]32Data parameters
namerequired[A-Z a-z 0-9], [-_]32customerIdOptional[A-Z a-z 0-9], [-_ ]32descriptionOptional[A-Z a-z 0-9], [-_ ]50staterequiredSuccess response
merchantInfoid[a-f 0-9]32name[A-Z a-z 0-9], [-_]256divisionId[a-f 0-9]32statecustomerId[A-Z a-z 0-9], [-_ ]32description[A-Za-z0-9], [-_ ]50secretError response
Get Merchant
The call gets information about an existing merchant.
Endpoints
/merchants/{merchantId}URL parameters
merchantIdrequired[a-f 0-9]32Data parameters
No parameters required.
Success response
merchantInfoid[a-f 0-9]32name[A-Z a-z 0-9], [-_]256divisionId[a-f 0-9]32statecustomerId[A-Z a-z 0-9], [-_ ]32description[A-Za-z0-9], [-_ ]50secretError response
Edit Merchant
The call edits the information for an existing merchant.
- Success code reads “201: Created” for an update;
descriptionlength 32 in the request vs 50 in the response.
Endpoints
/merchants/{merchantId}URL parameters
merchantIdrequired[a-f 0-9]32Data parameters
If the request is submitted with parameters set to empty spaces, for example, name=<single space>, this deletes the previous values and leaves the fields blank.
The parameters not included in the request are not changed. To avoid nullifying valid values, skip parameters that do not require an update.
namerequired[A-Z a-z 0-9], [-_]32customerIdOptional[A-Z a-z 0-9], [-_ ]32descriptionOptional[A-Z a-z 0-9], [-_ ]32staterequiredSuccess response
merchantInfoid[a-f 0-9]32name[A-Z a-z 0-9], [-_]256divisionId[a-f 0-9]32statecustomerId[A-Z a-z 0-9], [-_ ]32description[A-Za-z0-9], [-_ ]50secretError response
Get Merchants List
The call allows listing information about existing merchants.
Endpoints
/divisions/{divisionId}/merchants/psps/{pspId}/merchantsURL parameters
divisionIdrequired for option 1[a-f 0-9]32pspIdrequired for option 2[a-f 0-9]32Data parameters
No parameters required.
Success response
merchantInfoid[a-f 0-9]32name[A-Z a-z 0-9], [-_]256divisionId[a-f 0-9]32statecustomerId[A-Z a-z 0-9], [-_ ]32description[A-Za-z0-9], [-_ ]50secretError response
Delete Merchant
The call sets the state of an existing merchant to ‘DISABLED’.
It is not possible to delete a merchant.
- Soft delete (state set to DISABLED); returns
merchantInfo– response shape differs from the other delete calls.
Endpoints
/merchants/{merchantId}URL parameters
merchantIdrequired[a-f 0-9]32Data parameters
No parameters are required.
Success response
Error response
Channel-level operations
/merchants/{merchantId}/channels/entities/byName/{pspName}/{divisionName}/{name}/channels/channels/{channelId}/channels/{channelId}/merchants/{merchantId}/channels/channels/{channelId}Add Channel
The call adds a new channel.
- URL parameter
namereads “The entity name identifying the merchant”; Option 2 reads “Add a merchant using entity path”; responseidreads “The name of the channel to be created”. stateis marked Required, but its description says the default is inherited.
Endpoints
/merchants/{merchantId}/channels/entities/byName/{pspName}/{divisionName}/{name}/channelsURL parameters
merchantIdrequired for option 1[a-f 0-9]32pspNamerequired for option 2[A-Z a-z 0-9], [-_]256divisionNamerequired for option 2[A-Z a-z 0-9], [-_]32namerequired for option 2[A-Za-z0-9], [-_]32Data parameters
namerequired[A-Z a-z 0-9], [-_]32customerIdOptional[A-Z a-z 0-9], [-_ ]32descriptionOptional[A-Z a-z 0-9], [-_ ]50staterequiredSuccess response
id[a-f 0-9]32accessTokenchannelInfotypechannel[a-f 0-9]32sender[a-f 0-9]32secretlogin[a-f 0-9]32pwd[A-Z a-z 0-9]24statecustomerId[A-Z a-z 0-9], [-_ ]32description[A-Z a-z 0-9], [-_ ]50Error response
errormessageGet Channel
The call gets information about an existing channel.
idreads “The name of the channel to be created”.
Endpoints
/channels/{channelId}URL parameters
channelIdrequired[a-f 0-9]32Data parameters
No parameters required.
Success response
id[a-f 0-9]32channelInfotypechannel[a-f 0-9]32sender[a-f 0-9]32secretlogin[a-f 0-9]32pwd[A-Z a-z 0-9]24statecustomerId[A-Z a-z 0-9], [-_ ]32description[A-Z a-z 0-9], [-_ ]50Error response
Edit Channel
The call edits the information for an existing channel.
- Success code reads “201: Created” for an update;
idreads “The name of the channel to be created”.
Endpoints
/channels/{channelId}URL parameters
channelIdrequired[a-f 0-9]32Data parameters
If the request is submitted with parameters set to empty spaces, for example, name=<single space>, this deletes the previous values and leaves the fields blank.
The parameters not included in the request are not changed. To avoid nullifying valid values, skip the parameters that do not require an update.
namerequired[A-Z a-z 0-9], [-_]32customerIdOptional[A-Z a-z 0-9], [-_ ]32descriptionOptional[A-Z a-z 0-9], [-_ ]50staterequiredSuccess response
id[a-f 0-9]32channelInfotypechannel[a-f 0-9]32sender[a-f 0-9]32secretlogin[a-f 0-9]32pwd[A-Z a-z 0-9]24statecustomerId[A-Z a-z 0-9], [-_ ]32description[A-Z a-z 0-9], [-_ ]50Error response
Get Channels List
The call allows listing information about existing channels.
- The URL text reads “List the merchants using merchantID”;
merchantIdis “Required for Option 1” but there is only one option;idreads “The name of the channel to be created”.
Endpoints
/merchants/{merchantId}/channelsURL parameters
merchantIdrequired for option 1[a-f 0-9]32Data parameters
No parameters are required.
Success response
id[a-f 0-9]32channelInfotypechannel[a-f 0-9]32sender[a-f 0-9]32secretlogin[a-f 0-9]32pwd[A-Z a-z 0-9]24statecustomerId[A-Z a-z 0-9], [-_ ]32description[A-Z a-z 0-9], [-_ ]50Error response
Delete Channel
This sets the state of an existing channel to ‘DISABLED’. It is not possible to delete a channel.
- Soft delete (state set to DISABLED); returns
channelInfowithout a field table – the response shape differs from Delete Merchant / Merchant Account.
Endpoints
/channels/{channelId}URL parameters
channelIdrequired[a-f 0-9]32Data parameters
No parameters are required.
Success response
Error response
Merchant Account operations
/psps/{pspid}/ownedMerchantAccounts/divisions/{divisionsid}/ownedMerchantAccounts/merchants/{merchantid}/ownedMerchantAccounts/merchantAccounts/{merchantAccountId}/merchantAccounts/{merchantAccountId}/merchantAccounts/{merchantAccountId}/psps/{pspid}/attachedMerchantAccounts/divisions/{divisionid}/attachedMerchantAccounts/merchants/{merchantid}/attachedMerchantAccounts/channels/{channelId}/attachedMerchantAccounts/attachedMerchantAccounts/{attachedMerchantAccountId}/attachedMerchantAccounts/{attachedMerchantAccountId}/psps/{pspid}/attachedMerchantAccounts/divisions/{divisionid}/attachedMerchantAccounts/merchants/{merchantid}/attachedMerchantAccounts/channels/{channelid}/attachedMerchantAccounts/psps/{pspid}/attachedMerchantAccounts/divisions/{divisionid}/attachedMerchantAccounts/merchants/{merchantid}/attachedMerchantAccounts/channels/{channelid}/attachedMerchantAccounts/psps/{pspid}/ownedMerchantAccounts/divisions/{divisionsid}/ownedMerchantAccounts/merchants/{merchantid}/ownedMerchantAccounts/channels/{channelid}/ownedMerchantAccounts/psps/{pspid}/ownedMerchantAccounts/divisions/{divisionsid}/ownedMerchantAccounts/merchants/{merchantid}/ownedMerchantAccounts/channels/{channelid}/ownedMerchantAccounts/merchantAccounts/{merchantAccountId}+/merchants/*/setting/merchantAccounts/{merchantAccountId}/ebicsAdd Merchant Account
The call adds a Merchant Account. The Merchant Account is uniquely associated with a Clearing Institute. Depending on the Clearing Institute selected, the field mapping will be different for the Merchant Account Configuration.
The complete mapping is presented in 02 Merchant Account Configuration by Clearing Institute. The Merchant Account can be created at PSP, Division or Merchant levels. Then, it can be attached to any other entity, at the desired level. The contact can be attached to the same entity, at the same level, where it was created.
Endpoints
/psps/{pspid}/ownedMerchantAccounts/divisions/{divisionsid}/ownedMerchantAccounts/merchants/{merchantid}/ownedMerchantAccounts/channels/{channelid}/ownedMerchantAccountsURL parameters
pspIdrequired for option 1[a-f 0-9]32divisionIdrequired for option 2[a-f 0-9]32merchantIdrequired for option 3[a-f 0-9]32Data parameters
name[A-Z a-z 0-9], [-_]256stateclearingInstituteIdclearingInstituteName[a-f 0-9]32iban[A-Z a-z 0-9], [-_ ]32key[A-Z a-z 0-9], [-_ ]500terminalIdanyanypassword[A-Z a-z 0-9], [-_ ]128username[A-Z a-z 0-9], [-_ ]128merchantCategorytransactionCategorycvvInstructioncvvRejectionPolicyavsCheckActiveavsRejectionPolicyavsReviewPolicydebitAdviceProcedurerecurringCodesupports3DSecuremerchant3DNameanyanymerchant3DUrlanyanymerchantIsoCountryCodevisaMerchantId[A-Z]2visaMerchantAcquirerBinmasterMerchantIdmasterMerchantAcquirerBinamexMerchantIdamexMerchantAcquirerBinbcmcMerchantIdbcmcMerchantAcquirerBindinersMerchantIddinersMerchantAcquirerBindinersMerchantPwdjcbMerchantIdjcbMerchantAcquirerBinbankfileGenerationPattern[A-Z a-z 0-9], [-_ ]20- Weekly bank files are generated only one time during the selected day of the week.
For example, MONDAY@13:00 UTC will generate one bank file on Monday at 13:00 UTC. - Daily bank files can be generated up to three times a day.
For example,
DAILY@5:00 UTC will generate one bank file daily at 5:00 UTC.
DAILY@5:00 UTC+DAILY@13:00 UTC will generate two bank files daily at 5:00 and 13:00 UTC.
DAILY@5:00 UTC+DAILY@13 UTC+DAILY@18:00 UTC will generate three bank files daily at 5:00, 13:00, and 18:00 UTC.
velocityDispachingActivevelocityDispatchingSetting[A-Z a-z 0-9], [-_ ]32ticketSizeDispatchingActiveticketSizeDispatchingSetting[A-Z a-z 0-9], [-_ ]32recurringDispatchingSettingshopperDispatchingSettingshopperDispatchingScopeshopperDispatchingValiditypaymentDispatchingSettingpendingTimeoutInMins[0-9]pendingForAcquirerTimeoutInMins[0-9]uploadUseruploadPasswordconnectorSpecificParameter.<parameter>[A-Z a-z 0-9], [-_ ]anyvisaAcquirerMerchantIdmasterAcquirerMerchantIdamexAcquirerMerchantIdSuccess response
id[a-f 0-9]32merchantAccountname[A-Z a-z 0-9], [-_]256stateclearingInstitute[a-f 0-9]32iban[A-Z a-z 0-9], [-_ ]32key[A-Z a-z 0-9], [-_ ]500terminalIdanyanypassword[A-Z a-z 0-9], [-_ ]128username[A-Z a-z 0-9], [-_ ]128merchantId[a-f 0-9]32merchantName[A-Z a-z 0-9], [-_ ]32merchantCategorytransactionCategorycvvInstructioncvvRejectionPolicyavsCheckActiveavsRejectionPolicyavsReviewPolicydebitAdviceProcedurerecurringCOdesupports3DSecuremerchant3DNameanyanymerchant3DUrlanyanymerchantIsoCountryCodevisaMerchantId[A-Z]2visaMerchantAcquirerBinmasterMerchantIdmasterMerchantAcquirerBinamexMerchantIdamexMerchantAcquirerBinbcmcMerchantIdbcmcMerchantAcquirerBindinersMerchantIddinersMerchantAcquirerBindinersMerchantPwdjcbMerchantIdjcbMerchantAcquirerBinbankfileGenerationPattern[A-Z a-z 0-9], [-_ ]20- Weekly bank files are generated only one time during the selected day of the week.
For example, MONDAY@13:00 UTC will generate one bank file on Monday at 13:00 UTC. - Daily bank files can be generated up to three times a day.
For example,
DAILY@5:00 UTC will generate one bank file daily at 5:00 UTC.
DAILY@5:00 UTC+DAILY@13:00 UTC will generate two bank files daily at 5:00 and 13:00 UTC.
DAILY@5:00 UTC+DAILY@13 UTC+DAILY@18:00 UTC will generate three bank files daily at 5:00, 13:00, and 18:00 UTC.
velocityDispachingActivevelocityDispatchingSetting[A-Z a-z 0-9], [-_ ]32ticketSizeDispatchingActiveticketSizeDispatchingSetting[A-Z a-z 0-9], [-_ ]32recurringDispatchingSettingshopperDispatchingSettingshopperDispatchingScopeshopperDispatchingValiditypaymentDispatchingSettingpendingTimeoutInMins[0-9]pendingForAcquirerTimeoutInMins[0-9]uploadUseruploadPasswordconnectorSpecificParameter.<parameter>[A-Z a-z 0-9], [-_ ]anyError response
Get Merchant Account
The call gets the information about an existing merchant account.
Endpoints
/merchantAccounts/{merchantAccountId}URL parameters
merchantAccountIdrequired[a-f 0-9]32Data parameters
No parameters are required.
Success response
name[A-Z a-z 0-9], [-_ ]256stateclearingInstitute[a-f 0-9]32iban[A-Z a-z 0-9], [-_ ]32key[A-Z a-z 0-9], [-_ ]500terminalIdanyanypassword[A-Z a-z 0-9], [-_ ]128username[A-Z a-z 0-9], [-_ ]128merchantCategorytransactionCategorycvvInstructioncvvRejectionPolicyavsCheckActiveavsRejectionPolicyavsReviewPolicydebitAdviceProcedurerecurringCOdesupports3DSecuremerchant3DNameanyanymerchant3DUrlanyanymerchantIsoCountryCodevisaMerchantId[A-Z]2visaMerchantAcquirerBinmasterMerchantIdmasterMerchantAcquirerBinamexMerchantIdamexMerchantAcquirerBinbcmcMerchantIdbcmcMerchantAcquirerBindinersMerchantIddinersMerchantAcquirerBindinersMerchantPwdjcbMerchantIdjcbMerchantAcquirerBinbankfileGenerationPattern[A-Z a-z 0-9], [-_ ]20- Weekly bank files are generated one time during the selected day of the week.
For example, MONDAY@13:00 UTC will generate one bank file on Monday at 13:00 UTC. - Daily bank files can be generated as many as three times a day.
For example:
DAILY@5:00 UTC will generate one bank file daily at 5:00 UTC.
DAILY@5:00 UTC+DAILY@13:00 UTC will generate two bank files daily at 5:00 and 13:00 UTC.
DAILY@5:00 UTC+DAILY@13 UTC+DAILY@18:00 UTC will generate three bank files daily at 5:00, 13:00, and 18:00 UTC.
velocityDispachingActivevelocityDispatchingSetting[A-Z a-z 0-9], [-_ ]32ticketSizeDispatchingActiveticketSizeDispatchingSetting[A-Z a-z 0-9], [-_ ]32recurringDispatchingSettingshopperDispatchingSettingshopperDispatchingScopeshopperDispatchingValiditypaymentDispatchingSettingpendingTimeoutInMins[0-9]pendingForAcquirerTimeoutInMins[0-9]uploadUseruploadPasswordconnectorSpecificParameter.<parameter>[A-Z a-z 0-9], [-_ ]anyvisaAcquirerMerchantIdmasterAcquirerMerchantIdamexAcquirerMerchantIdError response
Edit Merchant Account
The call edits an existing merchant account.
Endpoints
/merchantAccounts/{merchantAccountId}URL parameters
merchantAccountIdrequired[a-f 0-9]32Data parameters
If the request is submitted with parameters set to empty spaces, for example, terminalIDs=<single space>, the previous value is deleted and the field is blank.
Parameters not included in the request are not changed. To avoid nullifying valid values, skip parameters that do not require an update.
name[A-Z a-z 0-9], [-_ ]256stateclearingInstituteIdclearingInstituteName[a-f 0-9]32iban[A-Z a-z 0-9], [-_ ]32key[A-Z a-z 0-9], [-_ ]500terminalIdanyanypassword[A-Z a-z 0-9], [-_ ]128username[A-Z a-z 0-9], [-_ ]128merchantCategorytransactionCategorycvvInstructioncvvRejectionPolicyavsCheckActiveavsRejectionPolicyavsReviewPolicydebitAdviceProcedurerecurringCodesupports3DSecuremerchant3DNameanyanymerchant3DUrlanyanymerchantIsoCountryCodevisaMerchantId[A-Z]2visaMerchantAcquirerBinmasterMerchantIdmasterMerchantAcquirerBinamexMerchantIdamexMerchantAcquirerBinbcmcMerchantIdbcmcMerchantAcquirerBindinersMerchantIddinersMerchantAcquirerBindinersMerchantPwdjcbMerchantIdjcbMerchantAcquirerBinbankfileGenerationPattern[A-Z a-z 0-9], [-_ ]20- Weekly bank files are generated only one time during the selected day of the week.
For example, MONDAY@13:00 UTC will generate one bank file on Monday at 13:00 UTC. - Daily bank files can be generated up to three times a day.
For example,
DAILY@5:00 UTC will generate one bank file daily at 5:00 UTC.
DAILY@5:00 UTC+DAILY@13:00 UTC will generate two bank files daily at 5:00 and 13:00 UTC.
DAILY@5:00 UTC+DAILY@13 UTC+DAILY@18:00 UTC will generate three bank files daily at 5:00, 13:00, and 18:00 UTC.
velocityDispachingActivevelocityDispatchingSetting[A-Z a-z 0-9], [-_ ]32ticketSizeDispatchingActiveticketSizeDispatchingSetting[A-Z a-z 0-9], [-_ ]32recurringDispatchingSettingshopperDispatchingSettingshopperDispatchingScopeshopperDispatchingValiditypaymentDispatchingSettingpendingTimeoutInMins[0-9]pendingForAcquirerTimeoutInMins[0-9]uploadUseruploadPasswordconnectorSpecificParameter.<parameter>[A-Z a-z 0-9], [-_ ]anySuccess response
name[A-Z a-z 0-9], [-_ ]256stateclearingInstitute[a-f 0-9]32iban[A-Z a-z 0-9], [-_ ]32key[A-Z a-z 0-9], [-_ ]500terminalIdanyanypassword[A-Z a-z 0-9], [-_ ]128username[A-Z a-z 0-9], [-_ ]128merchantCategorytransactionCategorycvvInstructioncvvRejectionPolicyavsCheckActiveavsRejectionPolicyavsReviewPolicydebitAdviceProcedurerecurringCodesupports3DSecuremerchant3DNameanyanymerchant3DUrlanyanymerchantIsoCountryCodevisaMerchantId[A-Z]2visaMerchantAcquirerBinmasterMerchantIdmasterMerchantAcquirerBinamexMerchantIdamexMerchantAcquirerBinbcmcMerchantIdbcmcMerchantAcquirerBindinersMerchantIddinersMerchantAcquirerBindinersMerchantPwdjcbMerchantIdjcbMerchantAcquirerBinbankfileGenerationPattern[A-Z a-z 0-9], [-_ ]20- Weekly bank files are generated one time during the selected day of the week.
For example, MONDAY@13:00 UTC will generate one bank file on Monday at 13:00 UTC. - Daily bank files can be generated as many as three times a day.
For example,
DAILY@5:00 UTC will generate one bank file daily at 5:00 UTC.
DAILY@5:00 UTC+DAILY@13:00 UTC will generate two bank files daily at 5:00 and 13:00 UTC.
DAILY@5:00 UTC+DAILY@13 UTC+DAILY@18:00 UTC will generate three bank files daily at 5:00, 13:00, and 18:00 UTC.
velocityDispachingActivevelocityDispatchingSetting[A-Z a-z 0-9], [-_ ]32ticketSizeDispatchingActiveticketSizeDispatchingSetting[A-Z a-z 0-9], [-_ ]32For example, 2;10
recurringDispatchingSettingshopperDispatchingSettingshopperDispatchingScopeshopperDispatchingValiditypaymentDispatchingSettingpendingTimeoutInMins[0-9]pendingForAcquirerTimeoutInMins[0-9]uploadUseruploadPasswordconnectorSpecificParameter.<parameter>[A-Z a-z 0-9], [-_ ]anyError response
Delete Merchant Account
The call sets the state of an existing merchant account to ‘DISABLED’.
It is not possible to delete a merchant account.
- Soft delete (state set to DISABLED); returns an empty body – response shape differs from the other delete calls.
Endpoints
/merchantAccounts/{merchantAccountId}URL parameters
merchantAccountIdrequired[a-f 0-9]32Data parameters
No parameters are required.
Success response
No response body.
Error response
Attach Merchant Account
The call allows to attachment of a merchant account to the desired entity.
The merchant account can be created at one level and then attached to another entity at another level.
Endpoints
/psps/{pspid}/attachedMerchantAccounts/divisions/{divisionid}/attachedMerchantAccounts/merchants/{merchantid}/attachedMerchantAccounts/channels/{channelId}/attachedMerchantAccountsURL parameters
pspIdrequired for option 1[a-f 0-9]32divisionIdrequired for option 2[a-f 0-9]32merchantIdrequired for option 3[a-f 0-9]32channelIdrequired for option 4[a-f 0-9]32Data parameters
merchantAccountId[A-Z a-z 0-9], [-_ ]32fallbackMerchantAccountIdOptional[A-Z a-z 0-9], [-_ ]32processTransactionsWithoutBinIdentificationOptionaltrue or falsecurrency[A-Z]binCountryLimit[A-Z]binRangeLimit[0-9]For example, “420000:440000;510000:520000” or “000000:999999” or “” or “42000000:44000000;51000000:52000000” or “00000000:99999999”
subTypesclearingInstituteIdclearingInstituteName[a-f 0-9]32customDescriptor1 customDescriptor2 customDescriptor3Optional[A-Z a-z 0-9], [-_ ]selectionDescriptor1 selectionDescriptor2 selectionDescriptor3Optional[A-Z a-z 0-9], [-_ ]Success response
attachedMerchantAccountid[A-Z a-z 0-9], [-_ ]32currency[A-Z]binCountryLimit[A-Z]binRangeLimit[0-9]For example, “420000:440000;510000:520000” or “000000:999999” or “” or “42000000:44000000;51000000:52000000” or “00000000:99999999”
processTransactionsWithoutBinIdentificationtrue or falsesubTypesclearingInstitute[a-f 0-9]32descriptor[A-Z a-z 0-9], [-_ ]255Error response
Edit Attached Merchant Account
The call edits an attached merchant account.
Endpoints
/attachedMerchantAccounts/{attachedMerchantAccountId}URL parameters
attachedMerchantAccountIdrequired[a-f 0-9]32Data parameters
merchantAccountId[a-f 0-9]32fallbackMerchantAccountId[a-f 0-9]32processTransactionsWithoutBinIdentificationOptionaltrue or falsecurrency[A-Z]binCountryLimit[A-Z]binRangeLimit[0-9]subTypesclearingInstituteIdclearingInstituteName[a-f 0-9]32customDescriptor1 customDescriptor2 customDescriptor3Optional[A-Z a-z 0-9], [-_ ]selectionDescriptor1 selectionDescriptor2 selectionDescriptor3Optional[A-Z a-z 0-9], [-_ ]Success response
attachedMerchantAccountid[A-Z a-z 0-9], [-_ ]32currency[A-Z]binCountryLimit[A-Z]binRangeLimit[0-9]processTransactionsWithoutBinIdentificationtrue or falsesubTypesclearingInstitute[a-f 0-9]32descriptor[A-Z a-z 0-9], [-_ ]255Error response
Detach Merchant Account
The call detaches an attached merchant account.
- The success code is empty and the example is
{ }.
Endpoints
/attachedMerchantAccounts/{attachedMerchantAccountId}URL parameters
attachedMerchantAccountIdrequired[a-f 0-9]32Data parameters
No parameters are required.
Success response
No response body.
Error response
Get Attached Merchant Account list
The call lists the information about merchant accounts that are attached to a specific entity. Do not confuse with 09 Get Owned Merchant Account list.
The call Get Attached Merchant Account list is getting the merchant accounts that are attached to an entity, but might have been created under a different entity.
- Confluence note (2016-11-24): the call did not work at Division level. Still true?
Endpoints
/psps/{pspid}/attachedMerchantAccounts/divisions/{divisionid}/attachedMerchantAccounts/merchants/{merchantid}/attachedMerchantAccounts/channels/{channelId}/attachedMerchantAccountsURL parameters
pspIdrequired for option 1[a-f 0-9]32divisionIdrequired for option 2[a-f 0-9]32merchantIdrequired for option 3[a-f 0-9]32channelIdrequired for option 4[a-f 0-9]32Data parameters
No parameters are required
Success response
attachedMerchantAccountfallbackMerchantAccountIdid[A-Z a-z 0-9], [-_ ]32currency[A-Z]binCountryLimit[A-Z]binRangeLimit[0-9]processTransactionsWithoutBinIdentificationtrue or falsesubTypesclearingInstitute[a-f 0-9]32descriptor[A-Z a-z 0-9], [-_ ]255Error response
Get Owned Merchant Account list
The call lists the information about all merchant accounts that were created or attached at the level of a specific entity. Do not confuse with the Get Attached Merchant Account list.
The call Get Owned Merchant Account list is getting the merchant accounts that were created at the level of a specific entity but might have been attached to a different entity, and the merchant accounts that were attached to this specific entity.
Endpoints
/psps/{pspid}/ownedMerchantAccounts/divisions/{divisionid}/ownedMerchantAccounts/merchants/{merchantid}/ownedMerchantAccounts/channels/{channelId}/ownedMerchantAccountsURL parameters
pspIdrequired for option 1[a-f 0-9]32divisionIdrequired for option 2[a-f 0-9]32merchantIdrequired for option 3[a-f 0-9]32channelIdrequired for option 4[a-f 0-9]32Data parameters
No parameters are required
Success response
id[a-f 0-9]32name[A-Z a-z 0-9], [-_ ]256clearingInstitute[a-f 0-9]32See 03 Clearing Institute operations for the list of operations and the merchant account configuration per clearing institute.
supports3DSecureError response
3D Secure setup
The 3D Secure setup requires executing two calls in sequence.
- Confluence note (2016-11-08): the calls are yet to be verified and the page is to be filled with the remaining missing information.
- The Confluence page showed a second sample call (legacy host and personal credentials); it was removed.
- A response example could not be repaired into valid JSON and is shown as in the source.
- The error example is not valid JSON in the source and is shown as it is.
Endpoints
/merchantAccounts/{merchantAccountId}/merchants/{merchantid}/settingURL parameters
merchantAccountIdrequired[a-f 0-9]32Data parameters
/merchantAccounts/{merchantAccountId}supports3DSecurerequiredtrue/falsebooleanmerchant3DNamerequiredmerchant3DUrlrequiredmerchantIsoCountryCoderequiredmerchant3DIdrequiredmerchant3DCategoryrequiredVisa configurationvisaAcquirerMerchantIdvisaMerchantAcquirerBin_v2requiredvisaRequestorId_v2requiredvisaRequestorNamerequiredMasterCard configurationmasterAcquirerMerchantIdmasterMerchantAcquirerBin_v2requiredmasterRequestorId_v2requiredmasterRequestorNamerequiredAmerican Express configurationamexAcquirerMerchantIdamexMerchantAcquirerBin_v2requiredamexRequestorId_v2requiredamexRequestorNamerequiredDiners configurationdinersMerchantIdrequireddinersMerchantAcquirerBin_v2requireddinersRequestorId_v2requireddinersRequestorNamerequiredBCMC configurationbcmcMerchantAcquirerBin_v2requiredbcmcRequestorId_v2requiredbcmcRequestorNamerequiredJCB configurationjcbMerchantAcquirerBin_v2jcbRequestorId_v2jcbRequestorNameCashlinkMalta configurationcashlinkMaltaMerchantAcquirerBin_v2requiredcashlinkMaltaRequestorId_v2requiredcashlinkMaltaRequestorNamerequired/merchants/*/settingkeyrequiredvaluerequired- None
- No 3DSecure
- 3DSecure
- 3DSecurePassThrough
Success response
merchantAccountId[a-f 0-9]32to be addedError response
Generate EBICS PDF file
The call generates an EBICS PDF to receive the link for a chosen merchant account. Before executing the call, make sure the merchant account is working with EBICS.
Use the method GET to request the PDF URL without changing the settings for the three parameters listed in the Data Parameters table.
- Confluence note (2016-11-08): the call is yet to be verified and the page is to be filled with the remaining missing information. The Sample call is empty; the URL text reads “Check the enrollment status”.
- A response example could not be repaired into valid JSON and is shown as in the source.
Endpoints
/merchantAccounts/{merchantAccountId}/ebicsURL parameters
merchantAccountIdrequired[a-f 0-9]32Data parameters
initializerequiredtrue/falseBooleandtausActivatedConditionaltrue/falseBooleanIf this parameter is sent with the value "true", then the PDF URL is returned unsigned.
mt940ActivatedConditionaltrue/falseBooleanIf this parameter is sent with the value "true", then the PDF URL is returned unsigned.
Success response
ebicstrue/falseBooleaninitializedtrue/falseBooleandtausActivatedtrue/falseBooleanmt940Activatedtrue/falseBooleanpdfURLthe URLBooleanError response
Detach All Attached Merchant Accounts
The call detaches all merchant accounts that are attached to a specific entity.
- The success code reads “N/A”; destructive call.
- The Confluence page showed a second sample call (legacy host and personal credentials); it was removed.
Endpoints
/psps/{pspid}/attachedMerchantAccounts/divisions/{divisionid}/attachedMerchantAccounts/merchants/{merchantid}/attachedMerchantAccounts/channels/{channelId}/attachedMerchantAccountsURL parameters
pspIdrequired for option 1[a-f 0-9]32divisionIdrequired for option 2[a-f 0-9]32merchantIdrequired for option 3[a-f 0-9]32channelIdrequired for option 4[a-f 0-9]32Data parameters
No parameters required
Success response
No response body
Error response
Delete All Owned Merchant Accounts
The call deletes all owned merchant accounts that are created for a specific entity.
- Typo in Option 4 (“Delete allowned…”); the sample link text and URL disagreed (attached vs owned); destructive call.
- The Confluence page showed a second sample call (legacy host and personal credentials); it was removed.
Endpoints
/psps/{pspid}/ownedMerchantAccounts/divisions/{divisionid}/ownedMerchantAccounts/merchants/{merchantid}/ownedMerchantAccounts/channels/{channelId}/ownedMerchantAccountsURL parameters
pspIdrequired for option 1[a-f 0-9]32divisionIdrequired for option 2[a-f 0-9]32merchantIdrequired for option 3[a-f 0-9]32channelIdrequired for option 4[a-f 0-9]32Data parameters
No parameters required
Success response
Error response
RiRo settings operations
/psps/{pspid}/setting/divisions/{divisionsid}/settingmerchants/{merchantId}/settingchannels/{channelid}/setting/psps/{pspid}/setting/divisions/{divisionsid}/settingmerchants/{merchantId}/settingchannels/{channelid}/settingGet RiRo setting value
The call views the RiRo settings. Check the Keys for configuring RiRo settings for the complete list of keys.
- To verify with the SME: the overview lists PSP and Division paths as supported, while this page says they are “not supported” (probably forgotten in an update). The URL parameters table lists all four IDs as Required; the sample used
DD:active, the response exampleCC:active.
Endpoints
psps/{pspid}/setting- not supporteddivisions/{divisionsid}/setting- not supportedmerchants/{merchantId}/settingchannels/{channelid}/settingURL parameters
pspIdrequired[a-f 0-9]32divisionIdrequired[a-f 0-9]32merchantIdrequired[a-f 0-9]32channelIdrequired[a-f 0-9]32Data parameters
keyrequiredSuccess response
keyvalueTypevalueError response
Update RiRo setting value
The call allows modification of the RiRo settings. Check the Keys for configuring RiRo settings for the complete list of keys.
- This call lists all four levels as supported, unlike Get RiRo setting value. The “Keys for configuring RiRo settings” link pointed to another Confluence space (
/display/IO/).
Endpoints
psps/{pspid}/settingdivisions/{divisionsid}/settingmerchants/{merchantId}/settingchannels/{channelid}/settingURL parameters
pspIdrequired[a-f 0-9]32divisionIdrequired[a-f 0-9]32merchantIdrequired[a-f 0-9]32channelIdrequired[a-f 0-9]32Data parameters
keyrequiredvaluerequiredSuccess response
keyvalueTypevalueError response
API Tokens operations
merchants/{merchantId}/apiTokensapiTokens/{apiTokenId}merchants/{merchantId}/apiTokensapiTokens/{apiTokenId}/suspendapiTokens/{apiTokenId}/activateapiTokens/{apiTokenId}apiTokens/{apiTokenId}Get API Token List for Merchant
The call lists the information about all API Tokens that were created at the merchant specified by merchant id.
- Option 1 text reads “List the api tokensusing merchant id”; the Confluence example lacked its opening brace (repaired).
- The Confluence sample used
-X POST; corrected to-X GETto match the operation.
Endpoints
merchants/{merchantId}/apiTokensURL parameters
merchantIdrequired for option 1[a-f 0-9]32Data parameters
No parameters are required
Success response
apiTokensid[a-f 0-9]32alias[A-Z a-z 0-9],[-_]40createdTimeYYYY-MM-DD HH:mm:sslastDigits[A-Z a-z 0-9]*5,=6lastUsedTimeYYYY-MM-DD HH:mm:ssstateACTIVE/SUSPENDED/DELETEDError response
Get API Token
The call povides the information the API Token specified by id
- Option 1 text reads “List the api tokensusing merchant id” for a get-by-ID call; typo “povides”.
Endpoints
/apiTokens/{apiTokenId}URL parameters
apiTokenIdrequired for option 1[a-f 0-9]32Data parameters
No parameters are required
Success response
id[a-f 0-9]32alias[A-Z a-z 0-9],[-_]40createdTimeYYYY-MM-DD HH:mm:sslastDigits[A-Z a-z 0-9]*5,=6lastUsedTimeYYYY-MM-DD HH:mm:ssstateACTIVE/SUSPENDED/DELETEDError response
Create API Token for Merchant
The call adds a new api token for a merchant
- Option 1 text reads “Add a channel using merchant ID”; the error example is a copy of the channel example (“‘name’ is required”) although the call has no body.
Endpoints
/merchants/{merchantId}/apiTokensURL parameters
merchantIdrequired for option 1[a-f 0-9]32Data parameters
No body
Success response
id[a-f 0-9]32alias[A-Z a-z 0-9],[-_]40apiBearerToken[A-Z a-z 0-9 =]createdTimeYYYY-MM-DD HH:mm:sslastDigits[A-Z a-z 0-9 =]6lastUsedTimeYYYY-MM-DD HH:mm:ssstateACTIVE/SUSPENDED/DELETEDError response
errormessageSuspend API Token
The call suspend an api token
apiTokenIdis “Required for Option 1” but there is only one URL.
Endpoints
apiTokens/{apiTokenId}/suspendURL parameters
apiTokenIdrequired for option 1[a-f 0-9]32Data parameters
No body
Success response
id[a-f 0-9]32alias[A-Z a-z 0-9],[-_]40createdTimeYYYY-MM-DD HH:mm:sslastDigits[A-Z a-z 0-9]*5,=6lastUsedTimeYYYY-MM-DD HH:mm:ssstateSUSPENDEDError response
errormessageActivate API Token
The call to activate an API token
apiTokenIdis “Required for Option 1” but there is only one URL; the sample link text and target disagreed (activate vs suspend).
Endpoints
apiTokens/{apiTokenId}/activateURL parameters
apiTokenIdrequired for option 1[a-f 0-9]32Data parameters
No body
Success response
id[a-f 0-9]32alias[A-Z a-z 0-9],[-_]40createdTimeYYYY-MM-DD HH:mm:sslastDigits[A-Z a-z 0-9]*5,=6lastUsedTimeYYYY-MM-DD HH:mm:ssstateACTIVEError response
errormessageUpdate API Token
The call to update an api token
- Success description reads “Token was suspended”; the example shows state ACTIVE while the table says SUSPENDED.
Endpoints
apiTokens/{apiTokenId}URL parameters
apiTokenIdrequired for option 1[a-f 0-9]32Data parameters
aliasrequired[A-Z a-z 0-9], [-_]40Success response
id[a-f 0-9]32alias[A-Z a-z 0-9],[-_]40createdTimeYYYY-MM-DD HH:mm:sslastDigits[A-Z a-z 0-9]*5,=6lastUsedTimeYYYY-MM-DD HH:mm:ssstateSUSPENDEDError response
errormessageDelete API Token
The call to delete an api token
- Success description reads “Token was suspended”; the error example says only suspended tokens can be deleted.
Endpoints
apiTokens/{apiTokenId}URL parameters
apiTokenIdrequired for option 1[a-f 0-9]32Success response
Error response
errormessageWebhook operations
/psps/{pspid}/webhooks/divisions/{divisionsid}/webhooks/merchants/{merchantid}/webhooks/channels/{channelId}/webhooks/psps/{pspId}/webhooks/{webhookId}/divisions/{divisionsId}/webhooks/{webhookid}/merchants/{merchantId}/webhooks/{webhookId}/channels/{channelId}/webhooks/{webhookId}/psps/{pspId}/webhooks/{webhookId}/divisions/{divisionsId}/webhooks/{webhookid}/merchants/{merchantId}/webhooks/{webhookId}/channels/{channelId}/webhooks/{webhookId}/psps/{pspid}/webhooks/divisions/{divisionsid}/webhooks/merchants/{merchantid}/webhooks/channels/{channelId}/webhooks/psps/{pspId}/webhooks/{webhookId}/divisions/{divisionsId}/webhooks/{webhookid}/merchants/{merchantId}/webhooks/{webhookId}/channels/{channelId}/webhooks/{webhookId}/psps/{pspId}/webhooks/{webhookId}/validate/divisions/{divisionsId}/webhooks/{webhookid}/validate/merchants/{merchantId}/webhooks/{webhookId}/validate/channels/{channelId}/webhooks/{webhookId}/validate/psps/{pspId}/webhooks/{webhookId}/state/divisions/{divisionsId}/webhooks/{webhookid}/state/merchants/{merchantId}/webhooks/{webhookId}/state/channels/{channelId}/webhooks/{webhookId}/stateAdd Webhook
The call adds a webhook.
The webhook can be created at PSP, division, merchant, or channel levels.
- The Method value is missing in the Confluence export; POST taken from the Webhook operations overview.
Endpoints
/PSPs/{pspId}/webhooks/divisions/{divisionsId}/webhooks/merchants/{merchantId}/webhooks/channels/{channelId}/webhooksURL parameters
pspIdrequired for option 1[a-f 0-9]32divisionIdrequired for option 2[a-f 0-9]32merchantIdrequired for option 3[a-f 0-9]32channelIdrequired for option 4[a-f 0-9]32Data parameters
endpointstarts with http or httpsnotificationTypes.{group}Possible groups and their corresponding event values are:
payments - ALL,AD,PA,CB,CD,CP,CR,DB,RB,RC,RF,RL,RV,CL,CT,PO
registrations - ALL
schedules - ALL,SD,RS,DS
risks - ALL,MD,EA,RI,3D,SA,EN,IC,DP,CG,TG,SF,IS,VD,DV,AF,GK,RD,TM,FT,KT,AR,AL,PL,FN,FZ,RE,RX,AC,CS,FO,EX,SE
Restrictions:
ALL cannot be combined with other values.
Multiple event values can be combined using commas, e.g. notificationTypes.payments=PA,CB.
At least one event must be present.
presetALL - full payload
NON_CUSTOMER_DATA - exclude sensitive fields
wrapperPossible values are:
(default) - hex string
JSON - wrapped in JSON
secret[0-9 a-f A-F]64emailsSuccess response
Response is a webhook object with the following structure:
id[a-f 0-9]32entityId[a-f 0-9]32confirmedfalse/trueactivefalse/trueendpointstarts with http or httpsnotificationTypes.{group}Each group is an array in which possible values are:
payments - ALL,AD,PA,CB,CD,CP,CR,DB,RB,RC,RF,RL,RV,CL,CT,PO
registrations - ALL
schedules - ALL,SD,RS,DS
risks - ALL,MD,EA,RI,3D,SA,EN,IC,DP,CG,TG,SF,IS,VD,DV,AF,GK,RD,TM,FT,KT,AR,AL,PL,FN,FZ,RE,RX,AC,CS,FO,EX,SE
presetALL - full payload
NON_CUSTOMER_DATA - exclude sensitive fields
wrapperPossible values are:
(default) - hex string
JSON - wrapped in JSON
secret[0-9 a-f A-F]64emailsThe newly added webhook is inactive by default. Use Update Webhook State to activate it.
Error response
Get Webhook
The call gets information about an existing webhook.
The webhook can be retrieved at PSP, division, merchant, or channel levels.
Endpoints
/psps/{pspId}/webhooks/{webhookId}/divisions/{divisionsId}/webhooks/{webhookid}/merchants/{merchantId}/webhooks/{webhookId}/channels/{channelId}/webhooks/{webhookId}URL parameters
| pspId | The ID of the PSP. | [a-f 0-9] | 32 | Required for Option 1 |
| divisionId | The ID of the division. | [a-f 0-9] | 32 | Required for Option 2 |
| merchantId | The ID of the merchant. | [a-f 0-9] | 32 | Required for Option 3 |
| channelId | The ID of the channel. | [a-f 0-9] | 32 | Required for Option 4 |
| webhookId | The ID of the webhook. | [a-f 0-9] | 32 | Required |
Data parameters
No parameters required.
Success response
| 200: OK | The request was successful. |
Response is a webhook object with the following structure:
| id | The webhook ID. | [a-f 0-9] | 32 |
| entityId | The entity (PSP, division, merchant, or channel) ID, where the webhook is attached to. | [a-f 0-9] | 32 |
| confirmed | The flag indicating whether the webhook is validated. | false/true | - |
| active | The flag indicating whether the webhook is active. | false/true | - |
| endpoint | The public endpoint that will receive the webhook notifications. | starts with http or https | - |
| notificationTypes.{group} | Subscribed events. Each group is an array in which possible values are: payments - ALL,AD,PA,CB,CD,CP,CR,DB,RB,RC,RF,RL,RV,CL,CT,PO registrations - ALL schedules - ALL,SD,RS,DS risks - ALL,MD,EA,RI,3D,SA,EN,IC,DP,CG,TG,SF,IS,VD,DV,AF,GK,RD,TM,FT,KT,AR,AL,PL,FN,FZ,RE,RX,AC,CS,FO,EX,SE | - | - |
| preset | Possible values are: ALL - full payload NON_CUSTOMER_DATA - exclude sensitive fields | - | - |
| wrapper | Format of the payload. Possible values are: (default) - hex string JSON - wrapped in JSON | - | - |
| secret | A 64-character hex string used to encrypt the payload. | [0-9 a-f A-F] | 64 |
| emails | Array of email addresses to receive daily failure summaries. | - | - |
Response Example
Error response
| 200.*.* | Used to tunnel errors. Check the error message. |
Example
Edit Webhook
The call edits a webhook.
The webhook can be edited at PSP, division, merchant, or channel levels.
Endpoints
/psps/{pspId}/webhooks/{webhookId}/divisions/{divisionsId}/webhooks/{webhookId}/merchants/{merchantId}/webhooks/{webhookId}/channels/{channelId}/webhooks/{webhookId}URL parameters
| pspId | The ID of the PSP. | [a-f 0-9] | 32 | Required for Option 1 |
| divisionId | The ID of the division. | [a-f 0-9] | 32 | Required for Option 2 |
| merchantId | The ID of the merchant. | [a-f 0-9] | 32 | Required for Option 3 |
| channelId | The ID of the channel. | [a-f 0-9] | 32 | Required for Option 4 |
| webhookId | The ID of the webhook. | [a-f 0-9] | 32 | Required |
Data parameters
If the request is submitted with parameters set to empty spaces, for example, name=<single space>, this deletes the previous values and leaves the fields blank.
The parameters not included in the request are not changed. To avoid nullifying valid values, skip the parameters that do not require an update.
| endpoint | The public endpoint that will receive the webhook notifications. | starts with http or https | - |
| notificationTypes.{group} | Events to subscribe to. Possible groups and their corresponding event values are: payments - ALL,AD,PA,CB,CD,CP,CR,DB,RB,RC,RF,RL,RV,CL,CT,PO registrations - ALL schedules - ALL,SD,RS,DS risks - ALL,MD,EA,RI,3D,SA,EN,IC,DP,CG,TG,SF,IS,VD,DV,AF,GK,RD,TM,FT,KT,AR,AL,PL,FN,FZ,RE,RX,AC,CS,FO,EX,SE Restrictions: ALL cannot be combined with other values. Multiple event values can be combined using commas, e.g. notificationTypes.payments=PA,CB. At least one event must be present. | - | - |
| preset | Possible values are: ALL - full payload NON_CUSTOMER_DATA - exclude sensitive fields | - | - |
| wrapper | Format of the payload. Possible values are: (default) - hex string JSON - wrapped in JSON | - | - |
| secret | A 64-character hex string used to encrypt the payload. If empty, a random secret is generated. | [0-9 a-f A-F] | 64 |
| emails | One or more email addresses to receive daily failure summaries. Use commas to separate email addresses. | - | - |
Success response
| 200: OK | The request was successful. |
Response is a webhook object with the following structure:
| id | The webhook ID. | [a-f 0-9] | 32 |
| entityId | The entity (PSP, division, merchant, or channel) ID, where the webhook is attached to. | [a-f 0-9] | 32 |
| confirmed | The flag indicating whether the webhook is validated. | false/true | - |
| active | The flag indicating whether the webhook is active. | false/true | - |
| endpoint | The public endpoint that will receive the webhook notifications. | starts with http or https | - |
| notificationTypes.{group} | Subscribed events. Each group is an array in which possible values are: payments - ALL,AD,PA,CB,CD,CP,CR,DB,RB,RC,RF,RL,RV,CL,CT,PO registrations - ALL schedules - ALL,SD,RS,DS risks - ALL,MD,EA,RI,3D,SA,EN,IC,DP,CG,TG,SF,IS,VD,DV,AF,GK,RD,TM,FT,KT,AR,AL,PL,FN,FZ,RE,RX,AC,CS,FO,EX,SE | - | - |
| preset | Possible values are: ALL - full payload NON_CUSTOMER_DATA - exclude sensitive fields | - | - |
| wrapper | Format of the payload. Possible values are: (default) - hex string JSON - wrapped in JSON | - | - |
| secret | A 64-character hex string used to encrypt the payload. | [0-9 a-f A-F] | 64 |
| emails | Array of email addresses to receive daily failure summaries. | - | - |
Example
Error response
| 200.*.* | Used to tunnel errors. Check the error message. |
Example
List Webhooks
The call allows listing information about existing webhooks.
The webhooks can be retrieved at PSP, division, merchant, or channel levels.
- The Error response is empty in the source.
Endpoints
/psps/{pspId}/webhooks/divisions/{divisionsId}/webhooks/merchants/{merchantId}/webhooks/channels/{channelId}/webhooksURL parameters
| pspId | The ID of the PSP. | [a-f 0-9] | 32 | Required for Option 1 |
| divisionId | The ID of the division. | [a-f 0-9] | 32 | Required for Option 2 |
| merchantId | The ID of the merchant. | [a-f 0-9] | 32 | Required for Option 3 |
| channelId | The ID of the channel. | [a-f 0-9] | 32 | Required for Option 4 |
Data parameters
No parameters required.
Success response
| 200: OK | The request was successful. |
Response is a webhooks array, where each element has the following structure:
| id | The webhook ID. | [a-f 0-9] | 32 |
| entityId | The entity (PSP, division, merchant, or channel) ID, where the webhook is attached to. | [a-f 0-9] | 32 |
| confirmed | The flag indicating whether the webhook is validated. | false/true | - |
| active | The flag indicating whether the webhook is active. | false/true | - |
| endpoint | The public endpoint that will receive the webhook notifications. | starts with http or https | - |
| notificationTypes.{group} | Subscribed events. Each group is an array in which possible values are: payments - ALL,AD,PA,CB,CD,CP,CR,DB,RB,RC,RF,RL,RV,CL,CT,PO registrations - ALL schedules - ALL,SD,RS,DS risks - ALL,MD,EA,RI,3D,SA,EN,IC,DP,CG,TG,SF,IS,VD,DV,AF,GK,RD,TM,FT,KT,AR,AL,PL,FN,FZ,RE,RX,AC,CS,FO,EX,SE | - | - |
| preset | Possible values are: ALL - full payload NON_CUSTOMER_DATA - exclude sensitive fields | - | - |
| wrapper | Format of the payload. Possible values are: (default) - hex string JSON - wrapped in JSON | - | - |
| secret | A 64-character hex string used to encrypt the payload. | [0-9 a-f A-F] | 64 |
| emails | Array of email addresses to receive daily failure summaries. | - | - |
Response Example
Delete Webhook
The call deletes an existing webhook.
The webhook can be deleted at PSP, division, merchant, or channel levels.
Endpoints
/psps/{pspId}/webhooks/{webhookId}/divisions/{divisionsId}/webhooks/{webhookid}/merchants/{merchantId}/webhooks/{webhookId}/channels/{channelId}/webhooks/{webhookId}URL parameters
| pspId | The ID of the PSP. | [a-f 0-9] | 32 | Required for Option 1 |
| divisionId | The ID of the division. | [a-f 0-9] | 32 | Required for Option 2 |
| merchantId | The ID of the merchant. | [a-f 0-9] | 32 | Required for Option 3 |
| channelId | The ID of the channel. | [a-f 0-9] | 32 | Required for Option 4 |
| webhookId | The ID of the webhook. | [a-f 0-9] | 32 | Required |
Data parameters
No parameters required.
Success response
| 200: OK | The request was successful. |
Response Example
Error response
| 200.*.* | Used to tunnel errors. Check the error message. |
Example
Validate Webhook
The call sends a test webhook request to the registered endpoint. If the request is successful (2xx), the webhook is marked as confirmed.
Use this endpoint if you only want to validate your endpoint, without activating it. To validate and activate at the same time, use Update Webhook State.
The webhook can be validated at PSP, division, merchant, or channel levels.
Endpoints
/psps/{pspId}/webhooks/{webhookId}/validate/divisions/{divisionsId}/webhooks/{webhookid}/validate/merchants/{merchantId}/webhooks/{webhookId}/validate/channels/{channelId}/webhooks/{webhookId}/validateURL parameters
| pspId | The ID of the PSP. | [a-f 0-9] | 32 | Required for Option 1 |
| divisionId | The ID of the division. | [a-f 0-9] | 32 | Required for Option 2 |
| merchantId | The ID of the merchant. | [a-f 0-9] | 32 | Required for Option 3 |
| channelId | The ID of the channel. | [a-f 0-9] | 32 | Required for Option 4 |
| webhookId | The ID of the webhook. | [a-f 0-9] | 32 | Required |
Data parameters
No parameters required.
Success response
| 200: OK | The request was successful. |
Response is a validation object with the following structure:
| body | The response body. | - | - |
| header | The response headers. | - | - |
| statusCode | The HTTP response status code. | - | - |
If the statusCode is successful (2xx), the webhook is marked as confirmed.
Response Example
Error response
| 200.*.* | Used to tunnel errors. Check the error message. |
Example
Update Webhook State
The call activates or deactivates the webhook. In case of activation, a test webhook request is sent (the same action as Validate Webhook). If the request is successful (2xx), the webhook becomes active.
The webhook state can be updated at PSP, division, merchant, or channel levels.
- The Method value is missing in the Confluence export; POST taken from the Webhook operations overview.
Endpoints
/psps/{pspId}/webhooks/{webhookId}/state/divisions/{divisionsId}/webhooks/{webhookid}/state/merchants/{merchantId}/webhooks/{webhookId}/state/channels/{channelId}/webhooks/{webhookId}/stateURL parameters
pspIdrequired for option 1[a-f 0-9]32divisionIdrequired for option 2[a-f 0-9]32merchantIdrequired for option 3[a-f 0-9]32channelIdrequired for option 4[a-f 0-9]32webhookIdrequired[a-f 0-9]32Data parameters
No parameters required.
Success response
Response is a validation object with the following structure:
bodyheaderstatusCodeIf the statusCode is successful (2xx), the webhook is marked as confirmed and active.