Integrify API inteqrasiyalarını rahatlaşdıran sorğular kitabaxanasıdır. Bu kitabxana Epoint inteqrasiyası üçün nəzərdə tutulmuşdur.
Project description
Integrify EPoint
[!Caution] Bütün sorğular rəsmi dokumentasiyalara uyğun yazılsalar da, Integrify qeyri-rəsmi API klient-dir.
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-epoint-python
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 |
✅ |
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 | ✅ | Tam | ✅ | Miradil Zeynallı | |
| KapitalBank | ✅ | ✅ | Tam | ✅ | Zaman Kazımov |
| LSIM | ✅ | ✅ | Tam | ✅ | Miradil Zeynallı |
| Posta Guvercini | ✅ | ✅ | Tam | ✅ | Zaman Kazımov |
| Azericard | ✅ | Tam | Miradil Zeynallı | ||
| Clopos | ✅ | ✅ | Full | Miradil Zeynallı | |
| Payriff | Vahid Həsənzadə |
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file integrify_epoint-1.1.0.tar.gz.
File metadata
- Download URL: integrify_epoint-1.1.0.tar.gz
- Upload date:
- Size: 27.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47e717c905230ad30e11470329d665c852022f3bc5d35ec42e7e64da7808bd2e
|
|
| MD5 |
9a44a79b7704f8cc19c6b8b23acd97cf
|
|
| BLAKE2b-256 |
6b86ab8df99920e9277e6e90a4585cb66b64a5bc779cec7279e1f6c6496a9d20
|
Provenance
The following attestation bundles were made for integrify_epoint-1.1.0.tar.gz:
Publisher:
publish.yml on Integrify-SDK/integrify-epoint-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
integrify_epoint-1.1.0.tar.gz -
Subject digest:
47e717c905230ad30e11470329d665c852022f3bc5d35ec42e7e64da7808bd2e - Sigstore transparency entry: 720349327
- Sigstore integration time:
-
Permalink:
Integrify-SDK/integrify-epoint-python@c010b73d3cf2c2d5f30e2cbadb19434375750ce6 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/Integrify-SDK
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c010b73d3cf2c2d5f30e2cbadb19434375750ce6 -
Trigger Event:
release
-
Statement type:
File details
Details for the file integrify_epoint-1.1.0-py3-none-any.whl.
File metadata
- Download URL: integrify_epoint-1.1.0-py3-none-any.whl
- Upload date:
- Size: 28.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a6980a8b6eca534f0726517f87c707fcec9848c260dde5a058c4898d1c24a312
|
|
| MD5 |
67c77dec2d37625542b7379001408c5a
|
|
| BLAKE2b-256 |
c9faed8834dba0dc37ac0addf2a4468d4e9c98c7641831fda23ee7a4d7f2f698
|
Provenance
The following attestation bundles were made for integrify_epoint-1.1.0-py3-none-any.whl:
Publisher:
publish.yml on Integrify-SDK/integrify-epoint-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
integrify_epoint-1.1.0-py3-none-any.whl -
Subject digest:
a6980a8b6eca534f0726517f87c707fcec9848c260dde5a058c4898d1c24a312 - Sigstore transparency entry: 720349340
- Sigstore integration time:
-
Permalink:
Integrify-SDK/integrify-epoint-python@c010b73d3cf2c2d5f30e2cbadb19434375750ce6 -
Branch / Tag:
refs/tags/v1.0.1 - Owner: https://github.com/Integrify-SDK
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@c010b73d3cf2c2d5f30e2cbadb19434375750ce6 -
Trigger Event:
release
-
Statement type: