Skip to content

Przechwytywanie

Info

Ten typ transakcji jest dostępny dla: Kart płatniczych.

Przejęcie służy do zażądania rozliczenia wcześniej autoryzowanych środków.

Żądanie Capture jest wykonywane przy użyciu poprzedniej płatności z preautoryzacją (AUTH) poprzez odniesienie do jej identyfikatora transakcji i wysłanie żądania POST przez HTTPS do punktu końcowego /payments/{transactionID}/capture.

Przechwytywanie może odbywać się na różne sposoby:

  • Pełne: przechwyć całą autoryzowaną kwotę i dokończ zakup
  • Częściowe: podziel przechwytywanie na jedno lub kilka żądań przechwytywania, aż do całkowitej autoryzowanej kwoty

W przypadku żądania przechwytywania należy wysłać:

Opis przechwytywania:
OperacjaTyp operacjiMetoda działania i punkt końcowyOpis operacji
KartaPołączenie synchronicznePOST version-id/{original-tx-id}/captureŻąda przejęcia finansowego (kwota częściowa lub całkowita) związanego z poprzednim zezwoleniem.
Żądanie przechwytywania:
LokalizacjaElement danychTypStanOpis
Ścieżkaoriginal-tx-idCiągObowiązkowyOryginalny identyfikator transakcji (identyfikator transakcji pierwotnej autoryzacji)
Nagłówek żądaniaTyp zawartościCiągObowiązkowyaplikacja/json
Nagłówek żądaniaautoryzacjaCiągObowiązkowyToken okaziciela. Na podstawie uwierzytelniania OAuth2 przeprowadzonego na etapie wstępnym.
Nagłówek żądaniax-ibm-client-idCiągObowiązkowyToken identyfikujący organizację klienta. Jest on podawany podczas procesu onboardingu i należy go stosować podczas każdego połączenia.
Treść żądaniasprzedawcaSprzedawcaObowiązkowyObiekt definiujący Sprzedawcę.
Zapytanie o Body.merchantterminalIdMax10NumericText
Zapytanie o Body.merchantkanałCiągKanał użyty w transakcji.
Zapytanie o Body.merchantmerchantTransactionIdCiągObowiązkowyUnikalny identyfikator transakcji z perspektywy sprzedawcy.
Treść żądaniatransakcjaTransakcjaObowiązkowyObiekt definiujący transakcję.
Żądanie Body.transactiontransactionTimeStampISODateTimeObowiązkowyZnacznik czasu transakcji.
Żądanie Body.transactionopisCiągObowiązkowyKrótki opis transakcji.
Żądanie Body.transactionilośćIlośćObowiązkowyParametr określający wartość i walutę transakcji.
Żądanie Body.transaction.amountwartośćNumer (podwójny)ObowiązkowyKwota w transakcji.
Żądanie Body.transaction.amountwalutaKod walutyObowiązkowyWaluta użyta w transakcji. Alpha3
Treść żądaniaoriginalTransactionOriginalTransactionObowiązkowyObiekt identyfikujący pierwotną transakcję.
Request Body.originalTransactionidentyfikatorCiągObowiązkowyOryginalna identyfikacja transakcji.
Przykład żądania przechwytywania:
{
    "merchant": {
        "terminalId": {{TerminalID}},
        "channel": "web",
        "merchantTransactionId": "BO_Order Id: "
    },
    "transaction": {
        "transactionTimestamp": "{{trxDatetime}}",
        "description": "Transaction short description",
        "amount": {
            "value": 1,
            "currency": "PLN"
        },
        "originalTransaction": {
            "id": "{{originalTransactionId}}"
        }
    }
}

Odpowiedź poniżej będzie zawierać identyfikator transakcji, którego możesz użyć do sprawdzenia statusu.

{
    "merchant": {
        "terminalId": "101776",
        "merchantTransactionId": "BO_Order Id: ",
        "merchantTransactionTimestamp": "2023-06-20T11:15:57.040Z"
    },
    "transactionTimestamp": "2023-06-20T11:16:14.988Z",
    "amount": {
        "value": "1",
        "currency": "PLN"
    },
    "transactionID": "RW5vBMHj4RhQWFRc0GvS",
    "execution": {
        "startTime": "2023-06-20T11:15:57.206Z",
        "endTime": "2023-06-20T11:16:15.100Z"
    },
    "paymentStatus": "Success",
    "returnStatus": {
        "statusCode": "000",
        "statusMsg": "Success",
        "statusDescription": "Success."
    }
}

Następnie, po przetworzeniu płatności, możesz sprawdzić status swojej transakcji, wysyłając żądanie GET.

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

Adres URL żądania:
https://stargate-cer.qly.site1.sibs.pt/api/v1/payments/{transactionID}/status
Nagłówki żądań:
Autorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6I (...)
X-IBM-Client-Id: b4480347-9fc8-4790-b359-100a99c60ea3
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ź z sukcesemn/a.
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 ważnej 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 próśbPrzekroczono 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.