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 danych | Typ | Stan | Opis |
tokenizacja | Tokenizacja | Obowiązkowe | Tokeny płatności klienta. Tokeny te są dostarczane na koniec udanej tokenizacji. Obecne tylko do celów tokenizacji. |
tokenisationRequest | TokenisationRequest | Obowiązkowe | Podane pole w żądaniu realizacji transakcji w celu wykonania tokenizacji karty. |
tokeniseCard | logiczna | Obowiązkowe | Wskazuje, 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 Code | statusMsg | Description | Action |
---|---|---|---|
HTTP-200 | Success | Success response | N/A |
HTTP-400 | Bad Request | The 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-401 | Unauthorized | On 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-403 | Forbidden | The 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-405 | Method Not Allowed | The HTTP Method used is not matching any of the API definitions available. | Please check in API Market for the correct HTTP Method. |
HTTP-429 | Too 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-500 | Internal Server Error | The 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-503 | Service Unavailable | The 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 danych | Typ | Stan | Opis |
tokenizacja | Tokenizacja | Obowiązkowe | Tokeny płatności klienta. Tokeny te są dostarczane na koniec udanej tokenizacji. Obecne tylko do celów tokenizacji. |
paymentTokens | PaymentTokens | Obowiązkowe | Krotka wartości tokenu. |
tokenType | Ciąg | Obowiązkowe | Typ Tokenu Możliwa wartość to BLIK. |
wartość | Ciąg | Obowiązkowe | Wartość 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 Code | statusMsg | Description | Action |
---|---|---|---|
HTTP-200 | Success | Success response | N/A |
HTTP-400 | Bad Request | The 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-401 | Unauthorized | On 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-403 | Forbidden | The 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-405 | Method Not Allowed | The HTTP Method used is not matching any of the API definitions available. | Please check in API Market for the correct HTTP Method. |
HTTP-429 | Too 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-500 | Internal Server Error | The 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-503 | Service Unavailable | The 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. |