Prefill не работает в razorpay

$data = [
        "key"               => $api_key,
        "amount"            => $amount,
        "name"              => "DJ Tiesto",
        "description"       => "Tron Legacy",
        "image"             => "logo.png",
        "prefill"           => [
                                    "name"     => "Daft Punk",
                                    "email"    => "[email protected]",
                                    "contact"  => "9999999999",
                               ],
        "notes"             => [
                                    "address"           => "Hello World",
                                    "merchant_order_id" => "12312321",
                               ],
        "theme"             => [
                                    "color"    => "#F37254"
                               ],
        "order_id"          => $razorpayOrderId,
    ];

Я пытаюсь интегрировать razorpay с php, все в порядке, но в предварительном заполнении я получаю значение по умолчанию. как я могу изменить это значение на индивидуальное значение?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
5
0
2 282
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

вы можете легко изменить значение по умолчанию, получив эти значения из базы данных или передав эти значения через параметры ulr, как я сделал в php.

получить идентификатор заказа через параметр url или отправить запрос

$ orderid = $ _GET ['orderid'];

run php mysql query to fetch data from database based on order id(i have used 2 table one for payment details and another one for userdetails)

$query = "SELECT ud.Name, ud.lname,
ud.MobileId,ud.EmailID,opd.pay_amount, opd.receipt, opd.transaction_id
FROM online_payment_details as opd
INNER JOIN userdetails as ud 
ON opd.user_id=ud.UserID
WHERE order_id='$orderid';";
$result = mysqli_query($con, $query);
$row = mysqli_fetch_assoc($result);
$name = $row['Name'].' '.$row['lname'];


$razorpayOrderId    = $orderid;
$amount_pay         = $row['pay_amount'];
$receipt            = $row['receipt'];
$transaction_id     = $row['transaction_id'];
$displayAmount      = $amount_pay ;
$corporateName      = '';
$email              = $row['EmailID'];
$contact            = $row['MobileId'];

now in your data array add above variables in data array

$data = [
        "key"               => $keyId,
        "amount"            => $amount_pay,
        "name"              => $name,
        "description"       => "",
        "image"             => "",
        "prefill"           => [
        "name"              => $corporateName,
        "email"             => $email,
        "contact"           => $contact,
        ],
        "notes"             => [
        "address"           => "Hello World",
        "merchant_order_id" => $transaction_id,
        ],
        "theme"             => [
        "color"             => "#F37254"
        ],
        "order_id"          => $razorpayOrderId,
        "receipt"           => $receipt,
    ];

and now in checkout/automatic page in block fetch values from data array and store in data attribute as below

<script
    src = "https://checkout.razorpay.com/v1/checkout.js"
    data-key = "<?php echo $data['key']?>"
    data-amount = "<?php echo $data['amount']?>"
    data-currency = "INR"
    data-name = "<?php echo $data['name']?>"
    data-image = "<?php echo $data['image']?>"
    data-description = "<?php echo $data['description']?>"
    data-prefill.name = "<?php echo $data['prefill']['name']?>"
    data-prefill.email = "<?php echo $data['prefill']['email']?>"
    data-prefill.contact = "<?php echo $data['prefill']['contact']?>"
    data-notes.shopping_order_id = "<?php echo $data['receipt']?>" 
    data-order_id = "<?php echo $data['order_id']?>"

    <?php if ($displayCurrency !== 'INR') { ?> data-display_amount = "<?php echo $data['display_amount']?>" <?php } ?>
    <?php if ($displayCurrency !== 'INR') { ?> data-display_currency = "<?php echo $data['display_currency']?>" <?php } ?>
  >
  </script>
Ответ принят как подходящий

В предварительном заполнении вы получите значение, указанное в объекте предварительного заполнения. Так же, как вы передали $ amount и $ razorpayOrderId, вы можете использовать $ name и $ email и т. д., Которые могут быть значением, которое вы получаете из текстового поля или что-то в этом роде. Сохраните эти имена и адрес электронной почты в переменной и передайте ее в предварительное заполнение.

Другие вопросы по теме