Разный return_url задавать нельзя, а вот передать данные о заказе при формировании платежа можно в метаданных.
Подробнее:
https://kassa.yandex.ru/developers/api#payment_obj...
Пример формирования платежа на php (адаптируйте на js, если надо):
$paymentConfig = [
'phone' => 79991234567,
'email' => "vasya.puplin@example.com",
'amount' => [
'value' => "1000.00",
'currency' => 'RUB',
],
'confirmation' => [
'type' => 'redirect',
'return_url' => "url, куда яндекс будет отправлять платежные события на вашем сайте",
],
'capture' => true, // Автоматический прием поступившего платежа.
'description' => 'Заказ №22',
'metadata' => [
'orderId' => 22
]
];
$payment = $this->yandexCheckout->createPayment(
$paymentConfig,
uniqid('', true)
);
Здесь $this->yandexCheckout - это у меня в проекте так называется клиент из SDK PHP (yandex-checkout-sdk-php)
В свойство
metadata можно вкладывать нужную информацию. В бою не раз использовал такой подход. Работает.
При получении платежа, соответственно, смотрите нужное свойство и получите номер заказа.
При формировании платежа попробуйте передать это свойство.