Integrify EPoint
Integrify API inteqrasiyalarını rahatlaşdıran sorğular kitabaxanasıdır. Bu kitabxana EPoint inteqrasiyası üçün nəzərdə tutulmuşdur.
Dokumentasiya: https://integrify.mmzeynalli.dev/integrations/epoint/about/
Kod: https://github.com/integrify-sdk/integrify-python/tree/main/packages/epoint
Rəsmi Dokumentasiya (v1.0.3)
Ə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 |
✅ |
create_widget |
Apple Pay/Google Pay widget-i yaratmaq | /api/1/token/widget |
❌ |
create_token_payment |
Apple Pay/Google Pay üçün token ödənişi yaratmaq | /api/1/token/payment |
❌ |
apple_pay_session |
Apple Pay session-u almaq | /api/1/token/apple/session |
❌ |
apple_pay |
Apple Pay ilə ödənişi tamamlamaq | /api/1/token/apple/pay |
❌ |
google_pay |
Google Pay ilə ödənişi tamamlamaq | /api/1/token/google/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 |
Metadata
Release files for integrify-epoint 1.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| integrify_epoint-1.3.0.tar.gz | 16.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| integrify_epoint-1.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.1 kB
Release files / integrify_epoint-1.3.0.tar.gz
| Download URL | integrify_epoint-1.3.0.tar.gz |
|---|---|
| Size | 16.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
820a6a39b6db4f4dda99f8ed0f9285f6b4465c2ce1dab9a6d019ef68637f2579
|
|
BLAKE2b-256 checksum How to use checksums |
f90d7ab665df11fb38f369e314b91c32ce68157a1c019ad8ab4010aa7d11677d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / integrify_epoint-1.3.0-py3-none-any.whl
| Download URL | integrify_epoint-1.3.0-py3-none-any.whl |
|---|---|
| Size | 19.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
51f004ac74ca071360cd3d684a513e1a5aa2b5f13f54f58769edacb715b926cb
|
|
BLAKE2b-256 checksum How to use checksums |
b1b0ea4c8a4cf0fe60b874113fb0b95d5b8d0a145817e6f53870cb3c57310543
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.18 {"installer":{"name":"uv","version":"0.12.18","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|