Skip to content

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.

Opcja płatnościKategoriaKrajWalutaCechyIntegracje
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-cer.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:

Kod wynikustatusMsgOpisAkcja
HTTP-200SukcesOdpowiedź powodzeniaNie dotyczy
HTTP-400Zła prośbaŁadunek JSON nie jest zgodny z definicją API lub brakuje niektórych obowiązkowych nagłówków HTTP.Sprawdź w API Market poprawną składnię.
HTTP-401NieautoryzowanyW przypadku Autoryzacji token okaziciela jest nieprawidłowy/wygasł lub nie jest powiązany z używanym terminalem.Sprawdź w SIBS Backoffice w sekcji Poświadczenia, czy token jest ważny i w razie potrzeby utwórz nowy.
HTTP-403ZabronionyIdentyfikator klienta ustawiony w nagłówku HTTP X-IBM-Client-Id jest nieprawidłowy lub nie posiada prawidłowej subskrypcji interfejsu API.Sprawdź w SIBS Backoffice w SPG APP 2.0, czy ClientID jest poprawny. Jeśli problem będzie się powtarzał, skontaktuj się z pomocą techniczną SIBS Gateway w celu zresetowania ClientID.
HTTP-405Niedozwolona metodaZastosowana metoda HTTP nie jest zgodna z żadną dostępną definicją API.Sprawdź w API Market poprawną metodę HTTP.
HTTP-429Zbyt dużo zapytańPrzekroczono limit szybkości wywołań API.Informacje na temat limitów stawek mających zastosowanie do API można znaleźć w API Market.
HTTP-500Wewnętrzny błąd serweraWywołanie API nie powiodło się… i najprawdopodobniej jest to po naszej stronie.Powinieneś ponowić operację, a jeśli problem będzie się powtarzał, skontaktuj się z pomocą techniczną SIBS Gateway w celu uzyskania pomocy.
HTTP-503serwis niedostępnyWywołanie API nie jest obecnie dostępne. Zwykle jesteśmy zawsze aktywni, ale podczas planowej konserwacji mogą wystąpić krótkie problemy z dostępnością.Powinieneś poczekać i spróbować ponownie później.