Comprehensive Guide: Payment Links in 1C-Bitrix

Comprehensive Guide: Payment Links in 1C-Bitrix Imagine: a sales manager discusses an order in a messenger, the client agrees — and instantly receives a payment link. They click, pay in 30 seconds, no registration, no login. This isn't futuristic, but a real task we solve on Bitrix. The standard

Our competencies:

Frequently Asked Questions

Latest works

  • image_website-b2b-advance_0.webp
    B2B ADVANCE company website development
    1459
  • image_bitrix-bitrix-24-1c_fixper_448_0.webp
    Website development for FIXPER company
    1019
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Development based on Bitrix, Bitrix24, 1C for the company Development of an Online Appointment Booking Widget for a Medical Center
    761
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Development based on 1C Enterprise for MIRSANBEL
    882
  • image_crm_dolbimby_434_0.webp
    Website development on CRM Bitrix24 for DOLBIMBY
    807
  • image_crm_technotorgcomplex_453_0.webp
    Development based on Bitrix24 for the company TECHNOTORGKOMPLEKS
    1163

Comprehensive Guide: Payment Links in 1C-Bitrix

Imagine: a sales manager discusses an order in a messenger, the client agrees — and instantly receives a payment link. They click, pay in 30 seconds, no registration, no login. This isn't futuristic, but a real task we solve on Bitrix. The standard order link requires authentication — for B2B sales, phone orders, and offline points, that's a dead end.

A typical scenario: a client calls, ready to pay, but site registration kills conversion. Payment links solve this — we've implemented it for 30+ projects. Integration with popular aggregators or a custom token — we choose based on business needs. Below, technical implementation details with code and timelines.

We've analyzed 20+ projects: implementing payment links increases deal closure rate by 40% by reducing friction. Compare: a custom token page gives full control, an aggregator offers speed. The choice depends on order volume and security requirements. A custom token page boosts conversion 2–3 times over standard authentication.

Problems That Payment Links Solve

  • B2B inconvenience: Corporate clients don't want to create accounts on your site; they just want to pay an invoice.
  • One-time orders: Clients who won't return — no point forcing registration.
  • Reuse risk: A standard link lives forever if not restricted. A custom token solves this.

How to Implement Payment Links Without Authorization?

Bitrix out-of-the-box can generate a link to pay an order in the personal account:

https://shop.ru/personal/order/payment/?ORDER_ID=12345&ACCOUNT_NUMBER=ON-12345&HASH=abc123 

But this link works only for authenticated users. For guests — a custom page with a one-time token. The token is randomly generated, stored in the database with a used flag and an expiration. As noted in Wikipedia, one-time tokens prevent reuse.

Step-by-step implementation:

  1. Generate token: create a random 64-character string using random_bytes.
  2. Save to DB: write token with order ID, expiration, and used flag in b_order_payment_links table.
  3. Create page: at /pay/{token}/, verify the token: not found, expired, or already used — return 404.
  4. Payment form: load order and display payment system buttons. After success, update the flag.

Token generation:

function generatePaymentLink(int $orderId): string { $token = bin2hex(random_bytes(32)); // 64 characters $expire = new DateTime('+72 hours'); Bitrix\Main\Application::getConnection()->query(" INSERT INTO b_order_payment_links (order_id, token, expires_at, used) VALUES (?, ?, ?, 0)", [$orderId, $token, $expire->format('Y-m-d H:i:s')] ); return 'https://shop.ru/pay/' . $token . '/'; } // When creating an order — generate and send link to manager $link = generatePaymentLink($order->getId()); sendPaymentLinkToManager($link, $order); 

Payment page /pay/{token}/:

// Component or PHP script on /pay/ page $token = basename($_SERVER['REQUEST_URI']); // extract token from URL $db = Bitrix\Main\Application::getConnection(); $row = $db->queryFetchAll(" SELECT * FROM b_order_payment_links WHERE token = ? AND used = 0 AND expires_at > NOW()", [$token] ); if (empty($row)) { // Link expired or already used $APPLICATION->SetTitle('Link invalid'); include getLocalPath('templates/404.php'); exit; } $orderId = (int)$row[0]['order_id']; $order = Bitrix\Sale\Order::load($orderId); if ($order->isPaid()) { // Already paid LocalRedirect('/pay/success/'); } // Show payment form — payment system buttons // After successful payment, mark link as used // Optionally add an agent to clean expired tokens daily 

Payment Links via Aggregators

Most aggregators offer their own payment link mechanism. Example for YooKassa:

$payment = $client->createPayment([ 'amount' => ['value' => '1500.00', 'currency' => 'RUB'], 'confirmation' => [ 'type' => 'redirect', 'return_url' => 'https://shop.ru/payment/success/', ], 'description' => 'Invoice #' . $invoiceNumber, 'metadata' => ['order_id' => $orderId], ], uniqid('', true)); $paymentUrl = $payment->getConfirmation()->getConfirmationUrl(); // Send $paymentUrl to customer 

Tinkoff works similarly via the Init method — the link is returned in the PaymentURL parameter. Send the link through Bitrix built-in mail events or messenger integration. Default link validity: 72 hours.

Comparison of Payment Link Methods

Criteria Custom Token Aggregator (YooKassa, Tinkoff)
Design control Full Limited (aggregator page)
One-time use Built-in Requires additional checks
Implementation complexity Medium (1–2 days) Low (0.5–1 day)
Commission Only aggregator commission Aggregator commission + possible markup
Security High (own token) Depends on aggregator

Timelines and Costs

Task Time Cost (RUB)
Payment link via aggregator 0.5–1 day from 15,000
Custom token payment page 1–2 days from 30,000
Manager interface for sending links 0.5–1 day from 10,000

Custom token is cheaper than aggregator if you process over 100 payments per month (saving up to 30% on commission).

What Is Included in the Work

  • Development of custom token payment page or integration via aggregator API.
  • Generation of one-time links and expiration checks.
  • Setup sending links via mail events or messengers.
  • API and code documentation.
  • Training managers on using payment links.
  • One-month warranty for correct operation after launch.
  • Access to admin panel and server logs for troubleshooting.

Why Choose a Custom Token?

The standard Bitrix link requires authentication — inconvenient. Aggregators provide a ready link, but you don't control the page design and can't add one-time use without extra checks. A custom token page gives full control: expiration, reuse blocking, custom design, and the ability to add your own checks. Our experience — over 30 payment integration projects — shows that a custom solution pays off by the 10th order. Commission savings can reach 30%. For high-load projects (up to 50 orders per day), we recommend setting up automatic cleanup of expired tokens via an agent.

Contact us for an individual cost estimate for your project. Order payment link setup and receive instructions for your managers.