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:

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.