Проблема с SCI PerfectMoney - Страница 2

asteroth

Новичок
Регистрация
30.08.2012
Сообщения
108
Реакции
10
Поинты
0.000
please help me, Perfect money has blocked United States and I can't find any help by English.
I re - checked and fixed my config. But I have new problem.
I can't verify the payment.
the hash is different with the value from Post[]
$hash!=$_POST['V2_HASH']

PHP:
Код:
$md5pwd = strtoupper( md5('this is your alter password');
$string=
      $_POST['PAYMENT_ID'].':'.$_POST['PAYEE_ACCOUNT'].':'.
      $_POST['PAYMENT_AMOUNT'].':'.$_POST['PAYMENT_UNITS'].':'.
      $_POST['PAYMENT_BATCH_NUM'].':'.
      $_POST['PAYER_ACCOUNT'].':'.$md5pwd.':'.
      $_POST['TIMESTAMPGMT'];
$pm_hash = strtoupper( md5($string) );
if( $_POST['V2_HASH'] == $pm_hash ){
//add money to user balance....
}
 

hoangthi

Новичок
Регистрация
13.06.2013
Сообщения
3
Реакции
0
Поинты
0.000
PHP:
Код:
$md5pwd = strtoupper( md5('this is your alter password');
$string=
      $_POST['PAYMENT_ID'].':'.$_POST['PAYEE_ACCOUNT'].':'.
      $_POST['PAYMENT_AMOUNT'].':'.$_POST['PAYMENT_UNITS'].':'.
      $_POST['PAYMENT_BATCH_NUM'].':'.
      $_POST['PAYER_ACCOUNT'].':'.$md5pwd.':'.
      $_POST['TIMESTAMPGMT'];
$pm_hash = strtoupper( md5($string) );
if( $_POST['V2_HASH'] == $pm_hash ){
//add money to user balance....
}

Yes!
Do you think V2HASH is safe ?

User send money to me via SCI FORM,
After that, Verify.php will check his payment by using V2Hash.
If payment is made successfully, His payment information will be insert in to database, Then, He will be redirected to Done.php page (congrats page)

If payment is NOT made successfully, No record will be insert in to database and he will be redirected to Index.php.

Therefore, My question is, Is V2Hash is Safe to verify the payment?
Can Hacker use his FAKE-VERIFY.php file to cheat ?



Да!
Как вы думаете, V2HASH является безопасным?

Пользователь отправить деньги мне через ФОРМА SCI,
После этого Verify.php проверить свою оплату с помощью V2Hash.
Если оплата производится успешно, Его платежная информация будет вставить в базу данных, то он будет перенаправлен на страницу Done.php (поздравляю странице)

Если оплата не будет произведена успешно, ни одна запись не будет вставкой в ​​базу данных, и он будет перенаправлен на index.php.

Таким образом, мой вопрос в том, V2Hash является безопасным для проверки платежей?
Хакер может использовать свои поддельные VERIFY.php файла обмануть?
 

asteroth

Новичок
Регистрация
30.08.2012
Сообщения
108
Реакции
10
Поинты
0.000

PMBitcoin

Интересующийся
Регистрация
17.06.2013
Сообщения
17
Реакции
1
Поинты
0.000
Не нашел ответа на форуме. Вопрос такой:
При оплате по мерчанту на суммы больше 1.5к Perfect не отстукивает на status. У меня одного так или у всех?
На мелкие суммы все ОК.
 

asteroth

Новичок
Регистрация
30.08.2012
Сообщения
108
Реакции
10
Поинты
0.000
Не нашел ответа на форуме. Вопрос такой:
При оплате по мерчанту на суммы больше 1.5к Perfect не отстукивает на status. У меня одного так или у всех?
На мелкие суммы все ОК.

Мне такие суммы никто не платит, поэтому подсказать не могу...
но попробуйте оплатить сами себе (если кошельки одинаковые, то коммисии нет)...поэксперементируйте с суммой. (например 1499, 1501....)
 

winpm

Интересующийся
Регистрация
06.07.2013
Сообщения
12
Реакции
0
Поинты
0.000
У самого постоянно проблемы были со STATUS_URL. Приходят все, но не всегда быстро, для меня было важно чтоб быстро приходили.

Решения сделал так:
на PAYMENT_URL тоже приходят все данные и V2_HASH (через пользователя при переходе с сайта ПМ на мой сайт). Я поставил одинаковый STATUS и PAYMENT, при переходе пользователя на STATUS(PAYMENT) редиректом переходит дальше на страницу мою страницу результата. Если пользователь не перешел на страницу результата то ПМ пришлет попозже на STATUS_URL.
Главное также организовать правильную проверку чтоб дубликатов не было. Потому-что хеш будет высылатся 2 раза.

Также перед настройкой была проблема с IP, был 77.*.*.* и тут вдруг один платеж проходит из 98.*.*.*
Но это не для верхнего решения.
 
Последнее редактирование:

miagames

Интересующийся
Регистрация
10.07.2013
Сообщения
13
Реакции
0
Поинты
0.000
V2_HASH небезопасен, можно спокойно подменить сумму платежа на 0.01$. Поэтому на финальной стадии помимо V2_HASH нужно проверять PAYMENT_AMOUNT, PAYEE_ACCOUNT, PAYMENT_UNITS.

Большие платежи около 1000$ и более могут идти несколько часов. Т.е. после платежа V2_HASH не приходит на PAYMENT_URL, а только после проверки платежа администрацией PM на STATUS_URL.

Если нервы зашкаливают при ожидании больших сумм, можно написать в поддержку PM для ускорения проверки конкретного платежа.
 

asteroth

Новичок
Регистрация
30.08.2012
Сообщения
108
Реакции
10
Поинты
0.000
V2_HASH небезопасен, можно спокойно подменить сумму платежа на 0.01$. Поэтому на финальной стадии помимо V2_HASH нужно проверять PAYMENT_AMOUNT, PAYEE_ACCOUNT, PAYMENT_UNITS.

почему?
допустим юзер поменял на сайте ПМ сумму платежа на 0.01$.... я получил данные на статус_урл, проверил хеш, и пополнил ему счет на те же 0.01$

П.С.: До совершения платежа я ничего в БД не записываю.
 
Последнее редактирование:

winpm

Интересующийся
Регистрация
06.07.2013
Сообщения
12
Реакции
0
Поинты
0.000
В документации написано что проверять а именно:

PAYMENT_ID по своему учету беред данные по номеру счет и сверяем AMOUNT, UNITS.

PAYMENT_BATCH нету ли повторов или повтор V2_HASH

PAYEE_ACCOUNT также проверяем

можно проверять также по IP но PM высылает иногда с разных подсетей, так что нужно собрать полный список.

Выше также я описал что оповещение приходит долго.

Также я бы проверял каждое бы значение на число.
 

whellcome

Интересующийся
Регистрация
04.07.2013
Сообщения
30
Реакции
5
Поинты
0.000
V2_HASH небезопасен, можно спокойно подменить сумму платежа на 0.01$. Поэтому на финальной стадии помимо V2_HASH нужно проверять PAYMENT_AMOUNT, PAYEE_ACCOUNT, PAYMENT_UNITS
V2_HASH подпись лишь подтверждает, что платёж имел место быть, что вышеизложенные данные о платеже поступили именно из PM, и ничего более. Разумеется, нужно проверять и сумму, и валюту, и номер заказа, и всё что нужно, чтобы быть уверенным.
Вам из банка платёжку принесут с печатью и подписью об оплате за тапочки, и скажут: "тож за отомобиль, пля буду", Вы что отдадите автомобиль?? Ага, а потом побежите в банк, и будете кричать: Ваша подпись и печать ненадежны! Клиент оплатил вам тапочки, а должен был автомобиль.
 

whellcome

Интересующийся
Регистрация
04.07.2013
Сообщения
30
Реакции
5
Поинты
0.000
Только написал комментарий и сегодня утром обнаружил, что некто пользователь Павел пытался "купить" скрипт магазина за 1 цент, порадовал. :))
Паш, спасибо за 30 копеек, модуль оплаты отлично работает, можешь смело пользоваться!
 

asteroth

Новичок
Регистрация
30.08.2012
Сообщения
108
Реакции
10
Поинты
0.000
Только написал комментарий и сегодня утром обнаружил, что некто пользователь Павел пытался "купить" скрипт магазина за 1 цент, порадовал. :))
Паш, спасибо за 30 копеек, модуль оплаты отлично работает, можешь смело пользоваться!

Хорошо, что есть проверки.... =)
 

difight

Новичок
Регистрация
13.11.2013
Сообщения
3
Реакции
0
Поинты
0.000
У меня тоже проблема в том что не возвращаются данные на статус урл, хотя если ставить mailto: письмо приходит, подскажите обязательно данные должны идти на https, или будет работать и просто с http ?. В ручную если посылать PAYMENT_URL постом то все приходит... :(
 

Laslo Brown

Должник!!!
Регистрация
12.12.2012
Сообщения
1,087
Реакции
359
Поинты
0.000

difight

Новичок
Регистрация
13.11.2013
Сообщения
3
Реакции
0
Поинты
0.000
И с https, и с http должно работать.
ну вот у меня вообще не в какую, ипы в pm акке прописал,
вот код формы...
PHP:
	$html = '<html><head><title>Redirection</title></head><body><div style="margin: auto; text-align: center;">';
		$html .= '<form action="https://perfectmoney.is/api/step1.asp" method="post" name="perfectmoney_form"  accept-charset="UTF-8">';
		$html .= '<input type="submit"  value="' . ('Redirecting to Perfect Money payment gateway...') . '" />';
		$html .= '<input type="hidden" name="SUGGESTED_MEMO" value="'.('Payment for user ') . '">
<input type="hidden" name="PAYMENT_ID" value="'.$pay_setting['merchant_id'].'" />
<input type="hidden" name="PAYMENT_AMOUNT" value="'.$_POST['amount'].'" />
<input type="hidden" name="PAYEE_ACCOUNT" value="'.$pay_setting['purse'].'" />
<input type="hidden" name="PAYMENT_UNITS" value="'.$pay_setting['code'].'" />
<input type="hidden" name="PAYEE_NAME" value="'.$pay_setting['short_name'].'" />
<input type="hidden" name="STATUS_URL" value="link/account/deposit_yes" />
<input type="hidden" name="INTERFACE_LANGUAGE" value="en_US"/>
<input type="hidden" name="PAYMENT_URL" value="link/account/deposit" />
<input type="hidden" name="PAYMENT_URL_METHOD" value="LINK" />
<input type="hidden" name="NOPAYMENT_URL" value="link/account/deposit_no" />
<input type="hidden" name="NOPAYMENT_URL_METHOD" value="LINK" />
<input type="hidden" name="BAGGAGE_FIELDS" value="custom" />
<input type="hidden" name="custom" value="From user '.Cookie::get("siteuser_id").'" />
посмотрите может чё то упустил.. :(
 

difight

Новичок
Регистрация
13.11.2013
Сообщения
3
Реакции
0
Поинты
0.000
Ни у кого мыслей нету ? Если ставлю на
PHP:
<input type="hidden" name="STATUS_URL" value="mailto" />
тогда на почту сообщение приходит, ставлю ссылку, там пишу обычный mail, если открыть в ручную страницу статуса, письмо приходит, если произвести оплату, ничего не приходит, может все же в самом апи перфекта что то настраивать надо на сайте ? Я включил апи там и айпи, сервера своего прописал где стоит сайт.... Поддержка пм тупо игнорит....
 

tophik

Новичок
Регистрация
28.06.2014
Сообщения
1
Реакции
0
Поинты
0.000
Klyck, уважаемый. Не могли бы вы помочь мне с привязкой АПИ перфекта к сайту.....?
 

fiboniac

Интересующийся
Регистрация
10.06.2010
Сообщения
10
Реакции
2
Поинты
0.000
В общем проблема
 
Последнее редактирование:
Сверху Снизу