ogone字符串问题

Vel*_*tar 1 php payment

我有一个来自Ogone的测试帐户,我正在尝试测试支付系统.为了测试目的,我用最少的参数构建了一个字符串:

$ogoSHAstring = "AMOUNT=" . $amount . $signature . 
                "CURRENCY=" . $currency. $signature . 
                "LANGUAGE=" . $language . $signature . 
                "ORDERID=" . $orderId . $signature . 
                "PSPID=" . $pspId . $signature;
Run Code Online (Sandbox Code Playgroud)

它会产生一个如下所示的字符串:

AMOUNT=990MySecretPassphrase!!CURRENCY=EURMySecretPassphrase!!LANGUAGE=nl_NLMySecretPassphrase!!ORDERID=67MySecretPassphrase!!PSPID=MyPSPIDMySecretPassphrase!!
Run Code Online (Sandbox Code Playgroud)

哪个是哈希

1B8B605EAEF8E2FD9350958C0B152E22FD61FADB
Run Code Online (Sandbox Code Playgroud)

发送的表单如下所示:

<form id='ogone' action='https://secure.ogone.com/ncol/test/orderstandard.asp' method='post'>
    <input type='hidden' name='AMOUNT' value='$amount' />
    <input type='hidden' name='CURRENCY' value='$currency' />
    <input type='hidden' name='LANGUAGE' value='$language' />
    <input type='hidden' name='ORDERID' value='$orderId' />
    <input type='hidden' name='PSPID' value='$pspId' />
    <input type='hidden' name='SHASIGN' value='$ogoSHAsign' />
</form>
Run Code Online (Sandbox Code Playgroud)

但我一直收到一个错误:

unknown order/1/r/
Run Code Online (Sandbox Code Playgroud)

这些是我的设置:

在此输入图像描述 在此输入图像描述

任何帮助?

Jul*_*les 11

如果收到错误,unknown order/1/r/则不是由于SHA计算造成的.这是由于您的引用网址.正如您在Data and origin verification选项卡中配置的那样,您的表单应该从Ogone调用http://www.someurl.com/php/ogone.php.

我想你是从另一个URL调用它们的.因此,我建议您在测试时从配置屏幕中删除引用URL.或者使用您实际使用的那个.

如果您有SHA错误,则会收到unknown order/1/s/错误消息.

最后你的表格也不正确.您只是在表单中编写PHP变量名称,而不是真正使用echo它们.将其更改为:

<form id='ogone' action='https://secure.ogone.com/ncol/test/orderstandard.asp' method='post'>
    <input type='hidden' name='AMOUNT' value='<?=$amount?>' />
    <input type='hidden' name='CURRENCY' value='<?=$currency?>' />
    <input type='hidden' name='LANGUAGE' value='<?=$language?>' />
    <input type='hidden' name='ORDERID' value='<?=$orderId?>' />
    <input type='hidden' name='PSPID' value='<?=$pspId?>' />
    <input type='hidden' name='SHASIGN' value='<?=$ogoSHAsign?>' />
</form>
Run Code Online (Sandbox Code Playgroud)

  • 请解释-1,因为答案是正确的? (4认同)