# შეკვეთის მოთხოვნა ⚠️(Deprecated)

მეთოდის საშუალებით, ონლაინ მაღაზია ონლაინ გადახდის სერვერზე აგზავნის გადახდის დეტალებს, ტექნიკურ მახასიათებლებსა და გადასახდელ თანხას. ოპერაციის წარმატებით დასრულების შემთხვევაში, პროცესის გასაგრძელებლად, მომხმარებელი უნდა გადაამისამართოთ ონლაინ გადახდის გვერდზე, `links` პარამეტრში დაბრუნებულ `REDIRECT` მისამართზე.



### Header-ის პარამეტრები



- `Content-Type` — application/json, required


- `Authorization` — Bearer token, required


  გადაეცემა `Bearer <jwt_token>`  მნიშვნელობა, სადაც `jwt_token` არის აუტენტიფიკაციის მეთოდის Response-ის access_token პარამეტრში დაბრუნებული მნიშვნელობა.




### Body-ს პარამეტრები



- `intent` — CAPTURE | AUTHORIZE, required


  პარამეტრი განსაზღვრავს, რომელი გადახდის მეთოდით შეძლოს მომხმარებელმა გადახდა:
  `CAPTURE` - მომხმარებელს სთავაზობს გადახდის რამდენიმე ვარიანტს. გადახდა შეიძლება შესრულდეს ბარათით ან საქართველოს ბანკის ინტერნეტბანკის მომხმარებლის სახელითა და პაროლით.
  `AUTHORIZE` - მომხმარებელი გადახდას შეძლებს მხოლოდ ბარათის ინფორმაციის შეყვანით.



- `items` — array


  ონლაინ მაღაზიაში, მოცემული გადახდის ფარგლებში, შესყიდული პროდუქტების სია, რომელიც მოიცავს შემდეგ ატრიბუტებს:



  - `amount` — string

    შესყიდული პროდუქტის ერთეულის ღირებულება.


  - `description` — string

    შესყიდული პროდუქტის დასახელება (აღწერა).


  - `quantity` — number

    შესყიდული პროდუქტის რაოდენობა.


  - `product_id` — string

    შესყიდული პროდუქტის იდენტიფიკატორი ონლაინ მაღაზიის სისტემაში.





- `locale` — ka | en-US


  განსაზღვრავს ონლაინ გადახდების გვერდზე გადამისამართების შემდეგ, რა ენის ინტერფეისი დახვდება მომხმარებელს. იღებს ორ მნიშვნელობას:
  - ka - ქართული,
  - en-US - ინგლისური.




- `shop_order_id` — string


  გადახდის იდენტიფიკატორი ონლაინ მაღაზიის სისტემიდან (მაგალითად: შესყიდვების კალათის იდენტიფიკატორი).



- `redirect_url` — string, required


  ონლაინ მაღაზიის იმ გვერდის მისამართი, რომელზეც მომხმარებელი გადამისამართდება ონლაინ გადახდის სისტემიდან, ოპერაციის წარმატებით ან წარუმატებლად შესრულების შემდეგ.



- `show_shop_order_id_on_extract` — boolean


  განსაზღვრავს, გადახდის შესახებ, რა ინფორმაცია გამოუჩნდება მომხმარებელს, ონლაინ გადახდების გვერდზე. იღებს ორ მნიშვნელობას:
  `false` - მომხმარებელს ამონაწერში გამოუჩნდება, items მასივში, პროდუქტების description-ის „ , “-ით გამოყოფილი სიის პირველი 25 სიმბოლო.
  `true` - ამონაწერში გამოჩნდება იგივე, რაც false-ის შემთხვევაში, წინ მიწერილი shop_order_id-თან ერთად.




- `capture_method` — AUTOMATIC | MANUAL


  გადახდის მეთოდი, რომელიც იღებს ორ მნიშვნელობას:
  - `AUTOMATIC` - გადახდა მოხდება პრეავტორიზაციის გარეშე, ანუ მომხმარებლის ანგარიშიდან თანხა მომენტალურად ჩამოიჭრება.
  - `MANUAL` - მომხმარებლის ანგარიშზე თანხა დაიბლოკება და მომხმარებლისთვის არ იქნება ხელმისაწვდომი. ამ შემთხვევაში, გადახდის დასასრულებლად უნდა გამოიყენოთ პრეავტორიზაციის დასრულების მეთოდი ან განბლოკოთ/დააბრუნოთ თანხა, დაბრუნების მეთოდის საშუალებით.

  ასეთი ოპერაციის 30 დღეში დაუსრულებლობის შემთხვევაში, თანხას ავტომატურად მოეხსნება ბლოკი და ისევ იქნება ხელმისაწვდომი მომხმარებლისთვის.



- `purchase_units` — array, required


  მოცემულია ინფორმაცია გადასახდელი თანხისა და ვალუტის შესახებ.



  - `amount` — object, required


    თანხის ობიექტი.



    - `currency_code` — GEL | USD | EUR | GBP, required


    გადახდის ვალუტა


    - `value` — number, required


    გადასახდელი თანხის მნიშვნელობა.












**REQUEST**

```api
POST /api/v1/checkout/orders
Content-Type: application/json
Authorization: Bearer <jwt_token>
```

```json
{
  "intent": "CAPTURE",
  "items": [
    {
      "amount": "10.50",
      "description": "test_product",
      "quantity": "1",
      "product_id": "123456"
    }
  ],
  "locale": "ka",
  "shop_order_id": "123456",
  "redirect_url": "https://demo.ipay.ge?shop_order_id=<shop_order_id>",
  "show_shop_order_id_on_extract": true,
  "capture_method": "AUTOMATIC",
  "purchase_units": [
    {
      "amount": {
        "currency_code": "GEL",
        "value": "10.50"
      }
    }
  ]
}
```









### Response



- `status` — string


  ონლაინ გადახდის სტატუსი



- `payment_hash` — string


  შეკვეთის მოთხოვნის დროს, გადახდების ონლაინ სისტემის მიერ დაგენერირებული გადახდის უნიკალური ჰეშირებული იდენტიფიკატორი. პროცესის შემდეგ, ნაბიჯებზე ჰეშირებული იდენტიფიკატორი, ბანკისგან, კვლავ გადაეცემა მერჩანტს. იდენტიფიკატორების იდენტურობაში დარწმუნება დამატებით უსაფრთხოების საშუალებას იძლევა.



- `links` — array


  ვებრესურსის მისამართები, რომელიც გადახდის პროცესის შემდგომ ეტაპებზე გამოიყენება. ამჟამად ბრუნდება ორი რესურსი:

  - გადახდების დეტალების მისამართი, რომლის საშუალებითაც შეგვიძლია გავიგოთ ინფორმაცია ონლაინ გადახდის შესახებ (rel = self).
  - ვებგვერდის მისამართი, რომელზეც უნდა გადავიდეს მომხმარებელი პლასტიკური ბარათის ან ონლაინბანკინგის მონაცემების შესაყვანად და გადახდის პროცესის დასასრულებლად (rel = approve).



  - `href` — string


    ვებრესურსის მისამართი.



  - `rel` — string


    ვებრესურსის უნიკალური დასახელება.



  - `method` — string


    http - ვებრესურსზე გადასასვლელი მეთოდი (GET, REDIRECT…).





  - `order_id` — string


    ონლაინ გადახდის იდენტიფიკატორი.









**RESPONSE**

```json
{
  "status": "CREATED",
  "payment_hash": "{payment_hash}",
  "links": [
    {
      "href": "https://dev.ipay.ge/opay/opay/api/v1/checkout/orders/{order_id}",
      "rel": "self",
      "method": "GET"
    },
    {
      "href": "https://dev.ipay.ge/new/?order_id={order_id}&locale=ka",
      "rel": "approve",
      "method": "REDIRECT"
    }
  ],
  "order_id": "{order_id}"
}
```
