Интеграция чрез пренасочване
Интеграцията чрез пренасочване е прост и безопасен процес, използващ платежна страница от страната на платежният шлюз. Главното предимство е, че не е необходимо да събирате и обработвате картови данни на вашия сайт. В този случай API се използва минимално, поради което този метод не изисква голям опит в разработката.
Клиентът избира продукт в онлайн магазина и натиска бутона Купи.
Сървърът на онлайн магазина получава заявка за покупка.
-
Сървърът на онлайн магазина заявява регистрация на поръчка, изпращайки извикване на API register.do към платежният шлюз. Тази заявка трябва да съдържа параметрите
amount(сума на плащането в минимални единици валута),orderNumber(уникален номер на поръчката в системата на търговеца) иreturnUrl(адрес, на който ще бъде пренасочен клиентът след успешно плащане на стъпка 9). Подробности за пренасочването след плащането четете тук.Пример за заявка:
curl --request POST \ --url https://uat.dskbank.bg/payment/rest/register.do \ --header 'content-type: application/x-www-form-urlencoded' \ --data amount=2000 \ --data currency=975 \ --data userName=test_user \ --data password=test_user_password \ --data orderNumber=1234567890ABCDEF \ --data returnUrl=https://mybestmerchantreturnurl.com \ --data description=my_first_order \ --data language=enСъщо така можете да задържите сумата по сметката до списването на средствата с помощта на извикването registerPreAuth.do. За да научите повече за блокирането и завършването, натиснете тук.
-
Сървърът на платежният шлюз регистрира поръчката и изпраща отговор към сървъра на онлайн магазина. Отговорът съдържа параметъра
formUrl(URL-адрес на плащането, към който онлайн магазинът трябва да пренасочи купувача на стъпка 5) и параметъраorderId(уникален номер на поръчката в системата на платежният шлюз, ще се използва на стъпка 10).Пример за отговор:
{ "orderId": "01491d0b-c848-7dd6-a20d-e96900a7d8c0", "formUrl": "https://uat.dskbank.bg/payment/merchants/payment_en.html?mdOrder=01491d0b-c848-7dd6-a20d-e96900a7d8c0" } Онлайн магазинът пренасочва купувача към URL, получен в параметъра
formUrl. Пренасочването може да бъде направено в същия прозорец или в нов прозорец.Платежният шлюз отваря платежната връзка.
-
Клиентът въвежда номера на своята карта, срока ѝ на действие и CVV/CVC и натиска Плащане.
Като алтернатива могат да се използват токенизирани плащания чрез портфейлите Apple Pay или Google Pay. В този случай купувачът избира съответната опция. Научете повече за използването на токенизирани плащания тук.
Платежният шлюз обработва заявката за плащане.
Купувачът се пренасочва към страницата на онлайн магазина, указана в параметъра
returnUrl(указва се на стъпка 3).-
Онлайн магазинът изпраща заявка getOrderStatusExtended.do към платежният шлюз, за да провери статуса на поръчката и да се увери, че поръчката наистина е платена. Заявката съдържа параметъра
orderId, получен на стъпка 4. В отговора платежният шлюз връща статуса на поръчката в параметъраorderStatus. Статус2означава успешно плащане. Допълнително се връща параметърътactionCode— той съдържа кода на отговора от процесинга на банката. Вижте списъка с кодове за отговор тук.
Допълнителни подробности вижте в раздела Получаване на статуса на поръчката.