我正在使用Realex API与DCC集成,以下是我的代码:
MD5哈希创建:
$tmp = "$timestamp.$merchantid.$orderid.$amountinCents.$currency.$cardnumber";
$md5hash = md5($tmp);
$tmp = "$md5hash.$secret";
$md5hash = md5($tmp);
DCC请求xml:
<?xml version='1.0' encoding='UTF-8'?>
<request type='dccrate' timestamp='$timestamp'>
<merchantid>$merchantid</merchantid>
<account>$account</account>
<orderid>$orderid</orderid>
<amount currency='$currency'>$amountinCents</amount>
<card>
<number>$cardnumber</number>
<expdate>$expdate</expdate>
<type>$cardtype</type>
<chname>$cardname</chname>
<cvn>
<number>$cvvno</number>
<presind>1</presind>
</cvn>
</card>
<dccinfo>
<ccp>fexco</ccp>
<type>1</type>
<ratetype>S</ratetype>
</dccinfo>
<autosettle flag='1'/>
<md5hash>$md5hash</md5hash>
<tssinfo>
<address type=\"billing\">
<country>ie</country>
</address>
</tssinfo>
</request>
验证请求xml:
<?xml version='1.0' encoding='UTF-8'?>
<request type='auth' timestamp='".$timestamp."'>
<merchantid>".$merchantid."</merchantid>
<account>".$account."</account>
<orderid>".$orderid."</orderid>
<amount currency='".$currency."'>".$amountinCents."</amount>
<card>
<number>".$cardnumber."</number>
<expdate>".$expdate."</expdate>
<chname>".$cardname."</chname>
<type>$cardtype</type>
<cvn>
<number>".$cvvno."</number>
<presind>1</presind>
</cvn>
</card>
<autosettle flag='1' />
<md5hash>".$md5hash."</md5hash>
<dccinfo>
<ccp>fexco</ccp>
<type>1</type>
<rate>".$authrate."</rate>
<ratetype>S</ratetype>
<amount currency='".$curr."'>".$amountDcc."</amount>
</dccinfo>
</request>
将两个xml发送到&#34; https://epage.payandshop.com/epage-remote.cgi&#34;使用curl一个接一个,付款流程正常。 但它没有显示任何弹出窗口供客户选择要收费的货币。
这是checking
的示例表单请您说明为什么没有显示或我是否需要进行任何更改?
答案 0 :(得分:1)
感谢您的提问。首先,正如我在上一个问题的答案中提到的,我们强烈建议您使用SHA1而不是MD5作为事务哈希。
此外,该网址:https://epage.payandshop.com/epage-remote.cgi是旧版网址,新网址为:
实时网址 - https://api.realexpayments.com/epage-remote.cgi
沙盒网址 - https://api.sandbox.realexpayments.com/epage-remote.cgi
我可以问您所指的开发者文档是什么?我强烈建议您按照最新的Realex Developer Hub进行操作。 (如果Hub存在问题,请告诉我。)
最后,因为您通过我们的API使用DCC,所以您描述的窗口/页面必须由您的应用程序使用DCC Rate查找请求中返回的值生成。这是在步骤2中概述的,以及一个PHP示例:https://developer.realexpayments.com/#!/integration-api/dcc/php/html_js
您是否有特殊原因未使用我们的托管付款页面(HPP)来处理交易?它为您处理向客户显示费率选择。您还可以从减少应用程序的PCI范围中受益。见这里:https://developer.realexpayments.com/#!/hpp/dcc
最佳,
肖恩
Realex付款