ჩვენთან თანამშრომლობა შესაძლებლობას აძლევს ბანკებს გახდნენ ინოვაციური, ხელმისაწვდომი და უსაფრთხო ციფრული საბანკო სერვისების წამყვანი პროვაიდერი, რომლის მეშვეობითაც მომხმარებელს მარტივად შეუძლია მართოს და მიიღოს ფინანსური მომსახურება.
ძირითადი მიზნები და პერსპექტივები სამომავლო თანამშრომლობისთვის:
* ხარჯების დაზოგვა: ფინტექსთან თანამშრომლობით შესაძლებელია მუშაობა ფიზიკურად წარმოდგენილი ფილიალების გარეშე, რაც ამცირებს ზედმეტ ხარჯებს, როგორიცაა: ქირა, კომუნალური მომსახურება და პერსონალის ხარჯი. აგრეთვე, ტრადიციული ბანკებისგან განსხვავებით, ფინტეკი უფრო დაბალი საკომისიოს და საპროცენტო განაკვეთების შეთავაზების საშუალებას იძლევა.
* გაზრდილი ეფექტურობა: ფინტეკის მიერ შემოთავაზებული ტექნოლოგიის საშუალებით ბევრი ოპერაცია გამარტივდება და მოხდება პროცესების ავტომატიზაცია. ყოველივე აღნიშნული ტრანზაქციების სწრაფად და ეფექტურად შესრულების საშუალებას იძლევა და ამცირებს მანუალური ჩარევის საჭიროებებს.
* გაზრდილი კონკურენცია: ფინტექსთან თანამშრომლობას შეუძლია საბანკო ინდუსტრიაში კონკურენციის ზრდის გამოწვევა, რაც თავისთავად ნიშნავს მომხმარებლებისთვის ინოვაციური პროდუქტებისა და სერვისების შეთავაზებების ზრდას, ფასების დაწევას და მომსახურების ხარისხის გაუმჯობესებას.
* მომხმარებელთა გაზრდილი ბაზა: ფინტექსთან თანამშრომლობა მომხმარებლებისთვის ხელმისაწვდომია ნებისმიერი ადგილიდან, ნებისმიერ დროს, მობილური მოწყობილობების ან კომპიუტერების მეშვეობით. ეს საშუალებას გვაძლევს გავცდეთ კლიენტების ლოკალურ სეგმენტს და მივაღწიოთ მომხმარებელთა გაზრდილ რაოდენობას, რაც თავსითავსდ გულისხმობს პოტენციური კლიენტების გაზრდილ რაოდენობას.
Description:
ამ მეთოდის საშუალებით გაიგებთ მიმდინარე ლიმიტებს განვადების თანხაზე და ხანგრძლივობაზე
Method: GET
Endpoint: ხელმისაწვდომია მხოლოდ სისტემაში ჩართული ფინანსური ინსტიტუტებისთვის
Request Header:
{
Accept: application/json,
Content-Type: application/json,
Authorization: Bearer bearer_token
}
Header Parameters:
bearer_token (მიმდინარე ვალიდური წვდომის თოქენი)
Request Body:
>
Body Parameters:
Success Code: 200
Response Body:
{
installment_limit: {
min: 200
max: 5000
},
installment_duration_limit: {
min: 6,
max: 12
}
}
სადაც:
installment_limit - მინიმალური და მაქსიმალური თანხა (ლარი)
installment_duration_limit - მინიმალური და მაქსიმალური ვადა (თვე)
Error Codes: 401, 500-511
Error Responses:
status: 401
{
"message": "Unauthenticated."
}
500 - 511
{
"message": "Server Error."
}
Description:
ამ მეთოდით შეგიძლიათ შეცვალოთ მიმდინარე განვადების ლიმიტები
Method: POST
Endpoint: ხელმისაწვდომია მხოლოდ სისტემაში ჩართული ფინანსური ინსტიტუტებისთვის
Request Header:
{
Accept: application/json,
Content-Type: application/json,
Authorization: Bearer bearer_token
}
Header Parameters:
bearer_token (მიმდინარე ვალიდური წვდომის თოქენი)
Request Body:
>{
"installment_limit_min":500,
"installment_limit_max":4000,
"duration_limit_min":6,
"duration_limit_max":48
}
Body Parameters:
installment_limit_min - აუცილებელი პარამეტრი. მინიმალური განვადების თანხა
installment_limit_max - აუცილებელი პარამეტრი. მაქსიმალური განვადების თანხა
duration_limit_min - აუცილებელი პარამეტრი. მინიმალური განვადების ვადა (თვე)
duration_limit_max - აუცილებელი პარამეტრი. მაქსიმალური განვადების ვადა (თვე)
Success Code: 200
Response Body:
{
"message": "installment limits updated successfully"
}
Error Codes: 401, 422, 500-511
Error Responses:
status: 401
{
"message": "Unauthenticated."
}
status: 422
{
"message": "wrong request data."
}
500 - 511
{
"message": "Server Error."
}
Description:
მოაქვს სისტემაში ჩართული მერჩანტების სია
Method: POST
Endpoint: ხელმისაწვდომია მხოლოდ სისტემაში ჩართული ფინანსური ინსტიტუტებისთვის
Request Header:
{
Accept: application/json,
Content-Type: application/json,
Authorization: Bearer bearer_token
}
Header Parameters:
bearer_token (მიმდინარე ვალიდური წვდომის თოქენი)
Request Body:
>{
"is_added_to_bank":1,
"page":1
}
Body Parameters:
is_added_to_bank - აუცილებელი პარამეტრი. შესაძლო მნიშვნელობები: ციფრი 0 ან 1
მიშვნელობები:
0 - მაღაზიები, რომლებიც ჯერ არ არიან თქვენი პარტნიორები;
1 - პარტნიორი მაღაზიები;
page - გვერდების რაოდენობა. თუ არ გადაეცემა, დეფოლტ მნიშვნელობა არის 1.
საჭიროების მიხედვით იცვლება სერვერის პასუხიდან გამომდინარე.
გვერდების რაოდენობა და მიმდინარე გვერდი აგრეთვე ბრუნდება სერვერის პასუხში
Success Code: 200
Response Body:
{
"selected_category": "მაღაზიები, რომლებიც ჯერ არ არიან თქვენი პარტნიორები",
"stores_count": 3,
"pages_count": 1,
"current_page": 1,
"stores_per_page": 20,
"stores": [
{
"uuid": "3cd365f4-8a79-4b1b-81c2-28d4aff1dd94",
"store_title": "სატესტო მაღაზია -3",
"store_owner_fullname": "ტესტი-3",
"store_legal_status": "შპს",
"store_current_address": "სატესტო მისამართი",
"tax_number": "666666666",
"phone": "666666666",
"verified_by": "ბანკის დასახელება",
"creation_date": "2022-09-24 10:49:09",
"last_update_date": "2022-10-12 16:02:06"
},
{
"uuid": "1efd90e1-eb68-4d83-b33a-5a10b075af63",
"store_title": "სატესტო მაღაზია -2",
"store_owner_fullname": "ტესტი2",
"store_legal_status": "ი.მ",
"store_current_address": "-",
"tax_number": "55555555555",
"phone": "455555555",
"verified_by": "ბანკის დასახელება",
"creation_date": "2022-09-24 10:47:35",
"last_update_date": "2022-09-24 10:47:35"
},
{
"uuid": "5b9ef83d-8f24-438c-9588-17cd5b5b2481",
"store_title": "სატესტო მაღაზია -1",
"store_owner_fullname": "ტესტი ტესტი",
"store_legal_status": "შპს",
"store_current_address": "-",
"tax_number": "444444444",
"phone": "444444444",
"verified_by": "ბანკის დასახელება",
"creation_date": "2022-09-24 10:46:29",
"last_update_date": "2022-09-24 10:46:29"
}
]
}
Error Codes: 401, 404, 422, 500-511
Error Responses:
status: 401
{
"message": "Unauthenticated."
}
status: 404
{
"selected_category": "პარტნიორი მაღაზიები",
"stores_count": 0,
"pages_count": 0
"current_page": 0
"stores_per_page": 20,
"stores": []
}
status: 422
{
"message": "wrong request data."
}
500
{
"message": "Server Error."
}
Description:
მეთოდი საშუალებას იძლევა სისტემაში რეგისტრირებული მერჩანტები ჩართოთ თქვენი განვადების სისტემაში, მათთან ხელშეკრულების გაფორმების შემდეგ.
Method: POST
Endpoint: ხელმისაწვდომია მხოლოდ სისტემაში ჩართული ფინანსური ინსტიტუტებისთვის
Request Header:
{
Accept: application/json,
Content-Type: application/json,
Authorization: Bearer bearer_token
}
Header Parameters:
bearer_token (მიმდინარე ვალიდური წვდომის თოქენი)
Request Body:
>{
"uuid":"3cd365f4-8a79-4b1b-81c2-28d4aff1dd94"
}
Body Parameters:
uuid - აუცილებელი პარამეტრი. მერჩანტის უნიკალური ნომერი.
Success Code: 200
Response Body:
{
"message": "სატესტო მაღაზია -3 added to bank successfully"
}
Error Codes: 401, 403, 409, 422, 500-511
Error Responses:
status: 401
{
"message": "Unauthenticated."
}
status: 403
{
"message": "this operation is not available in test mode"
}
status: 409
{
"message": "სატესტო მაღაზია -3 already added"
}
status: 422
{
"message": "wrong request data."
}
500 - 511
{
"message": "Server Error."
}
Description:
მეთოდი საშუალებას იძლევა მერჩანტი ამოაგდოთ თქვენი განვადების სისტემიდან.
Method: POST
Endpoint: ხელმისაწვდომია მხოლოდ სისტემაში ჩართული ფინანსური ინსტიტუტებისთვის
Request Header:
{
Accept: application/json,
Content-Type: application/json,
Authorization: Bearer bearer_token
}
Header Parameters:
bearer_token (მიმდინარე ვალიდური წვდომის თოქენი)
Request Body:
>{
"uuid":"3cd365f4-8a79-4b1b-81c2-28d4aff1dd94"
}
Body Parameters:
uuid - აუცილებელი პარამეტრი. მერჩანტის უნიკალური ნომერი
Success Code: 200
Response Body:
{
"message": "სატესტო მაღაზია -3 removed from bank successfully"
}
Error Codes: 401, 403, 404, 422, 500-511
Error Responses:
status: 401
{
"message": "Unauthenticated."
}
status: 403
{
"message": "this operation is not available in test mode"
}
status: 404
{
"message": "can not remove store. store not found in partner's list"
}
status: 422
{
"message": "wrong request data."
}
500 - 511
{
"message": "Server Error."
}
Description:
მოაქვს იმ კლიენტების განვადების განაცხადები, რომლებმაც აირჩიეს თქვენი საფინანსო დაწესებულება.
Method: POST
Endpoint: ხელმისაწვდომია მხოლოდ სისტემაში ჩართული ფინანსური ინსტიტუტებისთვის
Request Header:
{
Accept: application/json,
Content-Type: application/json,
Authorization: Bearer bearer_token
}
Header Parameters:
bearer_token (მიმდინარე ვალიდური წვდომის თოქენი)
Request Body:
>{
"installment_status" :0,
"page":1
}
Body Parameters:
installment_status - აუცილებელი პარამეტრი. შესაძლო მნიშვნელობები: ციფრი 0-7 დიაპაზონში.
მიშვნელობები:
0 - ყველა;
1 - ბანკში გაგზავნილი;
2 - დამტკიცებული;
3 - ხელმოწერილი კლიენტის მიერ;
4 - უარყოფილი კლიენტის მიერ;
5 - დამუშავების პროცესში;
6 - ნივთი გატანილია;
7 - დაუარებული ბანკის მიერ;
page - მიმდინარე გვერდი. თუ არ გადაეცემა, დეფოლტ მნიშვნელობა არის 1.
საჭიროების მიხედვით იცვლება სერვერის პასუხიდან გამომდინარე.
გვერდების რაოდენობა და მიმდინარე გვერდი აგრეთვე ბრუნდება სერვერის პასუხში
Success Code: 200
Response Body:
{
"available_installment_statuses": [
"0 - ყველა",
"1 - ბანკში გაგზავნილი",
"2 - დამტკიცებული",
"3 - ხელმოწერილი კლიენტის მიერ",
"4 - უარყოფილი კლიენტის მიერ",
"5 - დამუშავების პროცესში",
"6 - ნივთი გატანილია",
"7 - დაუარებული ბანკის მიერ"
],
"selected_installment_status": "ყველა",
"installments_count": 2,
"installments_per_page": 20,
"pages_count": 1,
"current_page": 1,
"installments": [
{
"uuid": "7795a51d-830a-4758-95c8-6a5abec9e5e4",
"client": "test user",
"installment_status": "ბანკში გაგზავნილი",
"creation_date": "2022-09-24 11:50:05",
"last_update_date": "2022-09-24 11:50:05"
},
{
"uuid": "acfb0e57-3a2e-4825-9e5f-0c55710fe2e2",
"client": "test user",
"installment_status": "დაუარებული ბანკის მიერ",
"creation_date": "2022-09-24 11:25:01",
"last_update_date": "2022-09-24 11:25:01"
}
]
}
Error Codes: 401, 404, 422, 500-511
Error Responses:
status: 401
{
"message": "Unauthenticated."
}
status: 404
{
"available_installment_statuses": [
"0 - ყველა",
"1 - ბანკში გაგზავნილი",
"2 - დამტკიცებული",
"3 - ხელმოწერილი კლიენტის მიერ",
"4 - უარყოფილი კლიენტის მიერ",
"5 - დამუშავების პროცესში",
"6 - ნივთი გატანილია",
"7 - დაუარებული ბანკის მიერ"
],
"selected_installment_status": "დამუშავების პროცესში",
"installments_count": 0,
"installments_per_page": 20,
"pages": 0
"current_page": 0
"installments": []
}
status: 422
{
"message": "wrong request data."
}
500
{
"message": "Server Error."
}
Description:
მეთოდი აბრუნებს განაცხადის დეტალებს, კერძოდ:
Method: POST
Endpoint: ხელმისაწვდომია მხოლოდ სისტემაში ჩართული ფინანსური ინსტიტუტებისთვის
Request Header:
{
Accept: application/json,
Content-Type: application/json,
Authorization: Bearer bearer_token
}
Header Parameters:
bearer_token (მიმდინარე ვალიდური წვდომის თოქენი)
Request Body:
>{
"uuid" : "7795a51d-830a-4758-95c8-6a5abec9e5e4"
}
Body Parameters:
uuid - აუცილებელი პარამეტრი. განაცხადის უნიკალური ნომერი.
Success Code: 200
Response Body:
შენიშვნა: თუ კლიენტს არ აქვს დაფიქსირებული შემოსავლები client_incomes_by_rs_ge და client_incomes_last_update_date
მნიშვნელობები იქნება - null. თუ კლიენტის შემოსავლები აღემატება 150 000 ლარს მაშინ
client_incomes_by_rs_ge -ს მნიშვნელობა იქნება: "განაცემების ჯამი აღემატება 150 000 ლარს"
{
"installment_status": "ბანკში გაგზავნილი",
"products_price": "4906.00",
"client_participation": "0.00",
"payment_day": 12,
"installment_duration": 12,
"products": [
{
"name": "dg then going",
"amount": 2,
"price": 2453,
"total": 4906
}
],
"store": {
"title": "სატესტო მაღაზია -3",
"tax_number": "666666666",
"phone": "666666666",
"store_current_address": "სატესტო მისამართი"
},
"client": {
"name": "test",
"sname": "user",
"private_number": "11111111111",
"phone": "111111111",
"verified_by": "ვერიფიკატორის დასახელება"
},
"client_incomes_by_rs_ge": [
{
"Period": "201905",
"Employer_Name": "სატესტო კოდი1",
"Employer_Tin": "206322102",
"Income_Type": "ხელფასი",
"Taxable_Total_Income": "1200",
"Income": "1200",
"First_Decl_Date": "6/15/2019 12:00:00 AM",
"Dec_Type": "პირველადი",
"Last_Decl_Date": "6/15/2019 12:00:00 AM",
"Vat_Payed": "0",
"Income_Tax_Payed": "0",
"Small_Status": null,
"Small_Status_Sdate": null,
"Small_Status_Edate": null,
"Activity_Type": null,
"Small_Bussines_Revenue": "0"
},
{
"Period": "201904",
"Employer_Name": "სატესტო კოდი1",
"Employer_Tin": "206322102",
"Income_Type": "ხელფასი",
"Taxable_Total_Income": "1200",
"Income": "1200",
"First_Decl_Date": "5/15/2019 12:00:00 AM",
"Dec_Type": "პირველადი",
"Last_Decl_Date": "5/15/2019 12:00:00 AM",
"Vat_Payed": "0",
"Income_Tax_Payed": "0",
"Small_Status": null,
"Small_Status_Sdate": null,
"Small_Status_Edate": null,
"Activity_Type": null,
"Small_Bussines_Revenue": "0"
}
],
"client_incomes_last_update_date": "2022-09-25 14:26:26"
}
Error Codes: 401, 404, 422, 500-511
Error Responses:
status: 401
{
"message": "Unauthenticated."
}
status: 404
{
"message": "Installment not found"
}
status: 422
{
"message": "wrong request data."
}
500
{
"message": "Server Error."
}
Description:
ახდენს განაცხადის დაუარებას. კლიენტის მხარეს ენიჭება სტატუსი - დაუარებული ბანკის მიერ
Method: POST
Endpoint: ხელმისაწვდომია მხოლოდ სისტემაში ჩართული ფინანსური ინსტიტუტებისთვის
Request Header:
{
Accept: application/json,
Content-Type: application/json,
Authorization: Bearer bearer_token
}
Header Parameters:
bearer_token (მიმდინარე ვალიდური წვდომის თოქენი)
Request Body:
>{
"uuid" :"7795a51d-830a-4758-95c8-6a5abec9e5e4"
}
Body Parameters:
uuid - აუცილებელი პარამეტრი. განაცხადის უნიკალური ნომერი
Success Code: 200
Response Body:
{
"current_installment_status":"უარყოფილი ბანკის მიერ",
"message":"installment rejected successfully"
}
Error Codes: 401, 403, 404, 422, 500-511
Error Responses:
status: 401
{
"message": "Unauthenticated."
}
status: 403
{
"current_installment_status":"დამტკიცებული",
"message":"can not reject installment"
}
status: 404
{
"message": "Installment not found"
}
status: 422
{
"message": "wrong request data."
}
500 - 511
{
"message": "Server Error."
}
Description:
როგორც კი განვადების განაცხადს დაარეგისტრირებთ თქვენს საბანკო სისტემაში, აუცილებელია ამ მეთოდის გამოყენება, რათა გაგრძელდეს პროცესი და კლიენტის მხარეს შეიცვალოს სტატუსი. კერძოდ, განაცხადს მიენიჭება სტატუსი: "დამუშავების პროცესში"
Method: POST
Endpoint: ხელმისაწვდომია მხოლოდ სისტემაში ჩართული ფინანსური ინსტიტუტებისთვის
Request Header:
{
Accept: application/json,
Content-Type: application/json,
Authorization: Bearer bearer_token
}
Header Parameters:
bearer_token (მიმდინარე ვალიდური წვდომის თოქენი)
Request Body:
>{
"uuid" :"7795a51d-830a-4758-95c8-6a5abec9e5e4"
}
Body Parameters:
uuid - აუცილებელი პარამეტრი. განაცხადის უნიკალური ნომერი
Success Code: 200
Response Body:
{
"current_installment_status" : "დამუშავების პროცესში",
"message" : "installment status changed successfully"
}
Error Codes: 401, 403, 404, 422, 500-511
Error Responses:
status: 401
{
"message": "Unauthenticated."
}
status: 403
{
"current_installment_status":"ბანკში გაგზავნილი",
"message" : "can not change installment status"
}
status: 404
{
"message": "Installment not found"
}
status: 422
{
"message": "wrong request data."
}
500 - 511
{
"message": "Server Error."
}
Description:
ამ მეთოდით შეგიძლიათ გაიგოთ დროის სხვაობა თქვენ და ჩვენ სერვერს შორის.
გაითვალისწინეთ, რომ თუ მიღებული დროის სხვაობა წამებში არ იმყოფება -2< time_difference >2 დიაპაზონში, ხელშეკრულების და გრაფიკის, ასევე ხელშეკრულების pdf ფაილის გაგზავნას ვერ მოახერხებთ.
ჩვენი სერვერის დრო სინქრონიზებულია 0.pool.ntp.org NTP სერვერთან.
Method: POST
Endpoint: ხელმისაწვდომია მხოლოდ სისტემაში ჩართული ფინანსური ინსტიტუტებისთვის
Request Header:
{
Accept: application/json,
Content-Type: application/json,
Authorization: Bearer bearer_token
}
Header Parameters:
bearer_token (მიმდინარე ვალიდური წვდომის თოქენი)
Request Body:
>{
"timestamp" :12125455
}
Body Parameters:
timestamp - აუცილებელი პარამეტრი. მიმდინარე დროის შტამპი
Success Code: 200
Response Body:
{
"time_difference" : 1
}
Error Codes: 401, 422, 500-511
Error Responses:
status: 401
{
"message": "Unauthenticated."
}
status: 422
{
"message": "wrong request data."
}
500 - 511
{
"message": "Server Error."
}
Description:
ეს პროცედურა სრულდება იმ შემთხვევაში, როცა სესხი განვადების მოთხოვნის საფუძველზე დამტკიცებულია და გამზადებულია გასაცემად
გადასაცემი პარამეტრების მომზადება (მაგალითებში გამოყენებულია პროგრამირების ენა - php )
$agreement = ხელშეკრულება - html ( დასაშვები თეგები: div, p, b, strong, br, hr, ul, li, h1-h6 ) ფორმატირებული ტექსტი სტილების გარეშე. იხილეთ ნიმუში
$schedule = გრაფიკი - JSON ARRAY STRING
გრაფიკის სტრუქტურა უნდა იყოს შემდეგი:
$schedule =
[
{"InstallmentNo":"0","OperDate":"01-28-2023","Disburse":"600.00","ProcFee":"0.00","Principal":"0.00","TotalCover":"0.00","OSBalance":"600.00"},
{"InstallmentNo":"1","OperDate":"03-10-2023","Disburse":"0.00","ProcFee":"6.50","Principal":"50.00","TotalCover":"56.50","OSBalance":"550.00"}
];
სადაც:
გამოთვალეთ ხელშეკრულების და გრაფიკის ჰეშები. ალგორითმი - sha256:
$agreement_sha256 = hash('sha256',$agreement,false);
$schedule_sha256 = hash('sha256',$schedule,false);
დააგენერირეთ მიმდინარე დროის შტამპი:
$timestamp = getTimestamp();
შექმენით array ობიექტი:
$checksum = [
"timestamp" => $timestamp,
"agreement_sha256" => $agreement_sha256,
"schedule_sha256" => $schedule_sha256,
];
გადაიყვანეთ JSON ფორმატში - $checksum_json = jsonEncode($checksum);
ამის შემდეგ ხდება $checksum_json - ის შიფრაცია ჩვენ მიერ მოწოდებული ღია გასაღებით. შიფრაციის ფორმატი: RSA - padding - OPENSSL_PKCS1_PADDING
$encrypted_sha_and_timestamp = encrypt_RSA_public($checksum_json) ფუნქციამ რეზულტატი უნდა დააბრუნოს base64 ფორმატში!
შენიშვნა: $encrypted_sha_and_timestamp საჭიროა გადმოცემული მონაცემების სისწორის დასადგენად. ამისთვის ჩვენი სერვერის მხარეს ტარდება შემდეგი პროცედურები: 1- $encrypted_sha_and_timestamp მნიშვნელობის დეშიფრაცია დახურული გასაღებით; 2- გამოითვლება გადმოცემული ხელშეკრულების და გრაფიკის ჰეში, დაფიქსირდება მიღების დროის შტამპი; 3- მოხდება მიღებული მნიშვნელობების შედარება $encrypted_sha_and_timestamp დეშიფრაციის შედეგად მიღებულ მონაცემებთნ. თუ მნიშვნელობები ერთმანეთს ემთხვევა და დროის შტამპებს შორის სხვაობა წამებში იქნება -2< სხვაობა >2 დიაპაზონში პროცესი დასრულდება წარმატებით.
ამით გადასაცემი პარამეტრების მომზადება დასრულებულია
Method: POST
Endpoint: ხელმისაწვდომია მხოლოდ სისტემაში ჩართული ფინანსური ინსტიტუტებისთვის
Request Header:
{
Accept: application/json,
Content-Type: application/json,
Authorization: Bearer bearer_token
}
Header Parameters:
bearer_token (მიმდინარე ვალიდური წვდომის თოქენი)
Request Body:
>{
"uuid" :"7795a51d-830a-4758-95c8-6a5abec9e5e4",
"agreement": $agreement,
"schedule": $schedule,
"encrypted_sha_and_timestamp": $encrypted_sha_and_timestamp
}
Body Parameters:
uuid - აუცილებელი პარამეტრი. განაცხადის უნიკალური ნომერი
agreement - აუცილებელი პარამეტრი. ხელშეკრულება ტექსტურ ფორმატში (იხილეთ Description)
schedule - აუცილებელი პარამეტრი. გადახდის გრაფიკი (იხილეთ Description)
encrypted_sha_and_timestamp - აუცილებელი პარამეტრი (იხილეთ Description)
Success Code: 200
Response Body:
{
"message": "agreement and schedule posted successfully"
}
Error Codes: 401, 404, 422, 500-511
Error Responses:
status: 401
{
"message": "Unauthenticated."
}
status: 404
{
"message": "Installment not found"
}
status: 422
{
"message": "wrong request data."
}
500 - 511
{
"message": "Server Error."
}
Description:
ეს პროცედურა სრულდება იმ შემთხვევაში, როცა გაგზავნილია ხელშეკრულება და გრაფიკი.
გადასაცემი პარამეტრების მომზადება:
დააგენერირეთ ხელშეკრულების ფაილი pdf ფორმატში იმ ტექსტისგან ($agreement), რომელის მომზადებაც აღწერილია წინა ინსტრუქციაში - ხელშეკრულების და გრაფიკის გაგზავნა. დაადეთ ციფრული ხელმოწერა თქვენი სერთიფიკატით და გადაიყვანეთ base64 ფორმატში.
იხილეთ ხელმოწერილი ფაილის ნიმუში
იხილეთ ტექსტი რომლითაც მოხდა pdf ფაილის გენერაცია
$agreement_base64 = chunk_split(base64_encode("path to file"));
გამოთვალეთ ციფრულად ხელმოწერილი ხელშეკრულების pdf ფაილის ჰეში. ალგორითმი - sha256:
$agreement_sha256 = hash_file( 'sha256', 'path to file' );
დააგენერირეთ მიმდინარე დროის შტამპი:
$timestamp = getTimestamp();
შექმენით array ობიექტი:
$checksum = [
"timestamp" => $timestamp,
"agreement_sha256" => $agreement_sha256,
];
გადაიყვანეთ JSON ფორმატში - $checksum_json = jsonEncode($checksum);
ამის შემდეგ ხდება $checksum_json - ის შიფრაცია ჩვენ მიერ მოწოდებული ღია გასაღებით. შიფრაციის ფორმატი: RSA - padding - OPENSSL_PKCS1_PADDING
$encrypted_sha_and_timestamp = encrypt_RSA_public($checksum_json) ფუნქციამ რეზულტატი უნდა დააბრუნოს base64 ფორმატში!
შენიშვნა: $encrypted_sha_and_timestamp საჭიროა გადმოცემული მონაცემების სისწორის დასადგენად. ამისთვის ჩვენი სერვერის მხარეს ტარდება შემდეგი პროცედურები: 1- $encrypted_sha_and_timestamp მნიშვნელობის დეშიფრაცია დახურული გასაღებით; 2- გამოითვლება გადმოცემული ხელშეკრულების და გრაფიკის ჰეში, დაფიქსირდება მიღების დროის შტამპი; 3- მოხდება მიღებული მნიშვნელობების შედარება $encrypted_sha_and_timestamp დეშიფრაციის შედეგად მიღებულ მონაცემებთნ. თუ მნიშვნელობები ერთმანეთს ემთხვევა და დროის შტამპებს შორის სხვაობა წამებში იქნება -2< სხვაობა >2 დიაპაზონში პროცესი დასრულდება წარმატებით.
ამით გადასაცემი პარამეტრების მომზადება დასრულებულია
Method: POST
Endpoint: ხელმისაწვდომია მხოლოდ სისტემაში ჩართული ფინანსური ინსტიტუტებისთვის
Request Header:
{
Accept: application/json,
Content-Type: application/json,
Authorization: Bearer bearer_token
}
Header Parameters:
bearer_token (მიმდინარე ვალიდური წვდომის თოქენი)
Request Body:
>{
"uuid" :"7795a51d-830a-4758-95c8-6a5abec9e5e4",
"agreement_base64": $agreement_base64,
"encrypted_sha_and_timestamp" : $encrypted_sha_and_timestamp
}
Body Parameters:
uuid - აუცილებელი პარამეტრი. განაცხადის უნიკალური ნომერი
agreement_base64 - ციფრულად ხელმოწერილი ხელშეკრულება (pdf) გადაყვანილი base64 ფორმატში (იხილეთ Description)
encrypted_sha_and_timestamp - დაშიფრული დროის შტამპი და ფაილის ჰეში (იხილეთ Description)
Success Code: 200
Response Body:
{
"message": agreement saved successfully"
}
შენიშვნა: კლიენტის მხარეს განაცხადს მიენიჭება სტატუსი: დამტკიცებული. შემდგომი სტატუსების მისაღებად იხილეთ მომდევნო ინსტრუქცია.
Error Codes: 401, 403, 404, 422, 500-511
Error Responses:
status: 401
{
"message": "Unauthenticated."
}
status: 403
{
"message": "time difference more then 2 seconds" or "file hash value is not valid"
}
status: 404
{
"message": "Installment not found" or "message": "agreement end schedule not found! please send them before!"
}
status: 422
{
"message": "wrong request data."
}
500 - 511
{
"message": "Server Error."
}
Description:
მას შემდეგ, რაც გაიგზავნება ხელშეკრულება, გრაფიკი და ხელშეკრულების ციფრულად ხელმოწერილი pdf ფაილი, კლიენტის მხარეს განაცხადს მიენიჭება სტატუსი: დამტკიცებული.
შემდგომში, განაცხადმა შესაძლოა მიიღოს მხოლოდ შემდეგი სტატუსები:
Method: POST
Endpoint: ხელმისაწვდომია მხოლოდ სისტემაში ჩართული ფინანსური ინსტიტუტებისთვის
Request Header:
{
Accept: application/json,
Content-Type: application/json,
Authorization: Bearer bearer_token
}
Header Parameters:
bearer_token (მიმდინარე ვალიდური წვდომის თოქენი)
Request Body:
>{
"uuid" :"7795a51d-830a-4758-95c8-6a5abec9e5e4"
}
Body Parameters:
uuid - აუცილებელი პარამეტრი. განაცხადის უნიკალური ნომერი
Success Code: 200
Response Body:
{
"installment_status": "ნივთი გატანილია"
}
Error Codes: 401, 404, 422, 500-511
Error Responses:
status: 401
{
"message": "Unauthenticated."
}
status: 404
{
"message": "Installment not found"
}
status: 422
{
"message": "wrong request data."
}
500 - 511
{
"message": "Server Error."
}