在C#中实施DataCash 3DSecure(Implementing DataCash 3DSe

2019-07-31 13:32发布

我一直在负责我们现有的站点上实现3D安全信用卡验证。 我只是想知道如果任何人有任何示例代码来设置3D安全?

我是正确的,可通过文档,但是一无所获。

Answer 1:

我会试图让我的工作在这里发表的东西,因为他实际上可以这样写为我们的客户之一的球员之一,但我会带你通过我的理解过程中要。

基本上,一旦你完成你执行(与DataCash二进制文件为例)任何预验证的要求,你再使用DataCash代理发送支付请求提交支付请求DataCash。

如果你有3D安全设置的所有DataCash帐户,你已经通过字段进行发送的说本次交易可以与您可能会得到一个状态代码返回的150 3DS发生:

<?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>

随着在CardTxn元件的ThreeDSecure块。

然后,您需要采取acs_url和pareq_message,并利用这些递交给卡issueing银行授权请求。

这通常需要自行提交的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's 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的页面将收到从3D安全服务器的呼叫,使用表单域“剥”和“MD”(即从issueing银行的响应,以及先前提供的参考)。

然后,您提交这些授权细节回DataCash的历史交易完成支付。

解决这个细节可以在部分D.4找到。 3-D安全,与DataCash MPI的开发者指南中,并在此页面 (可能需要登录)。

如果你需要更多的细节,让我知道,我会尽力在这里得到一些更多的细节。



Answer 2:

我写了一篇关于这个现在... http://www.alexjamesbrown.com/blog/development/implementing-datacash-3d-secure-with-asp-net/

希望这有助于谁在此失足从谷歌的人....



文章来源: Implementing DataCash 3DSecure in C#