За последние 24 часа нас посетили 18313 программистов и 1582 робота. Сейчас ищут 1117 программистов ...

форма заказа на php

Тема в разделе "PHP для новичков", создана пользователем kotiqmeow, 9 янв 2024.

  1. kotiqmeow

    kotiqmeow Новичок

    С нами с:
    9 янв 2024
    Сообщения:
    1
    Симпатии:
    0
    Помогите пожалуйста c формой заказа на php, нужно сделать что бы в $order_id='php_form_order_1' вместо php_form_order_1 всегда были рандомные числа.


    Код (Text):
    1. <?php
    2.  
    3. $merchant_id='';//
    4.  
    5. $amount=10.54;//
    6.  
    7. $currency='RUB';//
    8.  
    9. $secret='';//
    10.  
    11. $order_id='php_form_order_1';//
    12.  
    13. $sign=hash('sha256',implode(':',[$merchant_id,$amount,$currency,$secret,$order_id]));
    14.  
    15. $desc='Order Payment';//
    16.  
    17. $lang='ru';//
    18. ?>
    19.  
    20.  
    21. <form method="POST" action="merchant">
    22.     <input type="hidden" name="merchant_id" value="<?phpecho$merchant_id?>">
    23.     <input type="hidden" name="amount" value="<?phpecho$amount?>">
    24.     <input type="hidden" name="currency" value="<?phpecho$currency?>">
    25.     <input type="hidden" name="order_id" value="<?phpecho$order_id?>">
    26.     <input type="hidden" name="sign" value="<?phpecho$sign?>">
    27.     <input type="hidden" name="desc" value="<?phpecho$desc?>">
    28.     <input type="hidden" name="lang" value="<?phpecho$lang?>">
    29.         <input type="submit" name="pay" value="Перейти к оплате">
    30. </form>
     
    #1 kotiqmeow, 9 янв 2024
    Последнее редактирование: 9 янв 2024
  2. Dremax

    Dremax Активный пользователь

    С нами с:
    13 фев 2015
    Сообщения:
    154
    Симпатии:
    4
    Код (Text):
    1.  
    2.  
    3. $d=rand(100,10000);
    4.  
    5. $order_id=$d;  //
     
    kotiqmeow нравится это.
  3. Vladimir Kheifets

    Vladimir Kheifets Новичок

    С нами с:
    23 сен 2023
    Сообщения:
    425
    Симпатии:
    79
    Адрес:
    Бавария, Германия
    Добрый день!
    Платёжная система требует указывать для каждого платежа уникальный order_id.
    Верно?
    Когда платёж пройдёт, бухгалтер получит потверждение с платёжного сервиса.
    Ему нужно проверить, какой из его счетов был оплачен.
    По случайному числу в order_id этого понять нельзя.
    Поэтому я присваиваю order_id так:
    PHP:
    1. // $invoiceNr - номер счёта по бухгалтерии
    2. $order_id = $invoiceNr."_".time();
    Tакже такой принцип позволяет автоматизировать обработку Payment Response
    и записывать в таблице счетов данные транзакций см. ниже скриншот.
    В форме можно обойтись без echo
    PHP:
    1. <form method="POST" action="merchant">
    2.   <input type="hidden" name="merchant_id" value="<?=$merchant_id?>">
    3.   <input type="hidden" name="amount" value="<?=$amount?>">
    4.   <input type="hidden" name="currency" value="<?=$currency?>">
    5.   <input type="hidden" name="order_id" value="<?=$order_id?>">
    6.   <input type="hidden" name="sign" value="<?=$sign?>">
    7.   <input type="hidden" name="desc" value="<?=$desc?>">
    8.   <input type="hidden" name="lang" value="<?=$lang?>">
    9.   <input type="submit" name="pay" value="Перейти к оплате">
    10. </form>
    Удачи!
     
    #3 Vladimir Kheifets, 10 янв 2024
    Последнее редактирование: 10 янв 2024
  4. Vladimir Kheifets

    Vladimir Kheifets Новичок

    С нами с:
    23 сен 2023
    Сообщения:
    425
    Симпатии:
    79
    Адрес:
    Бавария, Германия
  5. l_2001

    l_2001 Активный пользователь

    С нами с:
    9 дек 2014
    Сообщения:
    82
    Симпатии:
    3
    на мой взгляд rnd не самый удачный вариант... если мне нужно нечто подобное, то беру строковое время с миллисекундами... до сих пор работает без сбоев!