Answer the question
In order to leave comments, you need to log in
Why can't I receive email via Yandex.Money?
Test payment with email does not work, https included, the whole google is covered (PLEASE, if you can’t say something other than "google", "read the documentation", "contact support" DO NOT answer, otherwise REPORT)
I can not understand How is this query built, because if I remove the email, then the test will PASS, if I move the LABEL, then it will not pass, there must be some special sequence?
this is NOT a Yandex checkout ... do not advise connecting to it.
Everywhere I see something in the style of "You can receive mail", but no one shows how.
Thanks to those who help.
<form method="POST" action="https://money.yandex.ru/quickpay/confirm.xml">
<input type="hidden" name="receiver" value="4100175469*****">
<input type="hidden" name="label" value="label">
<input type="hidden" name="quickpay-form" value="donate">
<input type="hidden" name="targets"
value="targets">
<input type="hidden" name="sum" value="sum" data-type="number">
<input type="hidden" name="comment" value="comment">
<input type="hidden" name="need-email" value="true">
<input style="display: none" type="radio" data-toggle="yadMo"
value="yadMo"
name="paymentType" value="PC">
<input style="display: none" type="radio" data-toggle="yadBa"
name="paymentType" value="AC">
<input style="display: none" type="radio" data-toggle="yadTe"
name="paymentType" value="MC">
<button type="button" class="send-yad">
клик
</button>
</form>
$sha1 = sha1( $_POST['notification_type'] .
'&'. $_POST['operation_id'].
'&' . $_POST['amount'] .
'&' . $_POST['currency'] .
'&' . $_POST['datetime'] .
'&'. $_POST['sender'] .
'&' . $_POST['codepro'] .
'&' . $_POST['label'] .
'&' . $site[0]['secretKey'].
'&' . $_POST['email'] );
if ($_POST['sha1_hash'] != $sha1 || $_POST['codepro'] === true || $_POST['unaccepted'] === true) {
exit('error');
}else{
}
Answer the question
In order to leave comments, you need to log in
Email is not involved in signature generation.
Swap label and secretKey
To receive email in the notification, you need to request it in the form (done) and transfer data via HTTPS. If the site has https, but the email does not arrive, check with which protocol the link for HTTP notifications is specified on the settings page https://money.yandex.ru/myservices/online.xml . Perhaps there you specified http, not https .
How do you get it, use it as you like, it's here $_POST['email']
I can't understand how this query is built, because if I remove the email, then the test will PASS
notification_type&operation_id&amount¤cy&datetime&sender&codepro¬ification_secret&label
$sha1 = sha1( $_POST['notification_type'] .
'&'. $_POST['operation_id'].
'&' . $_POST['amount'] .
'&' . $_POST['currency'] .
'&' . $_POST['datetime'] .
'&'. $_POST['sender'] .
'&' . $_POST['codepro'] .
'&' . $site[0]['secretKey'].
'&' . $_POST['label']);
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question