Skip to main content

Callback

განსხვავებით სხვა მეთოდებისგან, რომლების გამოძახების ინიციატორიც იყო ბიზნესი, callback მეთოდის გამოძახება ონლაინ გადახდების სისტემიდან ხდება, ხოლო ინფორმაციის მიღება და დამუშავების ლოგიკა ბიზნესის მხარეს უნდა იყოს რეალიზებული. ეს მეთოდი საშუალებას გაძლევთ, რეალურ დროში მიიღოთ ინფორმაცია გადახდის სტატუსის ცვლილების შესახებ.

თუ:

  • გადახდა წარმატებით დასრულდა;
  • გადახდა წარუმატებლად დასრულდა;
  • თანხა სრულად ან ნაწილობრივ დაუბრუნდა მომხმარებელს

შეკვეთის მოთხოვნის დროს გადმოცემულ callback_url მისამართზე იგზავნება POST მეთოდით გადახდის დეტალები. პასუხის წარმატებით მიღების დასადასტურებლად, ბიზნესმა უნდა დააბრუნოს HTTP CODE 200. თუ ვერ მოხერხდა callback-ის წარმატებით გამოძახება, გადახდის სტატუსი უცვლელი რჩება. სტატუსის გადასამოწმებლად ბიზნესმა უნდა გამოიყენოს გადახდის დეტალების მეთოდი.

note

შენიშვნა: callback-ს არაფერი აქვს საერთო გადახდების ონლაინ სისტემიდან ბიზნესის ვებგვერდზე გადამისამართებასთან. გადამისამართება ხდება შეკვეთის მოთხოვნის request-ში, ბიზნესის მიერ გადაცემული redirect_urls პარამეტრში მითითებული მნიშვნელობის მიხედვით.

Response

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

Callback-Signaturestring

ხელმოწერა დაგენერირებულია callback-ის request body-ზე private key-ით SHA256withRSA ალგორითმის გამოყენებით. იმისათვის, რომ ბიზნესი დარწმუნდეს callback-ში გადმოცემული ინფორმაციის ვალიდურობაში, request body-ისა და public key-ის დახმარებით უნდა დაავერიფიციროს ხელმოწერა. ვერიფიკაცია უნდა მოხდეს payload-ის დესერიალიზაციამდე, იმისათვის რომ request body-ის პარამეტრების თანმიმდევრობა დარჩეს უცვლელი.

-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAu4RUyAw3+CdkS3ZNILQh
zHI9Hemo+vKB9U2BSabppkKjzjjkf+0Sm76hSMiu/HFtYhqWOESryoCDJoqffY0Q
1VNt25aTxbj068QNUtnxQ7KQVLA+pG0smf+EBWlS1vBEAFbIas9d8c9b9sSEkTrr
TYQ90WIM8bGB6S/KLVoT1a7SnzabjoLc5Qf/SLDG5fu8dH8zckyeYKdRKSBJKvhx
tcBuHV4f7qsynQT+f2UYbESX/TLHwT5qFWZDHZ0YUOUIvb8n7JujVSGZO9/+ll/g
4ZIWhC1MlJgPObDwRkRd8NFOopgxMcMsDIZIoLbWKhHVq67hdbwpAq9K9WMmEhPn
PwIDAQAB
-----END PUBLIC KEY-----

Body

eventstring

ქოლბექის ტიპი. მნიშვნელობა ყოველთვის არის order_payment.

request_timestring

ქოლბექის გამოგზავნის დრო.

bodyobject

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

{
"event": "order_payment",
"request_time": "2022-11-23T18:06:37.240559",
"body": {
"order_id": "a767a276-cddd-43ec-9db3-9f9b39eee02d",
"industry": "ecommerce",
...
}
}