Интеграция чрез пренасочване
Интеграцията чрез пренасочване е прост и безопасен процес, използващ платежна страница от страната на платежния шлюз. Основното предимство е, че не е необходимо да събирате и обработвате данни от карти на вашия сайт. В този случай API се използва минимално, поради което този метод не изисква голям опыт в разработката.
Клиентът избира продукт в интернет магазина и натиска бутона Купи.
Сървърът на интернет магазина получава заявка за покупка.
-
Сървърът на интернет магазина заявява регистрация на поръчка, изпращайки извикване на API register.do към платежния шлюз. Тази заявка трябва да съдържа параметъра
amount(сума на плащането в минимални единици валута) и параметъра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 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 към платежния шлюз, за да провери статуса на поръчката и да се увери, che поръчката действительно е платена. Заявката съдържа параметър
orderId, получен на стъпка 4. В отговора платежният шлюз връща статуса на поръчката в параметъраorderStatus. Статус2означава успешен платеж. Допълнително се връща параметърactionCode— той съдържа код на отговор от процесинга на банката. Вж. списъка с кодове на отговор тук.
Допълнителна информация вж. в раздела Получаване статуса на поръчката.