Skip to content

Integrify API inteqrasiyalarını rahatlaşdıran sorğular kitabaxanasıdır. Bu kitabxana EPoint inteqrasiyası üçün nəzərdə tutulmuşdur.

License

Notifications You must be signed in to change notification settings

Integrify-SDK/integrify-epoint-python

Repository files navigation

Integrify EPoint

Caution

Bütün sorğular rəsmi dokumentasiyalara uyğun yazılsalar da, Integrify qeyri-rəsmi API klient-dir.

Integrify

Integrify API inteqrasiyalarını rahatlaşdıran sorğular kitabaxanasıdır. Bu kitabxana EPoint inteqrasiyası üçün nəzərdə tutulmuşdur.

Test Publish Package version Netlify Status

Downloads Supported Python versions Coverage


Dokumentasiya: https://integrify.mmzeynalli.dev/integrations/epoint/about/

Kod: https://github.com/Integrify-SDK/integrify-epoint-python


Rəsmi Dokumentasiya (v1.0.3)

Azərbaycanca

İngliscə

Rusca

Əsas özəlliklər

  • Kitabxana həm sync, həm də async sorğu dəyişimini dəstəkləyir.
  • Kitabaxanadakı bütün sinif və funksiyalar tamamilə dokumentləşdirilib.
  • Kitabaxanadakı bütün sinif və funksiyalar tipləndirildiyindən, "type hinting" aktivdir.
  • Sorğuların çoxunun məntiq axını (flowsu) izah edilib.

Kitabxananın yüklənməsi

pip install integrify-epoint

İstifadəsi

Bu sorğulardan istifadə etmək üçün, bu dəyərləri "environment variable"-larına əlavə etməlisiniz: EPOINT_PUBLIC_KEY, EPOINT_PRIVATE_KEY

EPoint interfeysinin dilini dəyişmək istəyirsinizsə, EPOINT_INTERFACE_LANG "environment variable"-na dəyər verin. Default olaraq, Azərbaycan dili olacaq.

Sorğular uğurlu və ya uğursuz olduqda, spesifik URL-ə yönləndirmək istəyirsinizsə, bu dəyişənlərə də mühit levelində dəyər verin: EPOINT_SUCCESS_REDIRECT_URL, EPOINT_FAILED_REDIRECT_URL

Sorğular listi

Sorğu funksiyası Məqsəd EPoint API Callback-ə sorğu atılır
pay Ödəniş /api/1/request
get_transaction_status Ödəniş statusunun yoxlanılması /api/1/get-status
save_card Ödəniş olmadan kartı yadda saxlamaq /api/1/card-registration
pay_with_saved_card Saxlanılan kartla ödəniş /api/1/execute-pay
pay_and_save_card Ödəniş etmə və kartı yadda saxlamaq /api/1/card-registration-with-pay
payout Vəsaitlərin köçürülməsi /api/1/refund-request
refund Ödənişi tam və ya yarımçıq geri qaytarma /api/1/reverse
split_pay Ödənişi başqa EPoint istifadəçisi ilə bölüb ödəmə /api/1/split-request
split_pay_with_saved_card Saxlanılmış kartla ödənişi başqa EPoint istifadəçisi ilə bölüb ödəmə /api/1/split-execute-pay
split_pay_and_save_card Ödənişi başqa EPoint istifadəçisi ilə bölüb ödəmə və kartı saxlamaq /api/1/split-card-registration-with-pay

Callback Sorğusu

Bəzi sorğular müştəri məlumat daxil etdikdən və arxa fonda bank işləmləri bitdikdən sonra, tranzaksiya haqqında məlumat sizin EPoint dashboard-da qeyd etdiyiniz callback URL-ə POST sorğusu göndərilir. Data siz adətən sorğu göndərdiyiniz formatda gəlir:

{
    'data': 'base64data'
    'signature': 'sha1signature'
}

Bu data-nı signature-ni yoxladıqdan sonra, decode etmək lazımdır. Callback üçün API yazdıqda, datanı alıb, helpers.py-dakı decode_callback_data funksiyası ilə həm signature yoxlanması həm də datanın decode-unu edə bilərsiniz. Bu funksiya sizə DecodedCallbackDataSchema formatında decode olunmuş datanı qaytarır.

Qeyd

FastAPI istifadəçiləri kiçik "shortcut"-dan istifadə edə bilərlər:

@router.post('/epoint/callback')
async def epoint_callback(data: DecodedCallbackDataSchema = Depends(decode_callback_data)):
  ...

Funksiyanı belə yazdıqda, data avtomatik signature-i yoxlanaraq decode edilir.

Callback Data formatı

Nə sorğu göndərməyinizdən asılı olaraq, callback-ə gələn data biraz fərqlənə bilər. DecodedCallbackDataSchema bütün bu dataları özündə cəmləsə də, hansı fieldlərin gəlməyəcəyini (yəni, decode-dan sonra None olacağını) bilmək yaxşı olar. Ümumilikdə, mümkün olacaq datalar bunlardır:

Dəyişən adı İzahı
status Success və ya failed əməliyyatının nəticəsi
message Ödənişin icra statusu haqqında mesaj
code Bankın cavab kodu. 3 rəqəmli koddan, xəta/uğur mesajına çevrilir.
transaction Epoint xidmətinin əməliyyat IDsi
bank_transaction Bank ödəniş əməliyyatı IDsi
bank_response Ödəniş icrasının nəticəsi ilə bankın cavabı
operation_code 001-kart qeydiyyatı\n100- istifadəçi ödənişi
rrn Retrieval Reference Number - unikal əməliyyat identifikator. Yalnız uğurlu bir əməliyyat üçün mövcuddur
card_mask Ödəniş səhifəsində göstərilən istifadəçi adı
card_name 123456******1234 formatında əks edilən kart maskası
amount Ödəniş məbləği
order_id Tətbiqinizdə unikal əməliyyat ID
card_id Ödənişləri yerinə yetirmək üçün istifadə edilm lazım olan unikal kart identifikatoru
split_amount İkinci istifadəçi üçün ödəniş məbləği
other_attr Əlavə göndərdiyiniz seçimlər

Sorğudan asılı olaraq, bu data-lar callback-də GƏLMİR (yəni, avtomatik None dəyəri alır):

Sorğu metodu Callback-də gəlməyəcək datalar
pay card_id, split_amount
save_card order_id, transaction, amount, other_attr
pay_and_save_card message
split_pay -
split_pay_and_save_card message

Caution

Bütün sorğular rəsmi dokumentasiyalara uyğun yazılsalar da, Integrify qeyri-rəsmi API klient-dir.

Dəstəklənən başqa API inteqrasiyaları

Servis Əsas sorğular Bütün sorğular Dokumentləşdirilmə Real mühitdə test Əsas developer
EPoint loading Tam Miradil Zeynallı
KapitalBank Tam Zaman Kazımov
LSIM Tam Miradil Zeynallı
Posta Guvercini Tam Zaman Kazımov
Azericard loading Tam loading Miradil Zeynallı
Payriff loading loading loading loading Vahid Həsənzadə

About

Integrify API inteqrasiyalarını rahatlaşdıran sorğular kitabaxanasıdır. Bu kitabxana EPoint inteqrasiyası üçün nəzərdə tutulmuşdur.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •