Azərbaycan

English

AZ

EN

1 İcmal

Təlimatda proqramçıların ödəniş sisteminin şlüz interfeysi ilə tanışlığı və məsuliyyətləri qeyd olunub. Proses satıcı sisteminin e-com sistemi vasitəsi ilə kart ödənişlərinin CGI/WWW forms posting method əsaslarında icra edilməsini təsvir edir.Bu interfeys kart istifadəçilərinin şəffaf şəkildə idendifikasiya protokolları vasitəsi ilə (3D-secure və Secure Code SSL) dəstəkləməsinə imkan verir.

1.1 Əməliyyat axını ssenarisi

Aşağıda qeyd olunmuş diaqrammada Müştəri(kart sahibi), Satıcı və Prosessing (AZC/Elektron Ödəniş sistemi) arasındaaparılan proseslər təsvir edilib.

Şlüz (Gateway) daxil olan mesajların təsdiqlənməsini, qeri qayıtmış natamam, başa çatmış tranzaksiyaların Way4 kart sistemindən sorğulanmasını təmin edir.

2 E-com inteqrasiya

Ödənişi həyata keçirtmək üçün satıcı (merchant) aşağıdaki siyahıda qeyd olunmuş parametrlər doldurulmalıdır və test məlumatlar aşağıdakı linkə göndərilməlidir:

SahəUzunluqAçıqlama
AMOUNT1-12Sifarişin ümumi məbləği sürüşkən nöqtəli formatda qeyd olunur
CURRENCY03Sifariş valyutası: 3 simvollu valyuta kodu
ORDER6-32Satıcı (Merchant) sifariş ID (unikal id)
DESC1-50Sifarişin açıqlaması
MERCH_NAME1-50Satıcının (merchan) adı (kart istifadəçisinin anladığı formada olmalıdır)
MERCH_URL1-250Satıcının web site URL-ı
TERMINAL8Bank tərəfindən təyin edilmiş Merchant Terminal ID
EMAIL80Bildiriş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.
TRTYPE1Tranzaksiya növü = 0 (Avtorizasiya əməliyyatı)
COUNTRY02Merchant shop 2 simvollu ölkə kodu. Merchant sistemi Gateway serverin yerləşdiyi ölkədən fərqli ölkədə yerləşirsə qeyd olunmalıdır.
MERCH_GMT1-5Merchant-ı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.
BACKREF1-250Avtorizasiya nəticəsinin yerləşdirilməsində(post) istifadə olunan Merchant URL.
TIMESTAMP14Tarix formatı GMT (0): YYYYMMDDHHMMSS. 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.
NONCE1-64Merchant nonce. 8-32 təsadüfi random baytlar vasitəsi ilə 16-lıq formatda doldurulmalıdır. MAC istifadə olunduğu halda nəzərə alınmalıdır.
LANG2Dil seçimi
P_SIGN1-25616-lıq formatda Merchant MAC

Sorğu aşağıda qeyd olunmuş formada olmalıdır:

"AMOUNT"="xx", "CURRENCY"="AZN", "ORDER"="xxxxxxxxxxxx", "DESC"="xxxxxxxxxxx xxxx", "MERCH_NAME"="xxxxx.xxx", "MERCH_URL"="https://xxxxxxxxxx.xx/xxxx", "MERCH_GMT"="+4", "TERMINAL"="xxxxxxxxx", "EMAIL"="[email protected]", "TRTYPE"="0", "COUNTRY"="AZ", "TIMESTAMP"="xxxxxxxxxxxxxx", "NONCE"="xxxxxxxxxxxxxxx", "BACKREF"="https://xxxxxxxxxxx/xxxxxxxxxxx/xxxxxx", "LANG=xx", "P_SIGN"="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Response code -0success
Response code -1dublicate
Response code -2wrong parametr
Response code -3wrong P_SIGN

2.1 P_SIGN yaradılması

MAC –ın hesablanma qaydası müvafiq format cədvəlində müəyyən edilmiş sahələrin (görünən və şifrələnmiş sahələr) generasiyası əsasında müəyyən edilir, istisna Mac sahəsi (“P_SIGN”).

Mesajin autentifikasiyası sahəsini yaratmaq və ya yoxlamaq üçün merchant sistemi MAC mənbə sətrini yığmalıdır, ASCII-də format cədvəllərindəki bütün sahə dəyərlərinə uzunluqları onluq say sistemi şəklində prefiks olaraq əlavə edilir və müəyyən edilmiş qaydada birləşdirilir.

The MAC mənbəsi string nümunəsi:

81720078010511.48142003010515302116IT Books. Qty: 2

MAC mənbə sətri yarandıqdan sonra, merchant system kriptoqrafik alqoritm əsasında autentifikasiya kodunu generasiya etməlidir.

SHA256 formatda imza yaradılır, mac mənbəsi imzaya əlavə olunur, gizli açar vasitəsi ilə 16-lıq formatda şifrələnir

Merchant systemi seçilmiş alqoritmla implementasiyanı texniki və proqram təminatı üzrə həyata keçirdir, müvafiq yaddaş qurğularının təhlükəsizliyini təmin adib və uyğun kriptoqrafiya açarlarının istifadəsini təmin etməlidir. Effektif açar uzunluğu RSA alqoritm üzrə1024 bit olmalıdır.

Test terminalında istifadə olunan sahələrin ardıcıllığı (terminal id: 17200780) aşağıdadır:

2.1.1 TRTYPE = 0, TRTYPE = 1

SahəUzunluqAçıqlama
AMOUNT5Sifarişin ümumi məbləği sürüşkən nöqtəli formatda qeyd olunur
CURRENCY03Sifariş valyutası: 3 simvollu valyuta kodu
TERMINAL8Bank tərəfindən təyin edilmiş Merchant Terminal ID
TRTYPE1Tranzaksiya növü = 1 (Maliyyə sənədi)
TIMESTAMP14Tarix formatı GMT (0): YYYYMMDDHHMMSS. 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.
NONCE1-64Merchant nonce. 8-32 təsadüfi random baytlar vasitəsi ilə 16-lıq formatda doldurulmalıdır. MAC istifadə olunduğu halda nəzərə alınmalıdır.
MERCH_URL1-250Satıcının web site URL-ı

2.1.2 TRTYPE = 21

SahəUzunluqAçıqlama
AMOUNT5Sifarişin ümumi məbləği sürüşkən nöqtəli formatda qeyd olunur
CURRENCY03Sifariş valyutası: 3 simvollu valyuta kodu
TERMINAL8Bank tərəfindən təyin edilmiş Merchant Terminal ID
TRTYPE2Tranzaksiya növü = 21 (Satışın tamamlanması)
ORDER6-32Satıcı (Merchant) sifariş ID (unikal id)
RRN1Merchant bank üzrə axraş sorğu nömrəsi (ISO-8583 Field 37)
INT_REF1-32Daxili E-Commercegateway sorğu nömrə

2.1.3 TRTYPE = 22

SahəUzunluqAçıqlama
AMOUNT5Sifarişin ümumi məbləği sürüşkən nöqtəli formatda qeyd olunur
CURRENCY03Sifariş valyutası: 3 simvollu valyuta kodu
TERMINAL8Bank tərəfindən təyin edilmiş Merchant Terminal ID
TRTYPE2Tranzaksiya növü = 22 (Online reversal)
ORDER6-32Satıcı (Merchant) sifariş ID (unikal id)
RRN1Merchant bank üzrə axraş sorğu nömrəsi (ISO-8583 Field 37)
INT_REF1-32Daxili E-Commercegateway sorğu nömrə

2.1.4 TRTYPE = 24

SahəUzunluqAçıqlama
AMOUNT5Sifarişin ümumi məbləği sürüşkən nöqtəli formatda qeyd olunur
CURRENCY03Sifariş valyutası: 3 simvollu valyuta kodu
TERMINAL8Bank tərəfindən təyin edilmiş Merchant Terminal ID
TRTYPE2Tranzaksiya növü = 24 (Offline reversal)
ORDER6-32Satıcı (Merchant) sifariş ID (unikal id)
RRN1Merchant bank üzrə axraş sorğu nömrəsi (ISO-8583 Field 37)
INT_REF1-32Daxili E-Commercegateway sorğu nömrə

3 Test məlumatları

Burada Siz test mühitdə test əməliyyatlar edib, əməliyyatların nəticələrini simulyasiya edə bilərsiniz (təsdiq və imtina nəticəsi). Sandbox istifadəsinin əsas məqsədi inteqrasiya prosesinin tətbiqi və testləşməsidir. Production məlumatlarının əldə olunması üçün satıcı və Bank/AZC arasında müqavilə rəsmiləşdirilməlidir. Test əməliyyatların aparılması üçün Siz test mühitdə test açarlardan və test rekvezitlərdən istifadə etməlisiniz.

3.1 Test kartı

Test kart vasitəsi ilə əməliyyat etmək üçün aşağıda qeyd olunmuş kart məlumatları istifadə olunmalıdır.

PAN4760193751367181
EXP_MONTH10
EXP_YEAR23
CVV628
SMS One Time Password1111

3.2 Test terminalı

Test əməliyyatın aparılması üçün aşağıda qeyd olunmuş test terminal istifadə olunmalıdır.

Terminal ID17200780

3.3 Test açarları

Test mühitində sizə 2 açıq və gizli açarlar (1 azericard açıq açar və 1 merchant açıq və gizli açar) təqdim olunacaq. Həmin açarlar Azericard tərəfindən yaradılıb təqdim olunacaq. Production mühitində isə açarların yaradılması proseduru təsvir olunacaq. Production-da istifadə olunacaq açarların yaradılması prosesi açağıda təsvir olunub.

Merchant Private Key merchant_private_key.pem
Merchant Public Key merchant_public_key.pem
MPI Public Key mpi_public_key.pem

3.4 Sandbox

Müştərilərimizə dəstək olmaq üçün yaradılmış sandbox səhifəsi onların inteqrasyalarını yoxlamaq üçün nəzərdə tutulub. Aşağıdaki linkdən istifadə edərək siz yeni funksionallıqların yaradılmasını, yaranmış boşluqların müəyyən edilməsi və aradan qaldırılmasını, düzəlişlərin yoxlanılmasını proseslərini icra edə bilərsiniz.

4 Ödənişin yoxlanılması

Psign yaradılış qaydalarına riayyət edərək eyni formada callback-dən gələn P-sign-i MPİ-dan gələn public key ilə yoxlamaq lazımdır. Yoxlanış uğurlu olduğu halda ödəməni tamamlamaq üçün trtype = 21, geri qaytarmaq üçün isə trtype = 22 və ya trtype = 24 paraqrafında qeyd olunan sahələri aşağıdakı test linkə göndərmək lazımdır:

4.1. TRTYPE = 21

SahəUzunluqSifarişin açıqlaması
AMOUNT1-12Sifarişin ümumi məbləği sürüşkən nöqtəli formatda qeyd olunur
CURRENCY03Sifariş valyutası: 3 simvollu valyuta kodu
ORDER6-32Satıcı (Merchant) sifariş ID (unikal id)
RRN1Merchant bank üzrə axraş sorğu nömrəsi (ISO-8583 Field 37)
INT_REF1-32Daxili E-Commercegateway sorğu nömrə
TERMINAL8Bank tərəfindən təyin edilmiş Merchant Terminal ID
TRTYPE2Tranzaksiya növü = 21 (Satışın tamamlanması)
TIMESTAMP14Tarix formatı GMT (0): YYYYMMDDHHMMSS. 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.
NONCE16Merchant nonce. 8-32 təsadüfi random baytlar vasitəsi ilə 16-lıq formatda doldurulmalıdır. MAC istifadə olunduğu halda nəzərə alınmalıdır.
P_SIGN1-25616-lıq formatda Merchant MAC

4.2 TRTYPE = 22

SahəUzunluqSifarişin açıqlaması
AMOUNT1-12Sifarişin ümumi məbləği sürüşkən nöqtəli formatda qeyd olunur
CURRENCY03Sifariş valyutası: 3 simvollu valyuta kodu
ORDER6-32Satıcı (Merchant) sifariş ID (unikal id)
RRN1Merchant bank üzrə axraş sorğu nömrəsi (ISO-8583 Field 37)
INT_REF1-32Daxili E-Commercegateway sorğu nömrə
TERMINAL8Bank tərəfindən təyin edilmiş Merchant Terminal ID
TRTYPE2Tranzaksiya növü = 22 (Online reversal)
TIMESTAMP14Tarix formatı GMT (0): YYYYMMDDHHMMSS. 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.
NONCE16Merchant nonce. 8-32 təsadüfi random baytlar vasitəsi ilə 16-lıq formatda doldurulmalıdır. MAC istifadə olunduğu halda nəzərə alınmalıdır.
P_SIGN1-25616-lıq formatda Merchant MAC

4.3 TRTYPE = 24

SahəUzunluqSifarişin açıqlaması
AMOUNT1-12Sifarişin ümumi məbləği sürüşkən nöqtəli formatda qeyd olunur
CURRENCY03Sifariş valyutası: 3 simvollu valyuta kodu
ORDER6-32Satıcı (Merchant) sifariş ID (unikal id)
RRN1Merchant bank üzrə axraş sorğu nömrəsi (ISO-8583 Field 37)
INT_REF1-32Daxili E-Commercegateway sorğu nömrə
TERMINAL8Bank tərəfindən təyin edilmiş Merchant Terminal ID
TRTYPE2Tranzaksiya növü = 24 (Offline reversal)
TIMESTAMP14Tarix formatı GMT (0): YYYYMMDDHHMMSS. 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.
NONCE16Merchant nonce. 8-32 təsadüfi random baytlar vasitəsi ilə 16-lıq formatda doldurulmalıdır. MAC istifadə olunduğu halda nəzərə alınmalıdır.
P_SIGN1-25616-lıq formatda Merchant MAC

5 Açarların yaradılma prosesi

Prod sistem üçün Merchant öz açıq açarını Azericard prosesinq mərkəzinə, Azericard isə öz açıq açarını Merchant tərəfə təqdim etməlidir. Hər iki tərəfin gizli açarı özündə qalmalıdır. Merchant tərəfindən açıq və gizli RSA açarlarının yaradılması prosesi aşağıdakı şəkildə həyata keçməlidir:

Qeyd olunmuş əməliyyatın icrası üçün Windows və ya Linux cihazlarında OpenSSL sistemi quraşdırılmalıdır.

5.1 Gizli açarın yaradılması(Windows)

1. Command Prompt açın və qeyd olunmuş addımları edin:

Start > Programs > Accessories > Command Prompt.

2. Aşağıdakı qovluğa keçin:

C:\Program Files\ListManager\tclweb\bin\certs

3. Aşağıda qeyd olununları daxil edin:

openssl genrsa -out merchant_name_private_key.pem 2048

4. ENTER düyməsini klikləyin

Gizli açar 'merchant_name_private_key.pem' adlı fayl generasiya olunub, yadda saxlanır və eyni folder-də yerləşdirilir.

5.2 Açıq açarın yaradılması(Windows)

1. prompt komandasında aşağıdaki məlumat qeyd olunmalıdır:

openssl rsa -in merchant_name_private_key.pem -out merchant_name_public_key.pem -pubout test_public_key.pem

2. ENTER düyməsini klikləyin.

Açıq açar merchant_name_public_key.pem adlı faylda eyni adlı qovluqda saxlanılır.

5.3 Gizli açarın yaradılması(Linux)

1. Terminal-ı açın.

2. Aşağıdakı qovluğa keçin:

3. Aşağıda qeyd olununları daxil edin:

openssl genrsa -out merchant_name_private_key.pem 2048

4. ENTER düyməsini klikləyin

Gizli açar 'merchant_name_private_key.pem' adlı fayl generasiya olunub, yadda saxlanır və eyni folder-də yerləşdirilir.

5.4 Açıq açarın yaradılması(Linux)

1. Terminal-ı açın.

2. Aşağıdakıları qeyd edin:

openssl rsa -in merchant_name_private_key.pem -pubout -out merchant_name_public_key.pem

3. ENTER düyməsini klikləyin.

Açıq açar 'merchant_name_public_key.pem' adlı faylda eyni adlı qovluqda saxlanılır.