Skip to content

Sprzedawca

Na tej stronie znajdziesz informacje na temat onboardingu i aktualizacji submerchanta, a także, jak radzić sobie z błędami i sprawdzać kody statusu webhooka.

Onboarding Merchanta

Proces wdrażania oparty na API (FULL CODE) eliminuje potrzebę ręcznego wdrażania poprzez automatyczne generowanie submerchantów, placówek, cenników, terminali i odpowiadających im danych uwierzytelniających.

Notification

Paramentry merchanta NIP i backofficeEmail w żądaniu POST muszą mieć unikalne wartości i nie powinny być ponownie użyte.

Próba ponownego użycia tych wartości zakończy się niepowodzeniem w procesie wdrożenia.

Sprawdź poniżej dostępne endpointy środowiska:

ŚrodowiskoURLMetoda działania i endpointyOpis działania
PRODapi.sibsgateway.comPOST api/onboarding/version-id/ sponsored-merchantAby zainicjować ten proces, należy wykonać żądanie POST z następującymi danymi.
TESTstargate.qly.site1.sibs.ptPOST api/onboarding/version-id/ sponsored-merchantAby zainicjować ten proces, należy wykonać żądanie POST z następującymi danymi.

Aby zainicjować ten proces, należy wykonać żądanie POST z następującymi danymi.

Parametry nagłówka:
ParametrTypStanOpis
Typ zawartościCiągObowiązkoweapplication/json.
X-Request-IDCiągObowiązkoweIdentyfikator żądania, unikalny dla połączenia, określony przez stronę inicjującą.
x-ibm-client-idCiągObowiązkoweToken identyfikujący organizację klienta. Jest on dostarczany podczas procesu wdrażania i musi być używany w każdym połączeniu.
Parametry żądania:
Data ElementType LengthConditionDescription
merchantObjectMandatoryRoot object for merchant data
merchant.nameString
<=90
MandatoryMerchant’s full name
merchant.phoneString
<=16
MandatoryMerchant’s phone number.
merchant.emailString
<=55
MandatoryMerchant’s email address
merchant.nipString
8<11
MandatoryMerchant’s tax identification number 
merchant.mccNumber
4-4
MandatoryMerchant Category Code
merchant.pkdString
7-7
MandatoryClassification of economic activities code (Polish PKD system).
The format of this parameter will be as Follows:
00.00.A
merchant.merchantTypeEnumMandatoryMerchant type description
Allowed value:
“Sponsored Merchant”
merchant.addressobjectMandatoryMerchant’s Address
merchant.address.streetString
<=70
MandatoryStreet name
merchant.address.postalCodeString
<=25
MandatoryPostal Code
merchant.address.localityString
<=20
MandatoryCity or locality
merchant.address.countryNumber
3-3
MandatoryCountry code
(Format ISO 3166, Number 3 code — ex: Poland – 616)
merchant.websiteString
<=100
MandatoryMerchant’s website URL
merchant.signedAgreementsEnumMandatoryFlag indicating if agreements are signed
Allowed Value:
“False”
merchant.backofficeEmailString
<=55
MandatorySIBS Backoffice contact email
merchant.pepStatusEnumMandatoryPolitically Exposed Person status
Allowed value:
“Inactive” 
merchant.ownersArray of objectsMandatoryList of merchant owners
merchant.owners[].nameString
<=20
MandatoryOwner’s full name
merchant.owners[].phoneString
<=16
ConditionalOwner’s phone number.
At least one phone number or email must be provided.
merchant.owners[].emailString
<=55
ConditionalOwner’s email address
At least one phone number or email must be provided.
merchant.owners[].addressString
<=100
OptionalOwner’s address
merchant.owners[].tinString
8<11
MandatoryOwner’s tax identification number
merchant.integrationSupportContactObjectOptionalContact person for integration support
merchant.integrationSupportContact.nameString
<=20
OptionalName of integration contact person
merchant.integrationSupportContact.phoneString
<=16
ConditionalPhone number of integration contact
At least one phone number or email must be provided.
merchant.integrationSupportContact.emailString
<=55
ConditionalEmail address Contact for integration Support
At least one phone number or email must be provided.
merchant.shopobjectMandatoryShop details
merchant.shop.nameString
<=40
OptionalShop Name.
If this field is left empty, the system will default to using the value specified at the Merchant level.
merchant.shop.addressobjectOptionalShop Address
merchant.shop.address.streetStringOptionalShop street
If this field is left empty, the system will default to using the value specified at the Merchant level.
merchant.shop.address.postalcodeString
<=25
OptionalShop postal code
If this field is left empty, the system will default to using the value specified at the Merchant level.
merchant.shop.address.localityString
<=20
OptionalShop city/locality
If this field is left empty, the system will default to using the value specified at the Merchant level.
merchant.shop.address.countryNumber
3-3
OptionalShop country code
(Format ISO 3166, Number 3 code — ex: Poland – 616)
If this field is left empty, the system will default to using the value specified at the Merchant level.
merchant.shop.emailString
<=55
OptionalShop email address
If this field is left empty, the system will default to using the value specified at the Merchant level.
merchant.shop.phoneNumberString
<=16
OptionalShop phone number
If this field is left empty, the system will default to using the value specified at the Merchant level.
merchant.shop.typeEnumMandatoryShop Type
Allowed values:
“Banks”,
“Wholesale”,
“Supermarket”,
“Retail”,
“Gas Stations”,
“Restaurants”,
“Hotels”,
“Others”,
“Virtual Establishment”,
“Foreign”,
“Service Provider”,
“Service Entity”,
“EMV Tolls”
merchant.shop.mccString
4-4
MandatoryShop Merchant Category Code
merchant.shop.pkdString
7-7
MandatoryClassification of economic activities code (Polish PKD system).
The format of this parameter will be as Follows:
00.00.A
merchant.shop.invoiceIndicatorEnumMandatoryShop Invoice Indicator type
Allowed value:
“Payment Facilitator”
merchant.shop.productsArray of objectsMandatoryList of products
merchant.shop.product[]productIdStringMandatoryPayment methods to be activated.
Allowed values:
“INTP-BLIK-0-0” InterPay-BLIK-Domestic
“INTP-BLIK-1-0” – InterPay-BLIK-OneClick
“BLMD-PYBL-0-0” BlueMedia-PayByLink-Domestic
“MRKP-CRTB-0-0” – Cartes Bancaires
“SIBS-MBWY-0-0” – MB WAY
“SPDD-BTOB-0-0” – SEPA DD B2B
“SPDD-CORE-0-0” – SEPA DD Core
“XPAY-APPL-0-0” – ApplePay
“XPAY-GGLE-0-0” – GooglePay
“MCC-1-C” – Mastercard-Mastercard-Consumer-Credit
“MCC-1-D” – Mastercard-Mastercard-Consumer-Debit
“MCC-1-P” – Mastercard-Mastercard-Consumer-Prepaid
“MCC-2-C” – Mastercard-Mastercard-Commercial-Credit
“MCC-2-P” – Mastercard-Mastercard-Commercial-Prepaid
“MCC-4-C” – Mastercard-Mastercard-Other-Credit
“MCC-4-D” – Mastercard-Mastercard-Other-Debit
“MCC-4-P” – Mastercard-Mastercard-Other-Prepaid
“MSI-1-D” – Mastercard-Maestro-Consumer-Debit
“MSI-1-P” – Mastercard-Maestro-Consumer-Prepaid
“MSI-2-D” – Mastercard-Maestro-Commercial-Debit
“MSI-2-P” – Mastercard-Maestro-Commercial-Prepaid
“VIS-02-C” – VISA-VISA-Commercial-Credit
“VIS-02-D” – VISA-VISA-Commercial-Debit
“VIS-02-P” – VISA-VISA-Commercial-Prepaid
“VIS-01-C” – VISA-VISA-Consumer-Credit
“VIS-01-D” – VISA-VISA-Consumer-Debit
“VIS-01-P” – VISA-VISA-Consumer-Prepaid
“VPY-03-D” – VISA-VPAY-VPAY-Debit
“VPY-03-P” – VISA-VPAY-VPAY-Prepaid
“VSL-01-C” – VISA-VISA Electron-Consumer-Credit
“VSL-01-D” – VISA-VISA Electron-Consumer-Debit
“VSL-01-P” – VISA-VISA Electron-Consumer-Prepaid
merchant.shop.product[]productInvoiceIndicatorEnum

MandatoryProduct Invoice Indicator
Allowed Values:
“Payment Facilitator”
merchant.shop.typeOfIntegrationEnumMandatoryMerchant type of integration
Allowed Values:
“S2S”
“SDK”
“Plugin”
Default “S2S”
merchant.shop.webhookNotificationobjectConditionalObject that defines the webhook configuration details
Mandatory if typeOfIntegration is “Plugin”.
merchant.shop.webhookNotification.typeEnumConditionalType of webhook notifications.
Allowed values:
“URL”
“Email”
Mandatory if typeOfIntegration is “Plugin”.
If “Plugin”, the value must be “URL”
merchant.shop.webhookNotification.ValueStringConditionalA delivery email address (for email type), or an HTTP(S) URL
Mandatory if typeOfIntegration is “Plugin”
merchant.shop.supportEmailString
<=55
ConditionalAn email address to where all failed SPG Webhook calls will be reported by the end-of-day
Mandatory if typeOfIntegration is “Plugin”
merchant.shop.securityKeyString
>=32
OptionalA pseudo-random symmetric key that will be used to cipher the webhook content

Ponizej znajduje się przykład żadania POST

{
  "merchant": {
    "name": "Testing Company",
    "phone": "501234567",
    "email": "merchant@example.pl",
    "nip": "1234567890",
    "mcc": "5999",
    "pkd": "47.91.Z",
    "merchantType": "Sponsored Merchant",
    "address": {
      "street": "UL PRZYKŁADOWA 1",
      "postalCode": "00-001",
      "locality": "WARSZAWA",
      "country": "616"
    },
    "website": "https://www.testingcompany.pl",
    "signedAgreements": false,
    "backofficeEmail": "backoffice@example.pl",
    "pepStatus": "Inactive",
    "owners": [
      {
        "name": "Jane Doe",
        "email": "jane.doe@example.pl",
        "tin": "1234567890"
      }
    ],
    "shop": {
      "name": "Testing Store",
      "email": "shop@example.pl",
      "phoneNumber": "501234567",
      "type": "Retail",
      "mcc": "5999",
      "pkd": "47.91.Z",
      "invoiceIndicator": "Payment Facilitator",
      "products": [
        {
          "productId": "MCC-1-C",
          "productInvoiceIndicator": "Payment Facilitator"
        },
        {
          "productId": "MCC-1-D",
          "productInvoiceIndicator": "Payment Facilitator"
        },
        {
          "productId": "VIS-01-C",
          "productInvoiceIndicator": "Payment Facilitator"
        },
        {
          "productId": "VIS-01-D",
          "productInvoiceIndicator": "Payment Facilitator"
        }
      ],
      "typeOfIntegration": "S2S"
    }
  }
}

Po wykonaniu tej czynności interfejs API (FULL CODE) odpowie jednym z dwóch poniższych kodów stanu:

Kod statusuWiadomośćTransactionStatus
000Sukces“ACTC” (Accepted Technical Validation)
999Unexpected Error“RJT” (Rejected)

Oto przykład udanej odpowiedzi onboardingowej:

{
"transactionStatus": "ACTC",
    "returnStatus": {
        "statusCode": "000" 
        "statusMsg": "Success",
        "statusDescription": "string"
    }
}

Otrzymasz również onboarding Webhook, który zawiera następujące szczegóły onboardingu sprzedawcy i dane uwierzytelniające.

Oto zredagowany przykład udanego powiadomienia Webhook:

{
    "NotifyRequest": {
        "TrackingId": "00caa675-f811-45ed-aee3-b84c22ac3efc",
        "TIN": "000****123",
        "MerchantId": "PL-000****123-1",
        "ShopId": "SH-PL-000000321",
        "TerminalId": "POS000159",
        "ErrCode": "CRM000",
        "ErrDesc": "Success",
        "Agreements": {
            "AgreementType": "PLKV"
        },
        "Credentials": {
            "ApiClientId": "2a69a780-****-****-****-1c6308af85f0",
            "ApiClientSecret": "K1rK*******************************0uU6",
            "TerminalToken": "0277a2c645e93c43f59ce867ee55498293*******5272db028ad9c9fa250edd04d9cac5d42910950e2acb82034093d14830e649c3d6df2cc0f92268f79"
         }
    }
}
Notification

Zwróć uwagę na następujące podstawowe dane uwierzytelniające dla Integracji API:

 

Credentials.ApiClientId: The API Client ID needed for calling the Payment API, provided as the 'x-ibm-client-id’HTTP header.

 

Credentials.ApiClientSecret: Currently not required for any Payment API, but it should be stored securely in case it’s needed in the future.

 

Credentials.TerminalToken: The OAuth Bearer Token to be used as the 'Authorization:Bearer’ HTTP header for the Checkout API and Backoffice API.

Aktualizacja merchanta

Zapewniamy również możliwość aktualizacji informacji o merchancie za pośrednictwem naszego API. Prosimy o zapoznanie się z listą dostępnych environment endpoints:

ŚrodowiskoURLMetoda działania i endpointyOpis działania
PRODapi.sibsgateway.comPUT /api/onboarding/v1/sponsored-merchant/{merchant-id}Aktualizuj zasób merchanta
TESTstargate.qly.site1.sibs.ptPUT /api/onboarding/v1/sponsored-merchant/{merchant-id}Aktualizuj zasób merchanta

Aby rozpocząć ten proces, należy wykonać żądanie PUT zawierające następujące dane:

Parametry
ParametrTypStanWymaganiaOpis
Content-typeCiągObowiązkoweNagłowekapplication/json
X-Request-IDCiągObowiązkoweNagłowekŻądanie indentyfikatora ID, unikalne do połączenia, określony przez stronę inicjującą.
merchant-idCiągObowiązkoweŚcieżkaID sponsorowanego merchanta
x-ibm-client-idCiągObowiązkoweNagłowekToken identyfikujący organizację klienta. Jest on dostarczany podczas procesu onboardingu i musi być używany w każdym połączeniu.

The following details outline the parameters eligible for modification, including their data types, length constraints, update conditions, and brief descriptions:

Parametry zapytania
Data ElementType LengthConditionDescription
merchantObjectMandatoryMain object containing merchant details
merchant.phoneString
<=16
MandatoryPhone number of the merchant
merchant.emailString
<=55
MandatoryEmail address of the merchant
merchant.addressObjectMandatoryMerchant’s address object
merchant.address.streetString
<=100
MandatoryStreet name of the merchant’s address
merchant.address.postalCodeString
<=25
MandatoryPostal code of the merchant’s address
merchant.address.localityString
<=20
MandatoryCity/locality of the merchant’s address
merchant.websiteString
<=100
MandatoryMerchant’s website URL

Sprawdź poniżej przykład żadania PUT:

{
  "merchant": {
    "phone": "505102923",
    "email": "fds@op.pl",
    "address": {
      "street": "UL IMAGINARY",
      "postalCode": "85-132",
      "locality": "BYDGOSZCZ"
    },
    "website": "www.yolo.pl"
  }
}

After the request, the API will respond with one of the two status codes:

Kod statusuWiadomośćTransactionStatus
000Sukces“ACT” (Accepted Technical Validation)
999Unexpected Error“RJT” (Rejected)

Obsługa błędów

Jeśli w procesie onboardingu wystąpi odrzucenie, otrzymana zostanie synchroniczna odpowiedź zawierająca status transakcji z wartością RJCT (odrzucony) i kodem statusu 999.

Ta odpowiedź będzie zawierać kod błędu i pola komunikatów, które mogą pomóc w zidentyfikowaniu i rozwiązaniu problemu.

Przykład odrzuconej odpowiedzi onboardingowej:

{
"transactionStatus": "RJCT",
    "returnStatus": {
        "statusCode": "999",
        "statusMsg": "Internal Server Error",
        "statusDescription": "When invoiceIndicator is Sponsored Merchant invoiceEmail and payout object are mandatory."
    }
}

Kody statusów w webhookach

Poniżej znajduje się zakres kodów statusu i wiadomości, które można odbierać za pośrednictwem webhooków.

Kod statusuWiadomośćOperationsDetails
CRM000Sukces.n/an/a
CRM001Sponsorowany mechant już istnieje.Merchant OnboardingA Sponsored Merchant with the received TIN already exists.
CRM002PKD jest nie poprawny.Merchant Onboarding

Merchant Update

Create shop

Update shop
PKD does not exist in the list of configured PKDs.
CRM003Kod MCC jest niepoprawny.Merchant Onboarding

Merchant Update

Create shop

Update shop
MCC does not exist in the list of configured MCCs.
CRM005IBAN jest niepoprawny.Merchant OnboardingIBAN is invalid according to the implemented validation rules.
CRM006Lista produktów nie jest zgodna z umową z dostawcą usług płatniczych.Merchant Onboarding

Create shop

Add payment method
Sent products are not listed among the products enabled for the Payment Facilitator (PF).
CRM007Brak wymaganego pola [field_name]AllA required attribute in the API invocation was not sent.
CRM008Payment Facilitator jest nieprawidłowy.AllPayment Facilitator ID does not exist in the system.
CRM009Produkt [product] jest zduplikowany.Merchant Onboarding

Create shop

Add payment method

Delete payment method
Duplicate products in the API.
CRM010Wskaźnik faktury jest nieprawidłowy.Merchant Onboarding

Create shop

Add payment method
The value of the „Invoice Indicator” attribute is not compatible with the PF configuration.
CRM011Product of Establishment został już dodany jako Establishment ProductAdd payment methodThe specified product is already among the products of the Establishment.
CRM012Kod produktu [product_code] jest nieprawidłowy.Merchant Onboarding

Create shop

Add payment method
Product does not exist in the list of products accepted via API.
CRM013Kraj sponsorowanego merchanta nie jest zgodny z krajem siedziby podmiotu pośredniczącego w płatnościach.Merchant Onboarding

Create shop

Update shop
Establishment’s country code does not match the country code of the Payment Facilitator.
CRM015Produkt [product1] jest zależny od [product2] i nie jest cześcią listy produktówMerchant Onboarding

Create shop

Add payment method

Delete payment method
Failed to validate product compatibility rules.
CRM016Produkt [product1] jest niekompatybilny z [product2] i oba znajdują się obecnie na liście produktów.Merchant Onboarding

Create shop

Add payment method

Delete payment method
Failed to validate product compatibility rules.
CRM017Produkt [product1]jest obowiązkowy z [product2] i nie jest częścią listy produktów.Merchant Onboarding

Create shop

Add payment method

Delete payment method
Failed to validate product compatibility rules.
CRM018Nieprawidłowy typ integracji.Merchant Onboarding

Create shop

Update shop
Integration type in the Webhook is invalid.
CRM019Dane Webhook są wymagane dla danego typu integracji.Merchant Onboarding

Create shop

Update shop
Integration type in the Webhook does not match the submitted data.
CRM020Nieprawidłowe powiadomienie webhook dla danego typu integracji.Merchant Onboarding

Create shop

Update shop
Notification type defined in the Webhook does not match the Webhook type.
CRM021Nieprawidłowe powiadomienie webhook.Merchant Onboarding

Create shop

Update shop
Notification type in the Webhook is invalid.
CRM022Wartość powiadomienia Webhook nie jest zdefiniowana dla danego powiadomienia Webhook.Merchant Onboarding

Create shop

Update shop
Notification type defined in the Webhook does not match the Webhook type
CRM023Webhook Notification Value musi być prawidłowym adresem e-mail.Merchant Onboarding

Create shop

Update shop
For the notification type defined in the Webhook, a valid email must be provided.
CRM024Webhook Notification Value musi być prawidłowym adresem url http(s).Merchant Onboarding

Create shop

Update shop
For the notification type defined in the Webhook, a valid URL must be provided.
CRM025Zamówienie na numer TIN wciąż w toku [TIN_value].Merchant OnboardingThere is an order in progress/processing for the indicated TIN.
CRM029Establishment ExternalID już istnieje.Create shopThe Payment Facilitator is sending a request to create an Establishment that already exists in the system.
CRM030Zamówienie dla Establishment wciąż toku [establishment_id].Create shop

Update shop

Create Terminal

Add payment method

Cancel terminal

Delete payment method
There is an order in progress for the indicated Establishment.
CRM031TerminalID już istnieje.Create TerminalThe Payment Facilitator is sending a request to create a Terminal that already exists in the system for the indicated Establishment.
CRM032Payment Facilitator jest nieprawidłowy.Create shop

Create Terminal

Merchant Update

Update shop
During SM creation, the Payment Facilitator’s configuration is not complete.
CRM033Sponsorowany merchant jest nieprawidłowy.Merchant Update

Create shop

Update shop

Create Terminal

Cancel shop

Cancel terminal

Delete payment method
The indicated Sponsored Merchant does not exist or is not in a valid state.
CRM034Establishment jest nieprawidłowy.Update shop

Create Terminal

Cancel shop

Cancel terminal

Delete payment method
The indicated Establishment does not exist or is not in a valid state.
CRM035Terminal jest nieprawidłowy.Cancel terminalThe indicated Terminal does not exist or is not in a valid state.
CRM036Ostatni terminal nie może zostać anulowany.Cancel terminalThe indicated Terminal is the only one of the Establishment, therefore it cannot be canceled.
CRM037Produkt nie jest prawidłowy dla Establishment.Delete payment methodThe indicated product does not exist in the Establishment or is not in a valid state.
CRM038[PaymentFacilitatorId] Nie jest Payment Facilitatorem.AllThe indicated Payment Facilitator is not actually a Payment Facilitator.
CRM039Zamówienie dla Merchanta wciąż w toku [merchant_id].Merchant UpdateThere is an order in progress for the indicated Merchant.
CRM040Nie znaleziono kraju dla określonego [CountryCode].Merchant Onboarding

Create shop

Merchant Update
The specified country code does not exist.
CRM041Transactional Country is invalid.Create shopThe specified country code does not exist or does not have a currency.
CRM042[terminal_type] is not a valid Terminal Type for the Terminal Channel [terminal_channel].Merchant Onboarding

Create shop

Create Terminal
The Terminal Type does not match the defined Terminal Channel Type.
CRM043[terminal_model] is not a valid Terminal Model for the Terminal Channel [terminal_channel].Merchant Onboarding

Create shop

Create Terminal
The Terminal Model does not match the defined Terminal Channel Type.
CRM044Invalid Terminal Channel Type for this Establishment.Create TerminalThe terminal type is different from the Establishment’s.
CRM045Sponsored Merchant´s Terminal Channel doesn’t match any Payment Facilitator´s Establishments.Merchant Onboarding

Create shop
The selected Payment Facilitator does not have an active Establishment with the same country and terminal channel as the Sponsored Merchant in the request.
CRM046Sponsored Merchant´s Terminal Type doesn’t match any Payment Facilitator´s Terminals.Merchant Onboarding

Create shop

Create Terminal
The selected Payment Facilitator does not have an active Terminal with the terminal type of the Sponsored Merchant in the request.
CRM999Nieoczekiwany błąd.AllUnexpected error occurred.
Przegląd prywatności

Ta strona korzysta z ciasteczek, aby zapewnić Ci najlepszą możliwą obsługę. Informacje o ciasteczkach są przechowywane w przeglądarce i wykonują funkcje takie jak rozpoznawanie Cię po powrocie na naszą stronę internetową i pomaganie naszemu zespołowi w zrozumieniu, które sekcje witryny są dla Ciebie najbardziej interesujące i przydatne.

Ściśle niezbędne ciasteczka

Niezbędne ciasteczka powinny być zawsze włączone, abyśmy mogli zapisać twoje preferencje dotyczące ustawień ciasteczek.

Jeśli wyłączysz to ciasteczko, nie będziemy mogli zapisać twoich preferencji. Oznacza to, że za każdym razem, gdy odwiedzasz tę stronę, musisz ponownie włączyć lub wyłączyć ciasteczka.