Если вы имеете ввиду REST методы, то нет.
Если у вас коробочная версия и вы хотите использовать API битрикса чтобы это сделать, то вы можете посмотреть пример в файле:
/home/bitrix/www/bitrix/activities/bitrix/crmgetpaymenturlactivity/crmgetpaymenturlactivity.php
Обратите внимание на getUrlByDealId и createPayment методы - они как раз делают то что вам нужно.
У меня есть небольшая,
но непроверенная заготовка-выжимка:
use \Bitrix\Main,
\Bitrix\Salescenter\Builder,
\Bitrix\Salescenter\Integration
;
/**
* @var int
*/
$dealId = 1;
try
{
Main\Loader::requireModule('crm');
$deal = \CCrmDeal::GetByID($dealId, false);
if (!$deal)
{
throw new \Exception("Deal not found");
}
$builder = Builder\Manager::getBuilder(
Builder\SettingsContainer::BUILDER_SCENARIO_PAYMENT
);
$builder->build(
$this->getBuilderData($deal)
);
$order = $builder->getOrder();
$r = $order->save();
if (!$r->isSuccess())
{
throw new \Exception("Order update error:".implode(', ', $r->getErrorMessages()));
}
$foundPayment = null;
foreach ($order->getPaymentCollection() as $payment)
{
$foundPayment = $payment;
}
if ( is_null($foundPayment) )
{
throw new \Exception("Payment not found");
}
$urlInfo = Integration\LandingManager::getInstance()->getUrlInfoByOrder(
$payment->getOrder(),
['paymentId' => $payment->getId()]
);
// Payment url: $urlInfo['shortUrl']
}
catch( \Throwable $e )
{
var_dump($e);
}