回答
我已經寫了這個,現在的文章... http://www.alexjamesbrown.com/blog/development/implementing-datacash-3d-secure-with-asp-net/
希望這有助於誰在這個由谷歌絆倒人....
我試圖讓我和其中一個人一起在這裏發佈一些信息,因爲他爲我們的一個客戶寫了這篇文章,但我會帶你瞭解我所瞭解的過程。
基本上,一旦您執行了您執行的任何預驗證請求(例如使用DataCash二進制文件),然後您使用DataCash代理向DataCash提交支付請求以發送支付請求。
如果你有3D安全設置的所有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>
與CardTxn元素中的ThreeDSecure塊一起使用。
然後您需要獲取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'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安全服務器的呼叫,與表單域「 PaRes「和」MD「(即發行銀行的回覆,以及您之前提供的參考)。
然後,您將這些授權詳細信息作爲歷史事務提交回DataCash以完成付款。
有關詳細信息,請參見D.4節。 3-D Secure,開發人員指南中包含DataCash MPI,以及this page(可能需要登錄)。
如果您需要更多詳細信息,請告訴我,我會盡力在此處獲得更多詳細信息。
嗨,感謝您的驚人詳細的答案!我非常感謝你的幫助。 我給你發過一個問題使用:http://www.doodle.co.uk/Contact.aspx 這是正確的嗎? – Alex 2009-08-27 10:36:59
是的,這是正確的 - 只需幾分鐘即可弄清楚它在做什麼,我想......我會看看我是否可以爲你獲得一些代碼。 – 2009-08-27 11:05:27
- 1. 使用Datacash實現3D安全移動設備
- 2. Omnipay 3Dsecure重定向
- 3. 實現在C++
- 4. 實現在C++
- 5. NET:在C#中的實現#
- 6. IntSetArray在C++中的實現
- 7. 在C++中實現接口
- 8. MVar在C中的實現?
- 9. logsumexp在C中的實現?
- 10. ls在C中的實現
- 11. 在C中實現imagesc
- 12. 在C中實現Realloc
- 13. 在C++中實現堆棧
- 14. 在c#中實現代表#
- 15. 在C++中實現SIMD
- 16. 在C#中實現函數
- 17. 在C++中實現「tail -f」
- 18. 在C++中實現堆棧
- 19. 在C++中實現接口?
- 20. 在C中實現strtok
- 21. 在c#中實現exslt.dynamic.evaluate(XslCompiledTransform)
- 22. 在c中實現堆棧
- 23. SHA256在c中的實現
- 24. 在C#中實現KNXnetIP
- 25. 在C++中實現Matlab Interp2d
- 26. 在C++中實現反射
- 27. 在C++中的表實現
- 28. 在C++中實現Deque
- 29. 在c中實現超時#
- 30. MinHeap在c#中的實現#
通常的支付網關提供支持,這一點,誰是你的網關? – TWith2Sugars 2009-08-07 07:49:26
通常他們會做...但是沒有3D安全示例代碼....沒有。 DataCash – Alex 2009-08-08 00:13:41