Php ogone字符串问题

Php ogone字符串问题,php,payment,Php,Payment,我有一个来自Ogone的测试帐户,我正在尝试测试一个支付系统。出于测试目的,我构建了一个参数最少的字符串: $ogoSHAstring = "AMOUNT=" . $amount . $signature . "CURRENCY=" . $currency. $signature . "LANGUAGE=" . $language . $signature .

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

$ogoSHAstring = "AMOUNT=" . $amount . $signature . 
                "CURRENCY=" . $currency. $signature . 
                "LANGUAGE=" . $language . $signature . 
                "ORDERID=" . $orderId . $signature . 
                "PSPID=" . $pspId . $signature;
它将生成一个如下所示的字符串:

AMOUNT=990MySecretPassphrase!!CURRENCY=EURMySecretPassphrase!!LANGUAGE=nl_NLMySecretPassphrase!!ORDERID=67MySecretPassphrase!!PSPID=MyPSPIDMySecretPassphrase!!
<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>
这是散列到

1B8B605EAEF8E2FD9350958C0B152E22FD61FADB
发送的表单如下所示:

AMOUNT=990MySecretPassphrase!!CURRENCY=EURMySecretPassphrase!!LANGUAGE=nl_NLMySecretPassphrase!!ORDERID=67MySecretPassphrase!!PSPID=MyPSPIDMySecretPassphrase!!
<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>
以下是我的设置:

有什么帮助吗?

如果您收到错误“未知订单/1/r/这不是由于您的SHA计算。这是由于你的参考网址。正如您在“数据和来源验证”选项卡中所配置的,您的表单应该从调用Ogonehttp://www.someurl.com/php/ogone.php.

我猜你是从另一个网址给他们打电话。因此,我建议您在测试时从配置屏幕中删除referer URL。或者使用你实际使用的那个

如果您有SHA错误,您将收到未知订单/1/s/错误

最后,你的表格也不正确。您只是在表单中编写PHP变量名,而不是真正地呼应它们。将其更改为:

<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>
如果您收到错误未知订单/1/r/这不是由于您的SHA计算。这是由于你的参考网址。正如您在“数据和来源验证”选项卡中所配置的,您的表单应该从调用Ogonehttp://www.someurl.com/php/ogone.php.

我猜你是从另一个网址给他们打电话。因此,我建议您在测试时从配置屏幕中删除referer URL。或者使用你实际使用的那个

如果您有SHA错误,您将收到未知订单/1/s/错误

最后,你的表格也不正确。您只是在表单中编写PHP变量名,而不是真正地呼应它们。将其更改为:

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