Реализация DataCash 3DSecure в C #

2

Мне было поручено внедрить проверку 3D-карт 3D Secure на нашем существующем сайте. Мне просто интересно, есть ли у кого-нибудь пример кода для настройки 3D Secure?

Я прошел через документацию, но ничего не нашел.

  • 0
    Обычно платежный шлюз обеспечивает поддержку, кто ваш шлюз?
  • 0
    обычно они делают ... однако нет примера кода для 3D-безопасности .... ничего. DataCash
Теги:
payment-gateway
datacash

2 ответа

2
Лучший ответ

Я написал статью об этом сейчас... http://www.alexjamesbrown.com/blog/development/implementing-datacash-3d-secure-with-asp-net/

Надеюсь, это поможет людям, которые спотыкаются об этом от Google....

  • 1
    При попытке получить доступ к вашей статье с помощью Chrome (не пробовал другие браузеры) я получаю предупреждение о том, что страница содержит вредоносный контент?
  • 0
    Это правильно. Я был сохранен AVG при просмотре из IE. IE не предупредил.
Показать ещё 1 комментарий
2

Я попытался заставить одного из парней, с которыми я работаю, опубликовать что-то здесь, так как он написал это для одного из наших клиентов, но я расскажу вам о том, как я понимаю этот процесс.

В основном, как только вы выполнили любые запросы предварительной проверки (например, с двоичными файлами DataCash), вы затем отправляете запрос на платеж в DataCash с помощью агента DataCash для отправки запроса платежа.

Если у вас установлена ​​3D Secure в вашей учетной записи DataCash, и вы отправили через поля, чтобы сказать, что эта транзакция может произойти с 3DS, вы, вероятно, получите код состояния, возвращаемый 150:

<?xml version="1.0" encoding="UTF-8"?>
<Response>
  <CardTxn>
    <card_scheme>...</card_scheme>
    <country>...</country>
    <issuer>...</issuer>
    <ThreeDSecure>
      <acs_url>...</acs_url>
      <pareq_message>...</pareq_message>
    </ThreeDSecure>
  </CardTxn>
  <datacash_reference>...</datacash_reference>
  <merchantreference>...</merchantreference>
  <mode>TEST</mode>
  <reason>3DS Payer Verification Required</reason>
  <status>150</status>
  <time>...</time>
</Response>

Наряду с блоком ThreeDSecure в элементе CardTxn.

Затем вам необходимо взять acs_url и pareq_message и использовать их для отправки запроса в банк выдачи карт для авторизации.

Это обычно принимает форму самоподдающейся формы JavaScript, которая может помещаться в IFrame:

<!-- Action comes from acs_url returned by DataCash -->
<form method="post" 
      target="3dAuthFrame"
      action="https://testserver.datacash.com/acs">
  <!-- Value comes from pareq_message returned by DataCash -->
  <input value="[...]"
         name="PaReq"
         type="hidden" />
  <!-- Value is a merchant specified identifier that is dislayed to the user -->
  <input value="[...]"
         name="MD" 
         type="hidden" />
  <!-- Value is a public URL that the 3D Secure server will post back to -->
  <input type="hidden" 
         name="TermUrl" 
         value="[...]"/>
  <p>
    If you do not see your card issuer instructions, below, please click 
    <input value="Continue" name="TDAction" type="submit" />
  </p>
  <iframe style="width:100%;height:400px" 
          src="javascript:''"
          name="3dAuthFrame"></iframe>
  <script type="text/javascript">
    document.forms[0].elements.TDAction.click();
    document.forms[0].elements.TDAction.disabled=true;</script>
</form>

Затем страница TermUrl получит вызов от трехмерных защищенных серверов с полями формы "PaRes" и "MD" (т.е. ответ от банка выдачи и ссылка, которую вы указали ранее).

Затем вы отправляете данные авторизации обратно в DataCash как историческую транзакцию для завершения платежа.

Подробности об этом можно найти в разделе D.4. 3-D Secure, с DataCash MPI в Руководстве для разработчиков и эта страница (может потребоваться логин).

Если вам потребуются более подробные сведения, дайте мне знать, и я постараюсь получить здесь более подробную информацию.

  • 0
    Привет, спасибо за твой удивительно подробный ответ! Я действительно ценю твою помощь. Я отправил вам вопрос, используя: doodle.co.uk/Contact.aspx Это правильно?
  • 0
    Да, это правильно - я думаю, что потребуется всего несколько минут, чтобы понять, что он делает ... Я посмотрю, смогу ли я собрать какой-нибудь код для вас.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню