0

私は 2checkout でデモ口座を持っています。2checkout 経由でオンライン支払いを受け入れる必要があります。そのため、デモアカウントでコードをテストしています。問題は、デモアカウントで注文が正常に処理されたというメッセージを受け取ったが、ドキュメントを使用して自分の側で同じことを確認すると、常に失敗することです。

以下は、オンラインで支払いを行うための HTML コードです。

 <form action='https://www.2checkout.com/checkout/purchase' method='post'>
    <input type='hidden' name='sid' value='202351337'>
    <input type='hidden' name='quantity' value='1'>    
    <input type='hidden' name='product_id' value='1'>
    <input name='submit' type='submit' value='Buy from 2CO' >
    </form>

以下は、2checkout の公式ドキュメントから取得した確認コードです。

<?php
print_r($_REQUEST);
$hashSecretWord='james007'; //2Checkout Secret Word
$hashSid=202351337; //2Checkout account number
$hashTotal=100.00; //Sale total to validate against
$hashOrder=1; //2Checkout Order Number
$StringToHash = strtoupper(md5($hashSecretWord . $hashSid . $hashOrder . $hashTotal));
echo "<br/> And StringToHash is $StringToHash <br/>";
if ($StringToHash != $_REQUEST['key'])
{
$result = 'Fail - Hash Mismatch';
}
else 
{
$result = 'Success - Hash Matched';
}

echo $result;

私は常にFail-Hash Mismatchにメッセージを送ります

4

2 に答える 2

0

あなたの問題はhashTotal、文字列ではなく数値として設定しているためだと思います。その行を次のように変更してみてください。

$hashTotal='100.00';
于 2014-09-25T14:37:55.097 に答える