Skip to main content

აუტენტიფიკაცია

რა დამჭირდება გადახდის API-ს გამოსაყენებლად

ონლაინ გადახდების API-ს გამოსაყენებლად საჭიროა აუტენტიფიკაცია HTTP Basic Auth-ის გამოყენებით. ამისთვის თქვენ დაგჭირდებათ, იცოდეთ სისტემაში შესასვლელი რეკვიზიტები (Credentials), რომელიც თითოეული მერჩანტისთვის უნიკალურია. რეკვიზიტები მოიცავს ორ პარამეტრს: client_id და secret_key, რომელიც გამოიყენება, როგორც username-ი და password-ი, მერჩანტის აუტენტიფიკაციისას.

როგორ გავიგოთ მერჩანტის სისტემაში შესასვლელი რეკვიზიტები

მას შემდეგ, რაც კომპანია დარეგისტრირდება მერჩანტად საბანკო სისტემაში და შეავსებს ყველა საჭირო მონაცემს, მას მიენიჭება და გადაეცემა სისტემაში შესასვლელი რეკვიზიტები client_id და secret_key. რეკვიზიტები მერჩანტის უნიკალური მაიდენტიფიცირებელია. ამასთან, secret_key პაროლის მნიშვნელობის პარამეტრია - მისი სხვა პირისთვის გადაცემა, გასაჯაროება დაუშვებელია. ამან შეიძლება ონლაინ მაღაზიისთვის საფრთხის რისკი მნიშვნელოვნად გაზარდოს! Secret_key-ს ცვლილება მერჩანტის მიერ შეუძლებელია.

მეთოდის აღწერა

მოცემული მეთოდის საშუალებით, მერჩანტი გადის აუტენტიფიკაციას. გამოძახების შედეგად, ონლაინ გადახდების სერვერის მიერ ბრუნდება Bearer Token, რომელიც ყველა შემდგომი მეთოდის გამოძახებისთვის არის აუტენტიფიკაციისთვის აუცილებელი პარამეტრი.

Header-ის პარამეტრები

Content-Typerequiredapplication/x-www-form-urlencoded

AuthorizationrequiredBasic <base64>

გადაეცემა „Basic „ + „<client_id>:<secret_key>“ მნიშვნელობა კოდირებული Base64 ფორმატში
(მაგ: „Basic ODI4Mjo3Njk3MDY0OTlmMDcwOWUyMzQ4NDU4NjNmOThiMjMxNA==“)
სადაც <client_id> და <secret_key> არის, ბანკის მიერ მერჩანტისთვის გადაცემული, სისტემაში შესვლისთვის საჭირო რეკვიზიტები.

Body-ს პარამეტრები

grant_typerequiredclient_credentials

მნიშვნელობად გადაეცემა ფიქსირებული ტექსტი: client_credentials

POST /api/v1/oauth2/token HTTP/1.1
Content-Type: application/x-www-form-urlencoded
Authorization: Basic <base64>
grant_type=client_credentials

Response

access_tokenstring

ავტორიზაციის სერვერის მიერ დაბრუნებული Token-ის მნიშვნელობა

token_typestring

Token-ის ტიპი (ბრუნდება ტექსტური მნიშვნელობა - bearer)

app_idstring

არ გამოიყენება

expires_innumber

აბრუნებს რიცხვით მნიშვნელობას, თუ რამდენი წამის განმავლობაში არის აქტიური Token.

{
"access_token": "<JWT>",
"token_type": "Bearer",
"app_id": "1A2019",
"expires_in": 1634719923245
}