我有一个来自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)
| 归档时间: |
|
| 查看次数: |
3957 次 |
| 最近记录: |