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ı 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
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
NAME2-45Müştərinin adı (kartda göstərildiyi kimi)
M_INFO35000JSON formatlı Base64 kodlu sətir olmalıdır - "parameter": "value data".

Aşağıda M_INFO sahəsi üçün hazırlanmış məlumat nümunəsi verilmişdir:

"M_INFO"="ewoiYnJvd3NlclNjcmVlbkhlaWdodCI6IjE5MjAiLAoiYnJvd3NlclNjcmVlbldpZHRoIjoiMTA4MCIsCiJicm93c2VyVFoiOiIwIiwKIm1vYmlsZVBob25lIiA6eyAiY2MiOiI5OTQiLCAic3Vic2NyaWJlciI6IjU1Nzc3Nzc3Nzc3IiB9Cn0=",

Deşifrə formatı: {"browserScreenHeight":"1920","browserScreenWidth":"1080","browserTZ":"0","mobilePhone":{"cc":"994","subscriber":"5077777777"}}

M_INFO Parametrlərin təsviri:

browserScreenHeight - Kart sahibinin ekranının piksellərlə ümumi hündürlüyü.
browserScreenWidth - Kart sahibinin ekranının piksellə ümumi eni.in pixels.
browserTZ - UTC vaxtı ilə Kart sahibinin brauzerinin yerli vaxtı arasındakı vaxt fərqi, dəqiqələrlə.
mobilePhone - Kart sahibi tərəfindən verilən mobil telefon nömrəsi.

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"="x", "COUNTRY"="AZ", "TIMESTAMP"="xxxxxxxxxxxxxx", "NONCE"="xxxxxxxxxxxxxxx", "BACKREF"="https://xxxxxxxxxxx/xxxxxxxxxxx/xxxxxx", "LANG=xx", "NAME"="xxxxxx", "M_INFO"="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx", "P_SIGN"="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

Cavab formatı

SahəUzunluqAçıqlama
TERMINAL8Sorğudan əks etdirilməsi
TRTYPE2Sorğudan əks etdirilməsi
ORDER6-32Sorğudan əks etdirilməsi
AMOUNT12İcazə verilən məbləğ. Adətən, orijinal məbləğə və alıcının haqqına bərabər olacaq.
CURRENCY3Sorğudan əks etdirilməsi
ACTION1EGateway fəaliyyət kodu
§0 – Tranzaksiya uğurla tamamlandı
§1 – Dublikat əməliyyat aşkar edildi
§2 – Tranzaksiya rədd edildi
§3 – Tranzaksiya emal xətası
§6 – İmtina edilmiş əməliyyatın təkrarlanması
§7 - Doğrulama xətası ilə əməliyyatın təkrarlanması
§8 - Cavab verilmədən dayandırılmış əməliyyatın təkrarlanması
RC02Əməliyyat cavab kodu (ISO-8583 Sahə 39)
APPROVAL06Müştəri bankının təsdiq kodu (ISO-8583 Sahə 38). Kart idarəetmə sistemi tərəfindən təmin edilmədikdə boş ola bilər.
RRN12Müştəri bankının axtarış istinad nömrəsi (ISO-8583 Sahə 37)
INT_REF1-128Elektron ticarət şlüzünün daxili istinad nömrəsi
TIMESTAMP14GMT-də e-ticarət şlüzünün vaxt damğası:: YYYYMMDDHHMMSS
NONCE1-64E-Commerce Gateway qeyri-dəyərlidir. Hexadecimal formatda 8-32 gözlənilməz təsadüfi baytla doldurulacaq. MAC istifadə edildikdə mövcud olacaq.
P_SIGN1-256Onaltılıq formada E-Commerce Gateway MAC (Message Authentication Code). MAC istifadə edildikdə mövcud olacaq.

2.1 Ödənişin təsdiqlənməsi və geri qaytarı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: Keçid linki

2.1.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ı 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
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

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

"AMOUNT"="xx", "CURRENCY"="AZN", "ORDER"="xxxxxxxxxxxx", "RRN"="xxxxxxxxx", "INT_REF"="xxxxxxxxx", "TERMINAL"="xxxxxxxxx", "TRTYPE"="x", "TIMESTAMP"="xxxxxxxxxxxxxx", "NONCE"="xxxxxxxxxxxxxxx", "LANG=xx", "P_SIGN"="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

2.1.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ı 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
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

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

"AMOUNT"="xx", "CURRENCY"="AZN", "ORDER"="xxxxxxxxxxxx", "RRN"="xxxxxxxxx", "INT_REF"="xxxxxxxxx", "TERMINAL"="xxxxxxxxx", "TRTYPE"="x", "TIMESTAMP"="xxxxxxxxxxxxxx", "NONCE"="xxxxxxxxxxxxxxx", "LANG=xx", "P_SIGN"="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

2.1.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ı 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
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

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

"AMOUNT"="xx", "CURRENCY"="AZN", "ORDER"="xxxxxxxxxxxx", "RRN"="xxxxxxxxx", "INT_REF"="xxxxxxxxx", "TERMINAL"="xxxxxxxxx", "TRTYPE"="x", "TIMESTAMP"="xxxxxxxxxxxxxx", "NONCE"="xxxxxxxxxxxxxxx", "LANG=xx", "P_SIGN"="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

2.2 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.2.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.2.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ı 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
RRN1Merchant bank üzrə axraş sorğu nömrəsi (ISO-8583 Field 37)
INT_REF1-32Daxili E-Commercegateway sorğu nömrə

2.2.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ı 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
RRN1Merchant bank üzrə axraş sorğu nömrəsi (ISO-8583 Field 37)
INT_REF1-32Daxili E-Commercegateway sorğu nömrə

2.2.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ı 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
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.

PAN4105110411935581
EXP_MONTH11
EXP_YEAR25
CVV626
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 IDİnteqrasiya zamanı təqdim olunacaq

3.3 Test açarları

Test mühitində sizə 1 Azericard açıq açar(Public RSA) təqdim olunacaq. Açarların yaradılması paraqraf 4-də qeyd olunub. Keçid linki

MPI Public Keyİnteqrasiya zamanı təqdim olunacaq

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.

3.5 Callback P_SIGN hesablanması

Callback P_SIGN hesablanması üçün aşağıdakı dəyişənlər istifadə edilir. Əlavə olaraq əgər göstərilmiş dəyişənlərdən hər hansı birinin dəyəri boş göndərilərsə bu zaman həmin dəyərin əvəzinə “-” (tire) işarəsi əlavə edilir və P_SİGN hissədə onun uzunluğu nəzərə alınmır.

SahəUzunluqAçıqlama
AMOUNT5Sifarişin ümumi məbləği sürüşkən nöqtəli formatda qeyd olunur
TERMINAL8Bank tərəfindən təyin edilmiş Merchant Terminal ID
APPROVAL6Müştəri bankının təsdiq kodu (ISO-8583 Sahə 38). Kart idarəetmə sistemi tərəfindən təmin edilmədikdə boş ola bilər.
RRN12Müştəri bankının axtarış istinad nömrəsi (ISO-8583 Sahə 37)
INT_REF1-32Daxili E-Commercegateway sorğu nömrə

4 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.

4.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.

4.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.

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

1. Terminal-ı açın.

2. 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.

4.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.