Интеграция чрез пренасочване

Интеграцията чрез пренасочване е прост и безопасен процес, използващ платежна страница от страната на платежния шлюз. Основното предимство е, че не е необходимо да събирате и обработвате данни от карти на вашия сайт. В този случай API се използва минимално, поради което този метод не изисква голям опыт в разработката.

Интеграция чрез пренасочване

Преди да започнете, уверете се, че сте създали акаунт или сте влезли в системата.
  1. Клиентът избира продукт в интернет магазина и натиска бутона Купи.

  2. Сървърът на интернет магазина получава заявка за покупка.

  3. Сървърът на интернет магазина заявява регистрация на поръчка, изпращайки извикване на 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. За да научите повече за задържането и завършването, натиснете тук.

  4. Сървърът на платежния шлюз регистрира поръчката и изпраща отговор към сървъра на интернет магазина. Отговорът съдържа параметъра 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"
    }
  5. Интернет магазинът пренасочва купувача към URL, получен в параметъра formUrl. Пренасочването може да бъде направено в същия прозорец или в нов прозорец.

  6. Платежният шлюз отваря платежната връзка.

  7. Клиентът въвежда номера на своята карта, срока на валидност и CVV/CVC и натиска Плати.

    Като алтернатива може да се използват токенизирани плащания чрез портфейли Apple Pay или Google Pay. В този случай купувачът избира съответната опция. Научете повече за използването на токенизирани плащания тук.

  8. Платежният шлюз обработва заявката за плащане.

  9. Купувачът се пренасочва към страницата на интернет магазина, посочена в параметъра returnUrl (посочва се на стъпка 3).

  10. Онлайн магазинът изпраща заявка getOrderStatusExtended.do към платежния шлюз, за да провери статуса на поръчката и да се увери, che поръчката действительно е платена. Заявката съдържа параметър orderId, получен на стъпка 4. В отговора платежният шлюз връща статуса на поръчката в параметъра orderStatus. Статус 2 означава успешен платеж. Допълнително се връща параметър actionCode — той съдържа код на отговор от процесинга на банката. Вж. списъка с кодове на отговор тук.
    Допълнителна информация вж. в раздела Получаване статуса на поръчката.

:
eCommerce API V1