აუტენტიფიკაცია
რა დამჭირდება გადახდის 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
- HTTP
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.
- RESPONSE
{
"access_token": "<JWT>",
"token_type": "Bearer",
"app_id": "1A2019",
"expires_in": 1634719923245
}