Skip to content
Menu

Bancontact

Zacznij akceptować płatności za pomocą Bancontact, najpopularniejszej metody płatności online w Belgii, utrzymując pozycję lidera na rynku zarówno w transakcjach internetowych, jak i osobistych.

Aby dokonać płatności za pomocą Bancontact, klienci są kierowani do witryny internetowej lub aplikacji mobilnej w celu autoryzacji. Wprowadzają dane swojej karty lub skanują kod QR, a następnie autoryzują płatność.

Następnie wracają na Twoją stronę internetową i natychmiast powiadamiają Cię o powodzeniu lub niepowodzeniu płatności.

Metoda płatnościKategoriaKrajWalutaFunkcjonalnościIntegracje
BancontactKartyBelgiaEURCzęściowy zwrot pieniędzy
Zwroty
Anulowanie
API
Formularz płatności
Wtyczka Prestashop
Wtyczka WooCommerce
Wtyczka Magento

Jak korzystać z Bancontact

Przepływ pracy przebiega w następujący sposób:

  1. Na stronie sprzedawcy klient wybiera Bancontact.
  2. Klient zostaje przekierowany na stronę płatności Bancontact, gdzie ma możliwość wprowadzenia numeru PAN lub zeskanowania kodu QR.
  3. Kończą płatność:
    a. Jeśli konsument zdecyduje się na wprowadzenie numeru PAN, zostanie przekierowany do banku wydającego w celu uwierzytelnienia 3DS.
    b. Jeśli konsument zeskanuje kod QR, potwierdza płatność w aplikacji Bancontact.
  4. Konsument zostaje przekierowany na stronę internetową sprzedawcy.
  5. Sprzedawca otrzymuje potwierdzenie płatności.
  6. Następnie sprzedawca może wysłać zamówienie/dostarczyć towar konsumentowi.

Jak to działa

Poniżej znajdziesz najważniejsze kroki wymagane do integracji metody płatności Bancontact.

Krok 1: Utwórz zamówienie
Krok 2: Uzyskaj Link do płatności
Krok 3: Uzyskaj status płatności
Krok 1: Utwórz zamówienie

Pamiętaj, aby utworzyć żądanie zamówienia z Bancontact („BNCT”) jako wybraną metodą płatności (transaction.paymentMethod) i ustawić preferencje językowe klienta w CustomerInfo.customerLanguage.

Krok 2: Uzyskaj Link do płatności

Przejdź do linku do płatności opisanego poniżej, aby przekierować klienta na bezpieczną stronę płatności w celu uwierzytelnienia i autoryzacji płatności.

Należy pamiętać, że poniższe żądanie wymaga nagłówka autoryzacji zawierającego podpis transakcji uzyskany w poprzednim kroku.

Punkty końcowe:
ŚrodowiskoURLMetoda działania i punkt końcowyOpis operacji
PRODapi.sibsgateway.comPOST {version-id}/payments/{id}/pbl/payment-linkWykonaj transakcję i przekieruj użytkownika do Hosta płatności.
TESTstargate.qly.site[1|2].sibs.ptPOST {version-id}/payments/{id}/pbl/payment-linkWykonaj transakcję i przekieruj użytkownika do Hosta płatności.

Upewnij się, że uwzględniłeś następujące istotne elementy zgodnie ze specyfikacją:

LokalizacjaElement danychTypStanOpis
ŚcieżkaidCiągObowiązkowySłuży do identyfikacji transakcji
Parametry nagłówka:
LokalizacjaElement danychTypStanOpis
Nagłówek żądaniaTyp zawartościCiągObowiązkowyaplikacja/json
Nagłówek żądaniaUpoważnienieCiągObowiązkowyPodsumowanie autoryzacji
Parametry żądania:
LokalizacjaElement danychTypStanOpis
Treść żądaniauserAcceptanceIndicatorWartość logicznaObowiązkowyWskazuje, czy użytkownik zaakceptował Regulamin, aby kontynuować płatność.
Treść żądaniagatewayIdCiągObowiązkowyKanał płatności Identyfikator kanału, którego Klient będzie używał do dokonywania płatności.
Wartość: 'bcmc’ – Bancontact;
Treść żądaniainformacjaInformacjaObowiązkowyObiekt definiujący dodatkowe informacje o transakcji.
Poproś o Body.infodeviceInfoInformacje o urządzeniuOpcjonalnyObiekt definiujący informacje o urządzeniu klienta.
Poproś o Body.info.deviceInfobrowserAcceptHeaderciągOpcjonalnyNagłówek akceptacji przeglądarki
Poproś o Body.info.deviceInfobrowserJavaEnabledciągOpcjonalnyPrzeglądarka Java włączona
Poproś o Body.info.deviceInfobrowserLanguageciągOpcjonalnyJęzyk przeglądarki
Poproś o Body.info.deviceInfobrowserColorDepthciągOpcjonalnyGłębia kolorów przeglądarki
Poproś o Body.info.deviceInfobrowserScreenHeightciągOpcjonalnyWysokość ekranu przeglądarki
Poproś o Body.info.deviceInfobrowserScreenWidthciągOpcjonalnySzerokość ekranu przeglądarki
Poproś o Body.info.deviceInfobrowserTZciągOpcjonalnyStrefa czasowa przeglądarki
Poproś o Body.info.deviceInfobrowserUserAgentciągOpcjonalnyAgent użytkownika przeglądarki
Poproś o Body.info.deviceInfosystemFamilyciągOpcjonalnyRodzina systemowa
Poproś o Body.info.deviceInfosystemVersionciągOpcjonalnyWersja systemu
Poproś o Body.info.deviceInfosystemArchitectureciągOpcjonalnyarchitektura systemu
Poproś o Body.info.deviceInfodeviceManufacturerciągOpcjonalnyProducent urządzenia
Poproś o Body.info.deviceInfodeviceModelciągOpcjonalnyModel urządzenia
Poproś o Body.info.deviceInfodeviceIDciągOpcjonalnyUnikalna identyfikacja urządzenia
Poproś o Body.info.deviceInfoapplicationNameciągOpcjonalnyNazwa aplikacji
Poproś o Body.info.deviceInfoapplicationVersionciągOpcjonalnyWersja aplikacji
Poproś o Body.info.deviceInfogeoLocalizationciągOpcjonalnyGeolokalizacja
Poproś o Body.info.deviceInfoipAddressciągOpcjonalnyAdres IP
Treść żądaniacustomerInfoInformacja dla klientowOpcjonalnyTablica krotności wartości klucza.
Poproś o Body.customerInfokluczciągObowiązkowyUżywane do podawania „nazwy klienta”, „e-maila klienta”.
Poproś o Body.customerInfowartośćciągObowiązkowyUżywane do podawania „nazwy klienta”, „e-maila klienta”.
Treść żądaniasprzedawcaSprzedawcaOpcjonalnyDane sprzedawcy
Zapytanie o Body.merchantmerchantURLciągObowiązkowyAdres URL sklepu sprzedawcy do przekierowania.
Zapytanie o Body.merchantappToAppURLciągOpcjonalnyNiestandardowy adres URL aplikacji do przekierowania klienta z powrotem do aplikacji, co spowodowało płatność.
Ma zastosowanie, gdy identyfikator bramy to „bcmc”.
Zastępuje adres URL sprzedawcy dla przepływów mobilnych.
Poproś o Body.infoaccountInfoInformacje o koncieOpcjonalnyDane związane z kontem.
Ma zastosowanie, gdy identyfikator bramy to „bcmc”
Poproś o Body.info.accountInfoholderNameMax100TextOpcjonalnyNazwa właściciela konta. Format UTF-8 .
Poproś o Body.info.accountInfocustomerCountryKod krajuOpcjonalnyKod kraju klienta. Alpha2

Oto przykładowy sposób uzyskania linku do płatności:

{
    "userAcceptanceIndicator": true,
    "gatewayId": "bcmc",
    "info": {
        "deviceInfo": {
            "browserAcceptHeader": "application/json, text/plain, */*",
            "browserJavaEnabled": "false",
            "browserLanguage": "en",
            "browserColorDepth": "24",
            "browserScreenHeight": "1080",
            "browserScreenWidth": "1920",
            "browserTZ": "-60",
            "browserUserAgent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/106.0.0.0 Safari/537.36",
            "geoLocalization": "Lat: 38.7350528 | Long: -9.2143616",
            "systemFamily": "Windows",
            "systemVersion": "Windows",
            "deviceID": "498bfd4c3a3645b38667a7037b616c18",
            "applicationName": "Chrome",
            "applicationVersion": "106"
        },
        "customerInfo": [
            {
                "key": "customerName",
                "value": "Test Name"
            },
            {
                "key": "customerEmail",
                "value": email@provider.com
            }
        ],
        "accountInfo": {
            "holderName": "Test Name",
            "customerCountry": "BE"
        }
    },
    "merchant": {
        "appToAppURL": https://egadget2.azurewebsites.net/#/returns?id={{transactionId}},
        "merchantURL": https://egadget2.azurewebsites.net/#/returns?id={{transactionId}}
    }
}

Po pomyślnym zakończeniu operacji otrzymany zostanie status płatności „oczekujący”.

Użytkownik zostaje następnie przekierowany do środowiska potwierdzenia płatności, po czym bezproblemowo powróci do adresu URL sprzedawcy.

Krok 3: Uzyskaj status płatności

W dowolnym momencie możesz wykonać operację „Pobierz status”, aby sprawdzić status.

Nagłówek HTTP autoryzacji jest ustawiony na token nośnika, tak jak był używany podczas początkowej realizacji transakcji.

GET {transactionID}/status
Adres URL żądania:
https://stargate-cer.qly.site1.sibs.pt/api/v1/payments/{transactionID}/status
Nagłówki żądań:
Authorization: ‘Bearer <AuthToken>’
X-IBM-Client-Id: ‘<ClientId>’
Content-Type: application/json

Pomyślna odpowiedź techniczna składa się ze statusu HTTP-200 i returnStatus.statusCode=”000″.

Oto kilka przykładów możliwych kodów wyników:

Result CodestatusMsgDescriptionAction
HTTP-200SuccessSuccess responseN/A
HTTP-400Bad RequestThe JSON payload is not matching the API definition or some mandatory HTTP headers are missing.Please check in API Market for the correct syntax.
HTTP-401UnauthorizedOn the Authorization, Bearer token is invalid/expired or not associated with the Terminal used.Please check in SIBS Backoffice under the Credentials if the token is valid and create a new one if needed.
HTTP-403ForbiddenThe ClientID set on the X-IBM-Client-Id HTTP header is not valid or does not possess a valid subscription to the API.Please check in SIBS Backoffice under the SPG APP 2.0 if the ClientID is correct. If the problem persists contact SIBS Gateway support for a ClientID reset.
HTTP-405Method Not AllowedThe HTTP Method used is not matching any of the API definitions available.Please check in API Market for the correct HTTP Method.
HTTP-429Too Many RequestsThe API calls rate limit has been exceeded.Please check in API Market for information on the rate limits that apply to the API.
HTTP-500Internal Server ErrorThe API call has failed… and its most likely on our side.You should retry the operation, and if the problem persists contact SIBS Gateway support for assistance.
HTTP-503Service UnavailableThe API call is not currently available. Usually we are always on, but short availability issues may occur during scheduled maintenance.You should wait and try again later.
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.