3D Secure ilə Ödənişin Alınması

3D Secure ilə ödənişlər üç adımda həyata keçirilir: başlatma, doğrulama və tamamlama. Başlatma sorğusunda Odero API-sinə 3D Secure statusunun ötürülə biləcəyi callback URL-si verilir; bu URL ilə təsir göstərilən üzv biznesin iş prosesləri də ödəniş ID-sini qeyd edərək ödənişi tamamlama sorğusunu göndərir və prosesin əvvəldən sonadək tamamlanmasını təmin edir.

3D Secure Ödəniş Başlaması

URL

3D Secure ödənişini başlatmaq üçün istifadə edilən endpoint və http metodu haqqında məlumat aşağıda verilmişdir:

HTTP Metod URL
POST /payment/v1/card-payments/3ds-init

Ödəniş Başlama Sorğusunun Parametrləri

3D Secure ilə həyata keçiriləcək ödənişlərdə digər ödənişlərdən fərqli olaraq callbackUrl parametrinin göndərilməsi tələb olunur. Bu kontekstdə 3D Secure ilə ödənişə başlamaq üçün tələb olunan parametrlər aşağıdakılardır

Parametrin Adı Növü Məcburi Açıqlama
conversationId string Xeyr Sorğu ilə göndərilə bilən və cavabla qəbul edilə bilən "bumeranq" dəyəri. Müxtəlif sorğuları bir-biri ilə əlaqələndirmək üçün istifadə edilə bilər. Adətən, üzv biznesin ödənişlə əlaqəli sifariş nömrəsi istifadə olunur.
price decimal Bəli Toplam ödəniş məbləği. Səbətdəki məhsul/xidmət məbləğlərinin cəmi bu məbləğə bərabər olmalıdır.
paidPrice decimal Bəli Müştərinin ödəyəcəyi ümumi yığım məbləği, komissiyalar və endirimlər kimi fərqlər daxil edilməklə hesablanır. Pul kisəsindən tam və ya qismən yığılan ödənişlərdə, pul kisəsindən alınacaq məbləğ də bu məbləğə daxildir.
walletPrice decimal Xeyr buyerId parametrində qeyd edilən alıcının pul kisəsindən tutulacaq məbləğ. Qismən və ya tam olaraq pul kisəsindən tutulacaq ödənişlərdə göndərilməsi məcburidir. Tam olaraq kartdan tutulacaq ödənişlərdə və ya buyerId olmadığı halda 0 olaraq göndərilə bilər. (Defolt: 0)
installment integer Bəli Ödənişin alınacağı taksitlərin sayı. Tək ödəniş üçün 1 olaraq göndərilə bilər. Mümkün dəyərlər 1, 2, 3, 6, 912-dir.
buyerId long Xeyr Ödənişin əlaqələndirildiyi alıcı ID-si. Bu, üzv biznesin öz sistemlərindəki ID dəyərinə deyil, Odero sistemlərində ID dəyərinə aiddir.
currency Currency Bəli bax: Valyutalar Ödənişin alınacağı valyuta
paymentGroup PaymentGroup Bəli bax: Ödəniş Qrupları
callbackUrl string Bəli* 3D Secure ilə həyata keçirilən ödənişlərdə bankdan qayıdan nəticəni üzv biznesə çatdırmaq üçün istifadə ediləcək ünvan (bax. 3D Secure ilə Ödənişi Alma)
card Card Xeyr (bax Kart Məlumatları) Tutulmanın həyata keçiriləcəyi kartın məlumatları. Tam olaraq pul kisəsindən tutulacaq ödənişlərdə (yəni paidPrice-in walletPrice-a bərabər olduğu ödənişlər) göndərilməsi məcburi deyil
posAlias string Xeyr TOKENGATE ödənişləri üçün istifadə olunur, doldurularsa, ödəniş bu pos vasitəsilə həyata keçiriləcək. bax: Gateway Ödənişləri
items PaymentItem[] Bəli (baxın. Ödəniş Bölgüsünə dair Məlumatlar) Ödəniş üçün bölünmə məlumatı. Ən azı bir bölgü göndərilməli və göndərilən qırılmaların məbləğlərinin cəmi price sahəsinə bərabər olmalıdır.

*: Normal şəraitdə tələb olunmayan bu sahə 3D Secure ödənişləri üçün məcburi olduğu üçün vurğulanır.

Qayıdış Parametrləri

3D Secure ilə ödəniş prosesi nəticəsində qaytarılan parametrlər də API sənədlərinin əsas səhifəsinin Qayıdış Formatları bölməsində göstərilən qaydalara tabedir. Sistematik və ya quruluş bir xəta olmadıqda, data parametrində qaytarılan obyektin alt parametrləri aşağıdakılardır:

Parametrin Adı Növü Hər Zaman Mövcuddur Açıqlama
htmlContent string Bəli İstifadəçiyə göstəriləcək 3D Secure formasının HTML kod tərkibi. Bu dəyər Base64 kodlu olaraq göndərilir və nümayişdən əvvəl üzv biznes tərəfindən Base64 kodu decode edilməlidir.

3D Secure Doğrulaması

Üzv biznes tərəfindən göndərilən ödənişi başlatma sorğusu ilə başlayan 3D Secure ödəniş prosesi istifadəçinin doğrulanması ilə davam edir. Bunun üçün başlatma sorğusuna cavabda olan HTML tərkibini decode edilməli və istifadəçiyə göstərilməlidir.

İstifadəçi ona göndərilən yoxlama kodunu daxil etdikdən sonra yoxlama nəticəsi müvafiq bank tərəfindən Odero API-yə ötürülür. Odero API, aldığı nəticəni ödəniş haqqında bəzi məlumatlarla tutuşduraraq, ödənişin başlanması sorğusunda üzv biznes tərəfindən göndərilən geri callbackUrl ünvanına sorğu göndərir.

Callback URL-yə Ötürülən Parametrlər

Aşağıdaki parametrlər form variable olaraq HTTP POST metodundan istifadə edərək ötürülür. Təsdiqdən sonra Odero tərəfindən callbackUrl-yə göndəriləcək sorğuda yer alan parametrlər aşağıdakı kimidir:

Parametrin Adı Növü Hər Zaman Mövcuddur Açıqlama
status string Bəli 3D Secure yoxlamasının statusunu ifadə edən dəyər. Doğrulama uğurlu olarsa SUCCESS, yoxsa FAILURE dəyərini alacaq
conversationId string Xeyr Ödənişi başlatma sorğusunda göndərilən conversationId parametrinin dəyəri
paymentId long Xeyr Doğrulama uğurlu olduğu halda göndərilir. Ödənişlə əlaqədar Odero API tərəfindən yaradılan ID dəyəridir

3D Secure Ödəniş Tamamlanması

Uğurlu ödənişlər üçün Odero nəticəni callbackUrl sorğusu ilə üzv biznesə göndərdikdən sonra üzv biznes Odero API-yə tamamlama sorğusu göndərərək prosesi tamamlamalıdır. Bu sorğu göndərilmədiyi müddət ərzində tutulma həyata keçirilməyəcək. Tamamlanma sorğusu göndərilmədikdə və ya təsdiqdən sonra Odero tərəfindən callbackUrl-yə daxil olmaq mümkün olmadığı üçün asqıda qalacaq və üzv biznes panelində sarı rənglə göstəriləcək.

URL

3D Secure ödənişini tamamlamaq üçün istifadə edilən endpoint və http metodu haqqında məlumat aşağıda verilmişdir:

HTTP Metod URL
POST /payment/v1/card-payments/3ds-complete

Ödəniş Tamamlanması Sorğusunun Parametrləri

Doğrulama mərhələsindən keçən ödənişlər üçün ediləcək tamamlama sorğusunun parametrləri aşağıdakılardır:

Parametrin Adı Növü Hər Zaman Mövcuddur Açıqlama
paymentId long Bəli Ödənişlə əlaqədar olaraq Odero API tərəfindən yaradılan və callbackUrl-yə ötürülən ödəniş ID-si

Ödəniş Tamamlanması Qayıdış Parametrləri

3D Secure ilə edilən ödənişlərin tamamlanma sorğularına verilən cavab, standart ödənişə bərabərdir və buraya ödənişlə əlaqəli detallar daxildir. Bu cavabın forması və ehtiva etdiyi parametrlər üçün baxın: Ödəniş Alma - Qayıtma Parametrləri

Nümunəvi Kodlar

Açıq mənbə kodlu Odero API client-lardakı nümunəvi kodları nəzərdən keçirə bilərsiniz.