Callback
განსხვავებით სხვა მეთოდებისგან, როდესაც გამოძახების ინიციატორი იყო ონლაინ მაღაზია, callback
მეთოდის გამოძახება ონლაინ განვადების სისტემიდან ხდება, ხოლო ინფორმაციის მიღება და დამუშავების ლოგიკა ონლაინ მაღაზიის მხარეს უნდა იყოს რეალიზებული. ეს მეთოდი საშუალებას გაძლევთ, რეალურ დროში მიიღოთ ინფორმაცია განვადების სტატუსის ცვლილების შესახებ.
თითოეული ონლაინ მაღაზიისთვის callback მისამართების გაწერა ხდება მისი ბანკში მერჩანტად დარეგისტრირების დროს. განვადების სისტემაში ხდება ორი ტიპის callback
url-ის გაწერა:
შემდგომში, უკვე განვადების სტატუსის ყოველი ცვლილების დროს, წინასწარ გაწერილ callback მისამართზე იგზავნება POST მეთოდით განვადების დეტალები. პასუხის წარმატებით მიღების დასადასტურებლად, მერჩანტმა უნდა დააბრუნოს HTTP CODE 200
. ინფორმაციის წარუმატებლად გაგზავნის შემთხვევაში, ყოველ 15 წამში, იგზავნება განმეორებითი მოთხოვნა, სანამ მცდელობის რაოდენობა არ მიაღწევს 5-ს ან მერჩანტი არ დააბრუნებს HTTP CODE 200
სტატუსს. თუ ვერ მოხერხდა callback-ის წარმატებით გამოძახება (გამოძახებისთვის განკუთვნილი დრო ამოიწურა ან მერჩანტმა დააბრუნა 200
-სგან განსხვავებული კოდი), მომხმარებელი გადამისამართდება reject_redirect_url-ზე და ქოლბექი აღარ გაიგზავნება. ამ შემთხვევაში, მერჩანტმა უნდა გამოიძახოს განვადების დეტალების მეთოდი განვადების სტატუსის მისაღებად.
თუ უკვე იყენებთ ონლაინ გადახდებს, ონლაინ განვადების ქოლბექ მისამართები იქნება იგივე რაც ონლაინ გადახდების შემთხვევაში, მაგრამ პარამეტრები იქნება განსხვავებული.
Body-ს პარამეტრები
statusstring
განვადების სტატუსი. იღებს შემდეგ მნიშვნელობებს:
- success - განვადების პროცესი დასრულდა წარმატებით.
- error - განვადების პროცესი დასრულდა წარუმატებლად.
order_idstring
შეკვეთის იდენტიფიკატორი, რომელიც ონლაინ მაღაზიას უბრუნდება შეკვეთის მოთხოვნის Response-ში.
shop_order_idstring
მერჩანტის გადახდის იდენტიფიკატორი.
payment_methodstring
გადახდის მეთოდი. განვადების შემთხვევაში ყოველთვის ბრუნდება BOG_LOAN
- REQUEST
POST / ბანკში მერჩანტად რეგისტრაციისას მითითებული მისამართი
Content-Type: application/x-www-form-urlencoded
{
"status": "success" | "error",
"order_id": "{order_id}",
"shop_order_id": "{shop_order_id}",
"payment_method": "BOG_LOAN"
}
Response
Http_Statusstring
- RESPONSE
{
"Http_Status":"200 OK"
}
განვადების სტატუსის callback
- RESPONSE
Content-Type: application/x-www-form-urlencoded
Request Method: POST
status: success | error
order_id: string
shop_order_id: string
payment_method: BOG_LOAN | UNKNOWN
განვადების გაუქმების callback
- RESPONSE
Content-Type: application/x-www-form-urlencoded
Request Method: POST
status: reverse_success
order_id: string
shop_order_id: string
payment_method: BOG_LOAN