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:
https://testmpi.3dsecure.az/cgi-bin/cgi_link
Sahə | Uzunluq | Açıqlama |
---|---|---|
AMOUNT | 1-12 | Sifarişin ümumi məbləği sürüşkən nöqtəli formatda qeyd olunur |
CURRENCY | 03 | Sifariş valyutası: 3 simvollu valyuta kodu |
ORDER | 6-32 | Satıcı (Merchant) sifariş ID (unikal id) |
DESC | 1-50 | Sifarişin açıqlaması |
MERCH_NAME | 1-50 | Satıcının (merchan) adı (kart istifadəçisinin anladığı formada olmalıdır) |
MERCH_URL | 1-250 | Satıcının web site URL-ı |
TERMINAL | 8 | Bank tərəfindən təyin edilmiş Merchant Terminal ID |
80 | 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. | |
TRTYPE | 1 | Tranzaksiya növü = 0 (Avtorizasiya əməliyyatı) |
COUNTRY | 02 | 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. |
MERCH_GMT | 1-5 | 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. |
BACKREF | 1-250 | Avtorizasiya nəticəsinin yerləşdirilməsində(post) istifadə olunan Merchant URL. |
TIMESTAMP | 14 | Tarix 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. |
NONCE | 1-64 | Merchant 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. |
LANG | 2 | Dil seçimi |
P_SIGN | 1-256 | 16-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 -0 | success |
Response code -1 | dublicate |
Response code -2 | wrong parametr |
Response code -3 | wrong 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ə | Uzunluq | Açıqlama |
---|---|---|
AMOUNT | 5 | Sifarişin ümumi məbləği sürüşkən nöqtəli formatda qeyd olunur |
CURRENCY | 03 | Sifariş valyutası: 3 simvollu valyuta kodu |
TERMINAL | 8 | Bank tərəfindən təyin edilmiş Merchant Terminal ID |
TRTYPE | 1 | Tranzaksiya növü = 1 (Maliyyə sənədi) |
TIMESTAMP | 14 | Tarix 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. |
NONCE | 1-64 | Merchant 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_URL | 1-250 | Satıcının web site URL-ı |
2.1.2 TRTYPE = 21
Sahə | Uzunluq | Açıqlama |
---|---|---|
AMOUNT | 5 | Sifarişin ümumi məbləği sürüşkən nöqtəli formatda qeyd olunur |
CURRENCY | 03 | Sifariş valyutası: 3 simvollu valyuta kodu |
TERMINAL | 8 | Bank tərəfindən təyin edilmiş Merchant Terminal ID |
TRTYPE | 2 | Tranzaksiya növü = 21 (Satışın tamamlanması) |
ORDER | 6-32 | Satıcı (Merchant) sifariş ID (unikal id) |
RRN | 1 | Merchant bank üzrə axraş sorğu nömrəsi (ISO-8583 Field 37) |
INT_REF | 1-32 | Daxili E-Commercegateway sorğu nömrə |
2.1.3 TRTYPE = 22
Sahə | Uzunluq | Açıqlama |
---|---|---|
AMOUNT | 5 | Sifarişin ümumi məbləği sürüşkən nöqtəli formatda qeyd olunur |
CURRENCY | 03 | Sifariş valyutası: 3 simvollu valyuta kodu |
TERMINAL | 8 | Bank tərəfindən təyin edilmiş Merchant Terminal ID |
TRTYPE | 2 | Tranzaksiya növü = 22 (Online reversal) |
ORDER | 6-32 | Satıcı (Merchant) sifariş ID (unikal id) |
RRN | 1 | Merchant bank üzrə axraş sorğu nömrəsi (ISO-8583 Field 37) |
INT_REF | 1-32 | Daxili E-Commercegateway sorğu nömrə |
2.1.4 TRTYPE = 24
Sahə | Uzunluq | Açıqlama |
---|---|---|
AMOUNT | 5 | Sifarişin ümumi məbləği sürüşkən nöqtəli formatda qeyd olunur |
CURRENCY | 03 | Sifariş valyutası: 3 simvollu valyuta kodu |
TERMINAL | 8 | Bank tərəfindən təyin edilmiş Merchant Terminal ID |
TRTYPE | 2 | Tranzaksiya növü = 24 (Offline reversal) |
ORDER | 6-32 | Satıcı (Merchant) sifariş ID (unikal id) |
RRN | 1 | Merchant bank üzrə axraş sorğu nömrəsi (ISO-8583 Field 37) |
INT_REF | 1-32 | Daxili 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.
PAN | 4760193751367181 |
EXP_MONTH | 10 |
EXP_YEAR | 23 |
CVV | 628 |
SMS One Time Password | 1111 |
3.2 Test terminalı
Test əməliyyatın aparılması üçün aşağıda qeyd olunmuş test terminal istifadə olunmalıdır.
Terminal ID | 17200780 |
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.
P_SIGN Check:
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:
https://testmpi.3dsecure.az/cgi-bin/cgi_link
4.1. TRTYPE = 21
Sahə | Uzunluq | Sifarişin açıqlaması |
---|---|---|
AMOUNT | 1-12 | Sifarişin ümumi məbləği sürüşkən nöqtəli formatda qeyd olunur |
CURRENCY | 03 | Sifariş valyutası: 3 simvollu valyuta kodu |
ORDER | 6-32 | Satıcı (Merchant) sifariş ID (unikal id) |
RRN | 1 | Merchant bank üzrə axraş sorğu nömrəsi (ISO-8583 Field 37) |
INT_REF | 1-32 | Daxili E-Commercegateway sorğu nömrə |
TERMINAL | 8 | Bank tərəfindən təyin edilmiş Merchant Terminal ID |
TRTYPE | 2 | Tranzaksiya növü = 21 (Satışın tamamlanması) |
TIMESTAMP | 14 | Tarix 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. |
NONCE | 16 | Merchant 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_SIGN | 1-256 | 16-lıq formatda Merchant MAC |
4.2 TRTYPE = 22
Sahə | Uzunluq | Sifarişin açıqlaması |
---|---|---|
AMOUNT | 1-12 | Sifarişin ümumi məbləği sürüşkən nöqtəli formatda qeyd olunur |
CURRENCY | 03 | Sifariş valyutası: 3 simvollu valyuta kodu |
ORDER | 6-32 | Satıcı (Merchant) sifariş ID (unikal id) |
RRN | 1 | Merchant bank üzrə axraş sorğu nömrəsi (ISO-8583 Field 37) |
INT_REF | 1-32 | Daxili E-Commercegateway sorğu nömrə |
TERMINAL | 8 | Bank tərəfindən təyin edilmiş Merchant Terminal ID |
TRTYPE | 2 | Tranzaksiya növü = 22 (Online reversal) |
TIMESTAMP | 14 | Tarix 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. |
NONCE | 16 | Merchant 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_SIGN | 1-256 | 16-lıq formatda Merchant MAC |
4.3 TRTYPE = 24
Sahə | Uzunluq | Sifarişin açıqlaması |
---|---|---|
AMOUNT | 1-12 | Sifarişin ümumi məbləği sürüşkən nöqtəli formatda qeyd olunur |
CURRENCY | 03 | Sifariş valyutası: 3 simvollu valyuta kodu |
ORDER | 6-32 | Satıcı (Merchant) sifariş ID (unikal id) |
RRN | 1 | Merchant bank üzrə axraş sorğu nömrəsi (ISO-8583 Field 37) |
INT_REF | 1-32 | Daxili E-Commercegateway sorğu nömrə |
TERMINAL | 8 | Bank tərəfindən təyin edilmiş Merchant Terminal ID |
TRTYPE | 2 | Tranzaksiya növü = 24 (Offline reversal) |
TIMESTAMP | 14 | Tarix 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. |
NONCE | 16 | Merchant 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_SIGN | 1-256 | 16-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:
2. Aşağıdakı qovluğa keçin:
3. Aşağıda qeyd olununları daxil edin:
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:
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:
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:
3. ENTER düyməsini klikləyin.
Açıq açar 'merchant_name_public_key.pem' adlı faylda eyni adlı qovluqda saxlanılır.