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

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

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

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

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

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

  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 към платежният шлюз, за да провери статуса на поръчката и да се увери, че поръчката наистина е платена. Заявката съдържа параметъра orderId, получен на стъпка 4. В отговора платежният шлюз връща статуса на поръчката в параметъра orderStatus. Статус 2 означава успешно плащане. Допълнително се връща параметърът actionCode — той съдържа кода на отговора от процесинга на банката. Вижте списъка с кодове за отговор тук.
    Допълнителни подробности вижте в раздела Получаване на статуса на поръчката.

:
eCommerce API V1