Məzmuna keç

AzeriCard klientinin API Reference-i

Note

İstifadəsi göstərilən bütün sorğular sinxrondur. Asinxron versiyasaları istifadə etmək üçün bu importu edin və eyni-adlı funksiyaları await ilə çağırın:

from integrify.azericard import AzeriCardAsyncClient

integrify.azericard.client.AzeriCardClient module-attribute

AzeriCardClient = AzeriCardClientClass(sync=True)

integrify.azericard.client.AzeriCardAsyncClient module-attribute

AzeriCardAsyncClient = AzeriCardClientClass(sync=False)
Note

Bunlar artıq hazır yaradılmış klass obyektləridir, birbaşa istifadə üçün nəzərdə tutulub. Əks halda bütün sorğuları AzeriCardClientClass().save_card() kimi istifadə etməlisiniz.

integrify.azericard.client.AzeriCardClientClass

AzeriCardClientClass(name='AzeriCard', base_url=None, default_handler=None, sync=True, dry=False)

Bases: APIClient

AzeriCard sorğular üçün baza class

authorization

authorization(amount, currency, order, desc, trtype, merch_name=AZERICARD_MERCHANT_NAME, merch_url=AZERICARD_MERCHANT_EMAIL, terminal=AZERICARD_MERCHANT_ID, email=AZERICARD_MERCHANT_EMAIL, country=_UNSET, merch_gmt=_UNSET, backref=AZERICARD_CALLBACK_URL, timestamp=now(), lang=AZERICARD_INTERFACE_LANG, name=_UNSET, m_info=_UNSET)

Ümumi Ödəniş/Pul Dondurma/Dondurulmanı sorğusu

Endpoint: https://{test}mpi.3dsecure.az/cgi-bin/cgi_link

Example
from integrify.azericard import AzeriCardClient
from integrify.azericard.schemas.enums import AuthorizationType

AzeriCardClient.authorization(amount=100, currency='AZN', order='12345678', desc='Ödəniş', trype=AuthorizationType.FREEZE, name='Filankes')

Cavab formatı: Yoxdur. Redirect baş verir, nəticə callback sorğusunda qayıdır.

PARAMETER DESCRIPTION
amount

Ödəniş miqdarı. Numerik dəyər.

TYPE: SupportsFloat

currency

Sifariş valyutası: 3 simvollu valyuta: (AZN)

TYPE: str

order

Satıcı sifariş ID-si, rəqəmsal. Son 6 rəqəm sistem izi audit nömrəsi kimi istifadə olunur, terminal id üçün bir gün ərzində unikal olmalıdır

TYPE: str

desc

Ödənişin təsviri/açıqlaması

TYPE: str

merch_name

Satıcının (merchant) adı (kart istifadəçisinin anladığı formada olmalıdır)

TYPE: str DEFAULT: AZERICARD_MERCHANT_NAME

merch_url

Satıcının web site URL-i

TYPE: str DEFAULT: AZERICARD_MERCHANT_EMAIL

terminal

Bank tərəfindən təyin edilmiş Merchant Terminal ID. Mühit dəyişəni kimi təyin olunmayıbsa, burada parametr kimi ötürülməlidir.

TYPE: str DEFAULT: AZERICARD_MERCHANT_ID

trtype

Tranzaksiya növü: 0 (Pre-Avtorizasiya əməliyyatı, pulu bloklamaq/dondurmaq) və ya 1 (Avtorizasiya əməliyyatı, birbaşa ödəniş)

TYPE: AuthorizationType

email

Bildirişlər üçün Email ünvan. Qeyd olunmuş sahə doldurulduğu halda Gateway email ünvanı müəyyən etmək üçün əməliyyat nəticəsi haqqında bildiriş göndərə bilər

TYPE: str DEFAULT: AZERICARD_MERCHANT_EMAIL

country

Merchant shop 2 simvollu ölkə kodu. Merchant sistemi Gateway serverin yerləşdiyi ölkədən fərqli ölkədə yerləşirsə qeyd olunmalıdır

TYPE: Unsettable[str] DEFAULT: _UNSET

merch_gmt

Merchant-ın UTC/GMT vaxt zonası. Merchant sistemi Gateway serverin yerləşdiyi vaxt zonasından fərqli vaxt zonasında yerləşirsə qeyd olunmalıdır

TYPE: Unsettable[str] DEFAULT: _UNSET

backref

Avtorizasiya nəticəsinin yerləşdirilməsində(post) istifadə olunan Merchant URL

TYPE: str DEFAULT: AZERICARD_CALLBACK_URL

timestamp

Merchant server-lə e-Gateway server arasında zaman fərqi 1 saatı aşmamalıdır, əks halda Gateway tranzaksiyaya imtina verəcək. Dəyər verilmədikdə, now avtomatik göndəriləcək

TYPE: Union[datetime, str] DEFAULT: now()

lang

Dil seçimi

TYPE: str DEFAULT: AZERICARD_INTERFACE_LANG

name

Müştərinin adı (kartda göstərildiyi kimi)

TYPE: Unsettable[str] DEFAULT: _UNSET

m_info

Əlavə məlumatlar. Məs: {"browserScreenHeight":"1920","browserScreenWidth":"1080","browserTZ":"0","mobilePhone":{"cc":"994","subscriber":"5077777777"}}

TYPE: Unsettable[MInfo] DEFAULT: _UNSET

auth_and_save_card

auth_and_save_card(amount, currency, order, desc, trtype, merch_name=AZERICARD_MERCHANT_NAME, merch_url=AZERICARD_MERCHANT_EMAIL, terminal=AZERICARD_MERCHANT_ID, email=AZERICARD_MERCHANT_EMAIL, country=_UNSET, merch_gmt=_UNSET, backref=AZERICARD_CALLBACK_URL, timestamp=now(), lang=AZERICARD_INTERFACE_LANG, name=_UNSET, m_info=_UNSET)

Ümumi kartı saxlayaraq ödəniş sorğusu

Endpoint: https://{test}mpi.3dsecure.az/token/cgi_link

Example
from integrify.azericard import AzeriCardClient
from integrify.azericard.schemas.enums import AuthorizationType

AzeriCardClient.auth_and_save_card(amount=100, currency='AZN', order='12345678', desc='Ödəniş', trype=AuthorizationType.DIRECT, name='Filankes')

Cavab formatı: Callback sorğu baş verir

PARAMETER DESCRIPTION
amount

Ödəniş miqdarı. Numerik dəyər.

TYPE: SupportsFloat

currency

Sifariş valyutası: 3 simvollu valyuta: (AZN)

TYPE: str

order

Satıcı sifariş ID-si, rəqəmsal. Son 6 rəqəm sistem izi audit nömrəsi kimi istifadə olunur, terminal id üçün bir gün ərzində unikal olmalıdır

TYPE: str

desc

Ödənişin təsviri/açıqlaması

TYPE: str

merch_name

Satıcının (merchant) adı (kart istifadəçisinin anladığı formada olmalıdır)

TYPE: str DEFAULT: AZERICARD_MERCHANT_NAME

merch_url

Satıcının web site URL-i

TYPE: str DEFAULT: AZERICARD_MERCHANT_EMAIL

trtype

Tranzaksiya növü = 0 (Pre-Avtorizasiya əməliyyatı, pulu bloklamaq/dondurmaq),Tranzaksiya növü = 1 (Avtorizasiya əməliyyatı)

TYPE: AuthorizationType

backref

Avtorizasiya nəticəsinin yerləşdirilməsində(post) istifadə olunan Merchant URL

TYPE: str DEFAULT: AZERICARD_CALLBACK_URL

email

Bildirişlər üçün Email ünvan. Qeyd olunmuş sahə doldurulduğu halda Gateway email ünvanı müəyyən etmək üçün əməliyyat nəticəsi haqqında bildiriş göndərə bilər

TYPE: str DEFAULT: AZERICARD_MERCHANT_EMAIL

country

Merchant shop 2 simvollu ölkə kodu. Merchant sistemi Gateway serverin yerləşdiyi ölkədən fərqli ölkədə yerləşirsə qeyd olunmalıdır

TYPE: Unsettable[str] DEFAULT: _UNSET

merch_gmt

Merchant-ın UTC/GMT vaxt zonası. Merchant sistemi Gateway serverin yerləşdiyi vaxt zonasından fərqli vaxt zonasında yerləşirsə qeyd olunmalıdır

TYPE: Unsettable[str] DEFAULT: _UNSET

timestamp

Merchant server-lə e-Gateway server arasında zaman fərqi 1 saatı aşmamalıdır, əks halda Gateway tranzaksiyaya imtina verəcək. Dəyər verilmədikdə, now avtomatik göndəriləcək

TYPE: Union[datetime, str] DEFAULT: now()

lang

Dil seçimi

TYPE: str DEFAULT: AZERICARD_INTERFACE_LANG

name

Müştərinin adı (kartda göstərildiyi kimi)

TYPE: Unsettable[str] DEFAULT: _UNSET

m_info

Əlavə məlumatlar. Məs: {"browserScreenHeight":"1920","browserScreenWidth":"1080","browserTZ":"0","mobilePhone":{"cc":"994","subscriber":"5077777777"}}

TYPE: Unsettable[MInfo] DEFAULT: _UNSET

auth_with_saved_card

auth_with_saved_card(amount, currency, order, desc, trtype, token, merch_name=AZERICARD_MERCHANT_NAME, merch_url=AZERICARD_MERCHANT_EMAIL, terminal=AZERICARD_MERCHANT_ID, email=AZERICARD_MERCHANT_EMAIL, country=_UNSET, merch_gmt=_UNSET, backref=AZERICARD_CALLBACK_URL, timestamp=now(), lang=AZERICARD_INTERFACE_LANG, name=_UNSET, m_info=_UNSET)

Ümumi saxlanmış kart ilə Authurization sorğusu

Endpoint: https://{test}mpi.3dsecure.az/token/cgi_link

Example
from integrify.azericard import AzeriCardClient
from integrify.azericard.schemas.enums import AuthorizationType

AzeriCardClient.auth_with_saved_card(amount=100, currency='AZN', order='12345678', desc='Ödəniş', trype=AuthorizationType.DIRECT, name='Filankes', token='card-token')

Cavab formatı: Callback sorğu baş verir

PARAMETER DESCRIPTION
amount

Ödəniş miqdarı. Numerik dəyər.

TYPE: SupportsFloat

currency

Sifariş valyutası: 3 simvollu valyuta: (AZN)

TYPE: str

order

Satıcı sifariş ID-si, rəqəmsal. Son 6 rəqəm sistem izi audit nömrəsi kimi istifadə olunur, terminal id üçün bir gün ərzində unikal olmalıdır

TYPE: str

desc

Ödənişin təsviri/açıqlaması

TYPE: str

merch_name

Satıcının (merchant) adı (kart istifadəçisinin anladığı formada olmalıdır)

TYPE: str DEFAULT: AZERICARD_MERCHANT_NAME

merch_url

Satıcının web site URL-i

TYPE: str DEFAULT: AZERICARD_MERCHANT_EMAIL

trtype

Tranzaksiya növü = 0 (Pre-Avtorizasiya əməliyyatı, pulu bloklamaq/dondurmaq),Tranzaksiya növü = 1 (Avtorizasiya əməliyyatı)

TYPE: AuthorizationType

backref

Avtorizasiya nəticəsinin yerləşdirilməsində(post) istifadə olunan Merchant URL

TYPE: str DEFAULT: AZERICARD_CALLBACK_URL

token

Yadda saxlanılmış kartın ID-si

TYPE: str

email

Bildirişlər üçün Email ünvan. Qeyd olunmuş sahə doldurulduğu halda Gateway email ünvanı müəyyən etmək üçün əməliyyat nəticəsi haqqında bildiriş göndərə bilər

TYPE: str DEFAULT: AZERICARD_MERCHANT_EMAIL

country

Merchant shop 2 simvollu ölkə kodu. Merchant sistemi Gateway serverin yerləşdiyi ölkədən fərqli ölkədə yerləşirsə qeyd olunmalıdır

TYPE: Unsettable[str] DEFAULT: _UNSET

merch_gmt

Merchant-ın UTC/GMT vaxt zonası. Merchant sistemi Gateway serverin yerləşdiyi vaxt zonasından fərqli vaxt zonasında yerləşirsə qeyd olunmalıdır

TYPE: Unsettable[str] DEFAULT: _UNSET

timestamp

Merchant server-lə e-Gateway server arasında zaman fərqi 1 saatı aşmamalıdır, əks halda Gateway tranzaksiyaya imtina verəcək. Dəyər verilmədikdə, now avtomatik göndəriləcək

TYPE: Union[datetime, str] DEFAULT: now()

lang

Dil seçimi

TYPE: str DEFAULT: AZERICARD_INTERFACE_LANG

name

Müştərinin adı (kartda göstərildiyi kimi)

TYPE: Unsettable[str] DEFAULT: _UNSET

m_info

Əlavə məlumatlar. Məs: {"browserScreenHeight":"1920","browserScreenWidth":"1080","browserTZ":"0","mobilePhone":{"cc":"994","subscriber":"5077777777"}}

TYPE: Unsettable[MInfo] DEFAULT: _UNSET

finalize

finalize(amount, currency, order, rrn, int_ref, trtype, terminal=AZERICARD_MERCHANT_ID, timestamp=now())

PreAuthorization (pulu bloklama) sorğusuna cavab və ya direkt ödənişi refund sorğusu

Endpoint: https://{test}mpi.3dsecure.az/cgi-bin/cgi_link

Example
from integrify.azericard import AzeriCardClient
from integrify.azericard.schemas.enums import AuthorizationResponseType

AzeriCardClient.finalize(amount=100, currency='AZN', order='12345678', rrn='payment_rrn', int_ref='int_ref', trtype=AuthorizationResponseType.ACCEPT_PAYMENT)

Cavab formatı:

PARAMETER DESCRIPTION
amount

Ödəniş miqdarı. Numerik dəyər.

TYPE: SupportsFloat

currency

Sifariş valyutası: 3 simvollu valyuta: (AZN)

TYPE: str

order

Satıcı sifariş ID-si, rəqəmsal. Son 6 rəqəm sistem izi audit nömrəsi kimi istifadə olunur, terminal id üçün bir gün ərzində unikal olmalıdır

TYPE: str

rrn

Ödənişin RRN-i, Authorization sorğusuna response-da gəlir

TYPE: str

int_ref

Ödənişin referansı, Authorization sorğusuna response-da gəlir

TYPE: str

trtype

Tranzaksiya növü: 21 (Təsdiq), 22 (Geri qaytarma), 24 (Ləğv etmə, spesifik banklar üçün istifadə olunur)

TYPE: AuthorizationResponseType

timestamp

Merchant server-lə e-Gateway server arasında zaman fərqi 1 saatı aşmamalıdır, əks halda Gateway tranzaksiyaya imtina verəcək. Dəyər verilmədikdə, now avtomatik göndəriləcək

TYPE: Union[datetime, str] DEFAULT: now()

get_transaction_status

get_transaction_status(tran_trtype, order, terminal=AZERICARD_MERCHANT_ID, timestamp=now())

Bitmiş tranzaksiyanın statusunu alma sorğusu

Endpoint: https://{test}mpi.3dsecure.az/cgi-bin/cgi_link

Example
from integrify.azericard import AzeriCardClient
from integrify.azericard.schemas.enums import AuthorizationType

AzeriCardClient.get_transaction_status(tran_trtype=AuthorizationType.DIRECT, order='12345678')

Cavab formatı: GetTransactionStatusResponseSchema

PARAMETER DESCRIPTION
tran_trtype

Sorğu üçün orijinal əməliyyat növü, TRTYPE (Məsələn: 0, 1, 22, 24 və s.)

TYPE: Union[AuthorizationType, AuthorizationResponseType]

order

Satıcı sifariş ID-si, rəqəmsal. Son 6 rəqəm sistem izi audit nömrəsi kimi istifadə olunur, terminal id üçün bir gün ərzində unikal olmalıdır

TYPE: str

terminal

Bank tərəfindən təyin edilmiş Merchant Terminal ID. Mühit dəyişəni kimi təyin olunmayıbsa, burada parametr kimi ötürülməlidir.

TYPE: str DEFAULT: AZERICARD_MERCHANT_ID

timestamp

Merchant server-lə e-Gateway server arasında zaman fərqi 1 saatı aşmamalıdır, əks halda Gateway tranzaksiyaya imtina verəcək. Dəyər verilmədikdə, now avtomatik göndəriləcək

TYPE: Union[datetime, str] DEFAULT: now()

transfer_start

transfer_start(merchant, srn, amount, cur, receiver_credentials, redirect_link)

User-ə ödəniş etmək sorğusu

Endpoint: https://{test}mt.3dsecure.az/payment/view

Example
from integrify.azericard import AzeriCardClient

AzeriCardClient.transfer_start(merchant='MyMerchant', srn='12345678', amount=100, cur='944', receiver_credentials='Filankəsov Filankəs', redirect_link='my-redirect-api-for-user')

Cavab formatı: Callback sorğu baş verir

PARAMETER DESCRIPTION
merchant

Şirkət adı

TYPE: str

srn

Unikal əməliyyat nömrəsi

TYPE: str

amount

Ödəniş məbləği

TYPE: SupportsFloat

cur

Ödəniş valyutasının 3 rəqəmli kodu (944 - AZN)

TYPE: str

receiver_credentials

İstifadəçinin tam adı

TYPE: str

redirect_link

Əməliyyatın sonunda müştərini yönləndirmək istədiyiniz keçid linki

TYPE: str

transfer_confirm

transfer_confirm(merchant, srn, amount, cur, timestamp=now())

User-ə ödənişi təsdiqləmək sorğusu

Endpoint: https://{test}mt.3dsecure.az/api/confirm

Example
from integrify.azericard import AzeriCardClient

AzeriCardClient.transfer_confirm(merchant='MyMerchant', srn='12345678', amount=100, cur='944')

Cavab formatı: TransferConfirmResponseSchema

PARAMETER DESCRIPTION
merchant

Şirkət adı

TYPE: str

srn

Unikal əməliyyat nömrəsi

TYPE: str

amount

Ödəniş məbləği

TYPE: SupportsFloat

cur

Ödəniş valyutasının 3 rəqəmli kodu (944 - AZN)

TYPE: str

timestamp

Dəyər verilmədikdə, now avtomatik göndəriləcək

TYPE: Union[datetime, str] DEFAULT: now()

transfer_decline

transfer_decline(merchant, srn, amount, cur, timestamp=now())

User-ə ödənişi imtina etmək sorğusu

Endpoint: https://{test}mt.3dsecure.az/api/decline

Example
from integrify.azericard import AzeriCardClient

AzeriCardClient.transfer_decline(merchant='MyMerchant', srn='12345678', amount=100, cur='944')

Cavab formatı: TransferDeclineResponseSchema

PARAMETER DESCRIPTION
merchant

Şirkət adı

TYPE: str

srn

Unikal əməliyyat nömrəsi

TYPE: str

amount

Ödəniş məbləği

TYPE: SupportsFloat

cur

Ödəniş valyutasının 3 rəqəmli kodu (944 - AZN)

TYPE: str

timestamp

Dəyər verilmədikdə, now avtomatik göndəriləcək

TYPE: Union[datetime, str] DEFAULT: now()