2 Проверка оплаты на демо-счете не работает

У меня есть демо-счет на 2checkout. Мне необходимо принять онлайн-платеж через 2checkout. так что для этого я тестирую код с демо-счета. проблема в том, что на демо-счете я получил сообщение, что заказ успешно обработан, но когда я проверяю то же самое на myside, используя документацию, он всегда терпит неудачу.

ниже 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

0

Решение

ваша подача $hashOrder=1;

но заказ № 1 будет работать только для демонстрационных продаж
если ваш пост URL, как показано ниже, только $hashOrder=1; буду работать
(https://sandbox.2checkout.com/checkout/purchase ‘method =’ post ‘>).

но вы используете <form action='https://www.2checkout.com/checkout/purchase' method='post'>, это означает, что ваша продажа вживую.
в этом случае $hashOrder=$_REQUEST['hashOrder'];

Я надеюсь, что это будет работать для вас.

1

Другие решения

Я думаю, что ваша проблема связана с тем, что вы устанавливаете hashTotal как число, а не строка. Попробуйте изменить эту строку на это:

$hashTotal='100.00';
0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector