Skip to content

BLIK bez kodu

Dzięki opcji BLIK bez kodu użytkownicy mogą dokonywać zakupów za pomocą jednego kliknięcia, eliminując kłopot z wielokrotnym wprowadzaniem kodu płatności dla każdej transakcji.

Ten usprawniony proces nie tylko oszczędza czas, ale także zmniejsza ryzyko błędów, które mogą wystąpić podczas ręcznego wpisywania poufnych informacji.

Krok 1: Tworzenie tokena

Działanie 1: Utworzenie zamówienia
Działanie 2: Wygenerowanie transakcji
Działanie 3: Uzyskanie statusu transakcji

Aby rozpocząć korzystanie z tej funkcji, należy najpierw wygenerować unikalny token, który będzie bezpiecznie reprezentował szczegóły płatności. Ten etap tworzenia tokena zapewnia ochronę poufnych informacji, umożliwiając jednocześnie płynne i szybkie transakcje.

Działanie 1: Utworzenie zamówienia

Podczas tworzenia zamówienia proces BLIK bez kodu ulepsza istniejącą wiadomość treści zamówienia, włączając elementy tokenizacji i ustawiając metodę płatności jako BLIK.

Adres URL żądania:

https://stargate-cer.qly.site1.sibs.pt/api/v1/payments

Nagłówki żądań:

Autorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6I (...)
X-IBM-Client-Id: b4480347-9fc8-4790-b359-100a99c60ea3
Content-Type: application/json
Element danychTypStanOpis
tokenizacjaTokenizacjaObowiązkoweTokeny płatności klienta. Tokeny te są dostarczane na koniec udanej tokenizacji. Obecne tylko do celów tokenizacji.
tokenisationRequestTokenisationRequestObowiązkowePodane pole w żądaniu realizacji transakcji w celu wykonania tokenizacji karty.
tokeniseCardlogicznaObowiązkoweWskazuje, czy wymagana jest tokenizacja karty.

Przykładowe żądanie zawierające elementy tokenizacji i akceptacji klienta w następujący sposób:

{
    "merchant": {
        "terminalId": {{TerminalID}},
        "channel": "web",
        "merchantTransactionId": "9227074" // mock merchanttransactionId
    },
    "tokenisation": {
        "tokenisationRequest": {
            "tokeniseCard": true
        },
    },
    "transaction": {
        "transactionTimestamp": "{{trxDatetime}}",
        "description": "Ugi fuvun vaocotuz co oho okazi ozutit pam rulucni apulimcil faupef ufuri da.",
        "moto": false,
        "paymentType": "AUTH", // PURS
        "amount": {
            "value": 24.00,
            "currency": "PLN"
        },
        "paymentMethod": [
            "BLIK"
        ]
    }
}
Działanie 2: Wygenerowanie transakcji

Należy zauważyć, że poniższe żądanie wymaga nagłówka autoryzacji z transakcjąSignature zwróconą z operacji realizacji transakcji i parametrem createToken ustawionym na wartość true.

W tym żądaniu token okaziciela zostaje zastąpiony transakcją odpowiedzi na transactionSignature.

Przykład żądania:

Adres URL żądania:

https://stargate-cer.qly.site1.sibs.pt/api/v1/payments/{transactionID}/blik/purchase

Nagłówki żądań:

Authorisation: Digest {transactionSignature}
X-IBM-Client-Id: b4480347-9fc8-4790-b359-100a99c60ea3
Content-Type: application/json
{
    "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": "DIOGO M"
            },
            {
                "key": "customerEmail",
                "value": "{{CustomerEmail}}"
            }
        ]
    },
    "merchant": {
        "merchantURL": "https://egadget2.azurewebsites.net/#/returns?id=4qm1q5p6eTgzREWYHRPA"
    },
    "BLIKCode": "{{blikCode}}"
}

Po zakończeniu operacji zakupu powinieneś otrzymać status oczekującej płatności. Aby uzyskać najnowszą aktualizację, należy następnie wykonać operację „Pobierz status”.

Działanie 3: Uzyskanie statusu transakcji

Nagłówek HTTP autoryzacji jest ustawiony na token okaziciela, 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 Requests
The 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.

Powinieneś otrzymać pomyślną odpowiedź techniczną zawierającą status HTTP-200, returnStatus.statusCode=”000″ oraz, jeśli tokenizacja się powiedzie, dane tokena BLIK, które powinieneś zapisać do późniejszego wykorzystania.

{
    "merchant": {
        "terminalId": "100888",
        "merchantTransactionId": "9227074"
    },
    "transactionID": "bmbd9b6KgRQG7xkNDHPx",
    "amount": {
        "currency": "PLN",
        "value": "24.00"
    },
    "paymentType": "AUTH",
    "paymentStatus": "Success",
    "token": {
        "tokenName": "#undefined#",
        "tokenType": "BLIK",
        "value": "OTFhYWE0MmMtNjQzYi00MmFlLTk1OTItM2M"
    },
    "paymentMethod": "BLIK",
    "execution": {
        "endTime": "2023-06-16T10:39:23.845Z",
        "startTime": "2023-06-16T10:39:23.680Z"
    },
    "returnStatus": {
        "statusCode": "000",
        "statusMsg": "Success",
        "statusDescription": "Success"
    }
}

Krok 2: Użycie tokena

Działanie 1: Utworzenie zamówienia
Działanie 2: Wygenerowanie transakcji
Działanie 3: Uzyskanie statusu transakcji

Możesz teraz użyć tokena wygenerowanego w poprzednim kroku, aby łatwo i bezpiecznie autoryzować płatności za pomocą jednego kliknięcia.

Działanie 1: Utworzenie zamówienia

Utwórz zamówienie, dodając elementy tokenizacji. W tym momencie do zamówienia należy dodać wszystkie zapisane wartości tokenów dla tego sprzedawcy.

Element danychTypStanOpis
tokenizacjaTokenizacjaObowiązkoweTokeny płatności klienta. Tokeny te są dostarczane na koniec udanej tokenizacji. Obecne tylko do celów tokenizacji.
paymentTokensPaymentTokensObowiązkoweKrotka wartości tokenu.
tokenTypeCiągObowiązkoweTyp Tokenu
Możliwa wartość to BLIK.
wartośćCiągObowiązkoweWartość tokenu
{
    "merchant": {
        "terminalId": {{TerminalID}},
        "channel": "web",
        "merchantTransactionId": "9227074" // mock merchanttransactionId
    },
    "tokenisation": {
        "tokenisationRequest": {
            "tokeniseCard": false
        },
        "paymentTokens": [
            
            {
                "tokenType": "BLIK",
                "value": "NDRlOTFhODMtODgzYy00ZmM0LTkxODMtMzZ"
            },
            {
                "tokenType": "BLIK",
                "value": "{{blikTokenValue}}"
            }
        ]
    },
    "transaction": {
        "transactionTimestamp": "{{trxDatetime}}",
        "description": "Ugi fuvun vaocotuz co oho okazi ozutit pam rulucni apulimcil faupef ufuri da.",
        "moto": false,
        "paymentType": "AUTH", // PURS
        "amount": {
            "value": 24.00,
            "currency": "PLN"
        },
        "paymentMethod": [
            "BLIK"
        ]
    }
}
Działanie 2: Wygenerowanie transakcji

Kolejna akcja przebiega analogicznie jak w przypadku tworzenia tokena BLIK, z tą różnicą, że obejmuje dołączenie wybranego Tokena BLIK.

{
    "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": "DIOGO M"
            },
            {
                "key": "customerEmail",
                "value": "{{CustomerEmail}}"
            }
        ]
    },
    "tokenInfo": {
        "tokenType": "BLIK",
        "value": "{{blikTokenValue}}"
    }
Działanie 3: Uzyskanie statusu transakcji

Status swojej transakcji możesz sprawdzić wysyłając żądanie GET, na które powinieneś otrzymać odpowiedź zawierającą Token BLIK oraz status Sukces.

Nagłówek HTTP autoryzacji jest ustawiony na token okaziciela, 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 Requests
The 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.