# Bepaid (ru)

## Nasıl bağlanılır

bePaid ödeme sistemini bağlamak için Mağaza ID'sine, gizli anahtara ve genel anahtara ihtiyacınız olacak. Bunları aldıktan sonra MaviBot'taki ayarlara geçiyoruz.

MaviBot'ta "Tahsilat" bölümünü açıyoruz, bePaid'i seçiyoruz. Alınan verileri girmeniz gerekiyor.

<div data-with-frame="true"><figure><img src="/files/b68825f0e9ff58ea453ec596424c713441086113" alt=""><figcaption></figcaption></figure></div>

Son alanın, kullanım ülkesine göre API barındırma anahtar olduğunu unutmayın: Belarus veya Rusya.

<div data-with-frame="true"><figure><img src="/files/dc1214c35d278318ce90c7ff1d0f73fd7c0f6267" alt=""><figcaption></figcaption></figure></div>

## Ödeme bağlantısı nasıl oluşturulur

Ödeme bağlantısı oluşturmak için payment\_sum değişkenine bir değer atamanız gerekir (örneğin 150 veya 100.55 (nokta ile!)). Bundan hemen sonra bepaid\_pay\_url değişkeni görünecektir. Bu değişkeni ekranda bir bağlantı olarak gösterebilir veya üzerinde "Öde" metni olan bir düğmeye yerleştirebilirsiniz.&#x20;

Bağlantı şu şekildedir: \
<https://checkout.bepaid.by/widget/hpp.html?token=a05eabd3f9368725efbc175614c7d469da08f198cc51916b07fb75e53f9a3e1a>

Ayrıca payment\_sum değişkenine değer atamadan önce ödeme ayarları için aşağıdaki isteğe bağlı değişkenler de belirtilebilir.

{% hint style="info" %}
Varsayılan olarak Belarus rublesi ayarlıdır; başka bir para birimi gerekiyorsa currency değişkenine değer atanmalıdır
{% endhint %}

<table><thead><tr><th width="209">Fonksiyon parametreleri</th><th width="242">Parametre açıklaması</th><th>Ek olarak</th></tr></thead><tbody><tr><td><strong>currency</strong></td><td>ödeme para birimi <a href="http://en.wikipedia.org/wiki/ISO_4217">ISO-4217</a> formatında</td><td>örneğin USD</td></tr><tr><td><strong>language</strong></td><td><p>ödeme sayfasının dili</p><p>Varsayılan olarak - en.</p></td><td><p>İzin verilen değerler:</p><p>en - İngilizce</p><p>es - İspanyolca</p><p>tr - Türkçe</p><p>de - Almanca</p><p>it - İtalyanca</p><p>ru - Rusça</p><p>zh - Çince</p><p>fr - Fransızca</p><p>da - Danca</p><p>sv - İsveççe</p><p>no - Norveççe</p><p>fi - Fince</p><p>pl - Lehçe</p><p>ja - Japonca</p><p>uk - Ukraynaca</p><p>be - Belarusça</p><p>ka - Gürcüce</p><p>ro - Romence</p></td></tr><tr><td><strong>payment_description</strong></td><td>ödeme açıklaması</td><td></td></tr><tr><td><strong>link_expired</strong> </td><td><p>ödeme bağlantısının geçerlilik süresi, gg.aa.yyyy formatında (örneğin 25.06.2025). </p><p>Varsayılan olarak ödeme 24 saat içinde yapılmalıdır</p></td><td><p>Ayrıca alanına da <strong>"Değişkenleri geçişte atama"</strong> şunu belirtebilirsiniz: link_expired = current_date + 2 (bağlantı 00:00'a kadar 2 gün geçerli olacak)</p><p><strong>link_expired</strong> ayrıca tam saatli bir tarih, boşlukla ayrılmış şekilde gg.aa.yyyy ss:dd formatında da belirtilebilir (örneğin: 25.06.2025 12:23). Varsayılan olarak ödeme 24 saat içinde yapılmalıdır</p><p>Ayrıca standart değişkenler de kullanılabilir; örneğin bağlantı geçerlilik süresini 30 dakika olarak ayarlayalım:</p><p>time = current_time + 30</p><p>link_expired = "#{current_date} #{time}"</p></td></tr><tr><td>russian_host</td><td>mağazanın bePaid Rusya hostunda kayıtlı olduğunu gösteren işaret. Mağazanız bepaid.tech sitesinde kayıtlıysa, bu parametreyi 1 değeriyle belirtin</td><td>Host'u Belarus hostuna geçirmek gerekiyorsa, parametreyi '' değeriyle belirtin</td></tr><tr><td><strong>test_payments</strong></td><td>değişkeni test ödemeleri içindir; test ödemesi gerekiyorsa herhangi bir değerle ekleyin.</td><td></td></tr><tr><td><strong>bepaid_attempts</strong> </td><td>ödeme yapma deneme sayısını belirtir; varsayılan olarak 1 deneme verilir.</td><td></td></tr><tr><td><strong>сustomer_data</strong></td><td>içeren bir dizi <em>first_name, last_name ve email</em> ödeyenin bilgileri. Bu veriler, makbuzu ödeyenin e-postasına göndermek için gereklidir ve ödeme sayfasında düzenlenebilir. </td><td><p>Parametre, anahtar-değer çiftlerinden oluşan json formatında bir liste olarak iletilmelidir</p><p><strong>örneğin</strong>:</p><p>customer_data = ‘{“first_name”: “Vladimir”, “last_name”: “Popov”, “email”: “v.popov@mavibot.ai” }’</p></td></tr><tr><td>bepaid_contract (koşullu zorunlu)</td><td>token ile ödeme amacı.</td><td>Beklenen değerler: "recurring" (belirlenen periyodiklikte düzenli ödemeler için) veya "card_on_file" (düzensiz ödemeler için, örneğin verilen hizmet için sonradan ödeme)</td></tr></tbody></table>

Ödeme tamamlandıktan sonra müşteriye şu değişken eklenecektir **bepaid\_callback\_data**, gerçekleştirilen işlem için ödeme sisteminin yanıt verilerini içeren. Alınan sözlükten gerekli veriler yöntem kullanılarak çıkarılabilir **get**.

## Ödemeler nasıl test edilir

payment\_sum değişkenini belirtmeden önce test ödemesi yapmak için test\_payments değişkenine herhangi bir değer atamanız gerekir.

Botu canlı moda alırken bunu kaldırmayı unutmayın!

Test kartları:

4200000000000000      başarılı

4005550000000019        başarısız

Bir şey çalışmıyorsa, verileri resmi sitedeki verilerle karşılaştırın: <https://docs.bepaid.by/ru/test-integration#test-card-number>&#x20;

## Ödeme bağlantısı oluşturma örneği

100 Belarus rublesi tutarında bir ödeme bağlantısı oluşturalım (varsayılan para birimi)

Dikkat edin, önce ayarlar için ek değişkenleri, sonra payment\_sum'u belirliyoruz. Değişkenler daha önce zincirde de ayarlanabilir, tek bir blokta olmak zorunda değildir; bu sadece bir örnektir.

Daha sonra gerekli yerde değişkeni gösteriyoruz **bepaid\_pay\_url**, içinde bağlantı bulunan

## Abonelik yönetimi

Ödeme sistemi entegrasyonu, müşterileriniz için abonelikler oluşturma imkânı sunar.

MaviBot işlevselliğini kullanmaya başlamadan önce, bePaid kişisel hesabında bir abonelik planı oluşturun.

{% hint style="warning" %}
Kişisel hesapta “Planlar” ve “Abonelikler” menüsü görünmüyorsa, yöneticinizle iletişime geçin.
{% endhint %}

### Abonelik oluşturma ve ödeme bağlantısı alma

şu fonksiyonu kullanın **get\_bepaid\_subscription\_url**, buna plan\_id parametresini ileterek, burada

<table><thead><tr><th width="233"></th><th></th></tr></thead><tbody><tr><td>plan_id</td><td>bePaid sistemindeki planın ID'sidir.</td></tr></tbody></table>

Sonuç olarak fonksiyon bir abonelik oluşturacak ve onun ödeme bağlantısını döndürecektir.

Bağlantıyı müşteriye gönderin ve ödemenin tamamlanmasını bekleyin.

Başarılı ödeme durumunda abonelik etkinleştirilir, anlaşmaya bepaid\_subscription\_id ve bepaid\_subscription\_status değişkenleri eklenir ve bot'a bir callback gelir (bkz. "[Sonuç nasıl işlenir](#kak-obrabotat-rezultat)").

### Abonelik bilgilerini alma

Müşterinin mevcut abonelik verilerini almak için get\_bepaid\_subscription\_info fonksiyonunu çağırın ve subscription\_id parametresini iletin (değer bepaid\_subscription\_id değişkeninden alınabilir).

### Aboneliği iptal etme

Aboneliği iptal etmek için cancel\_bepaid\_subscription fonksiyonunu kullanın.&#x20;

Bu fonksiyon yalnızca subscription\_id parametresini alır (değer bepaid\_subscription\_id değişkeninden alınabilir).

Başarılı iptalde bepaid\_subscription\_status değişkeni “canceled” değerini alır ve bot'a bir callback gelir (bkz. bölüm "[Sonuç nasıl işlenir](#kak-obrabotat-rezultat)").

### Abonelik durumları

<table data-header-hidden><thead><tr><th width="270"></th><th></th></tr></thead><tbody><tr><td>trial</td><td>Deneme süresine ait etkin veya iptal edilmiş abonelik.</td></tr><tr><td>active</td><td>Ödemesi zamanında yapılmış etkin abonelik.</td></tr><tr><td>failed</td><td>Başarısız abonelik. bePaid sıradaki ödemeyi gerçekleştiremedi.</td></tr><tr><td>error</td><td>bePaid ödemeyi gerçekleştirmeye çalışırken bir hata oluştu.</td></tr><tr><td>canceled</td><td>Abonelik iptal edildi ve artık geçerli değil.</td></tr></tbody></table>

### Tekrarlayan ödemeler

BePaid kişisel hesabında bir plan oluşturmadan da abonelik sistemi kurabilirsiniz.

Bunun için müşteri kartı tokenine ihtiyacınız olacak.

Kart tokenini almak için müşteri, payment\_sum üzerinden oluşturulan bağlantı ile başlangıç ödemesini yapmalıdır.

payment\_sum değerini atamadan önce bepaid\_contract değişkenini ayarlayın ve burada token ile gelecekteki ödemelerin amacını belirtin: düzenli ödemeler için “recurring” veya düzensiz ödemeler için (örneğin, verilen hizmet için sonradan ödeme) “card\_on\_file”.

{% hint style="warning" %}
“card\_on\_file” seçeneği tüm tahsilat sağlayıcıları tarafından desteklenmez. Bunu kullanmak istiyorsanız, hesap yöneticinizle iletişime geçin.
{% endhint %}

Başarılı ödemeden sonra anlaşmaya bepaid\_client\_card\_token değişkeni eklenir ve içinde müşteri kartı tokeni saklanır. Bu token, müşterinin kartından onun katılımı olmadan para çekilmesini sağlar.

Ardından huniyi ayarlayın ve otomatik tahsilat için tarih veya koşul belirleyin ve gerekli parametreleri ileterek make\_bepaid\_token\_payment hesaplayıcı fonksiyonunu çağırın.

**Parametrelerin sıralaması**:

amount -> currency -> description -> contract

#### Parametre açıklamaları:

<table><thead><tr><th width="286"></th><th></th></tr></thead><tbody><tr><td>amount (zorunlu)</td><td>ödeme tutarı, beklenen değer tam sayı veya ondalık sayı; örneğin 100 veya 100.5;</td></tr><tr><td>currency (zorunlu)</td><td>ödeme para birimi<a href="http://en.wikipedia.org/wiki/ISO_4217"> ISO-4217</a> formatında, örneğin “USD”</td></tr><tr><td>description (zorunlu)</td><td>çekim nedeninin açıklaması, örneğin, “İlgi kulübüne katılım için haftalık abonelik ücreti”;</td></tr><tr><td>contract (zorunlu)</td><td>token ile ödeme amacı. Beklenen değerler: “recurring” veya “card_on_file”. </td></tr></tbody></table>

{% hint style="warning" %}
contract değeri, başlangıç ödemesi bağlantısı oluşturulurken belirtilen değerle mutlaka eşleşmelidir!
{% endhint %}

Ödeme başarılı olursa, fonksiyon “bePaid tokenı ile başarılı tahsilat“ mesajını döndürür, başarılı ödeme hakkında bir callback alırsınız ve anlaşma değişkeni bepaid\_token\_payment\_completed “True” değerini alır.

Ödeme başarısız olursa, fonksiyon başarısız ödeme nedenini belirten bir mesaj döndürür, bot'a “\_fail” son ekli bir callback gelir ve anlaşma değişkeni bepaid\_token\_payment\_completed “False” değerini alır.

{% hint style="warning" %}
Banka, ödemenin müşteri tarafından tamamlanmasını isteyebilir. Bu durumda fonksiyon, 3-D Secure kimlik doğrulamasını geçme isteği içeren bağlantıyı döndürür.
{% endhint %}

## Sonuç nasıl işlenir

Müşterinin eylemlerine yanıt olarak bot'a, gizli anahtarın ilk 20 karakterinden ve işlem türü ile sonucuna bağlı bir son ekten oluşan callback'ler gelir.

Sistemde callback, kullanıcıdan gelen bir mesaj gibi görünür; ancak kullanıcının kendisi bunu görmez.

### Ödemeler için

Aboneliğe ait olmayan bir ödeme sonucunda size şu mesajlardan biri gelir:

<mark style="color:yeşil;">**anahtarNumarası\_success**</mark> - başarılı ödeme durumunda;

<mark style="color:kırmızı;">**anahtarNumarası\_fail**</mark> - başarısız ödeme durumunda;

Son ödemenin durumu ayrıca bepaid\_payment\_completed (müşteri katılımlı ödemeler için) ve bepaid\_token\_payment\_completed (kart tokeni ile onaysız ödemeler için) değişkenleri üzerinden de izlenebilir

### Abonelikler için

Aboneliğin ilk veya tekrar eden ödemede başarıyla etkinleştirilmesinden sonra bot'a şu mesaj gelir <mark style="color:yeşil;">**anahtarNumarası\_success**</mark>.

Abonelik iptal edilmişse, şunu alırsınız <mark style="color:turuncu;">**anahtarNumarası\_canceled**</mark>.

Abonelik ödemesi başarısız olursa, size şu mesaj gelir *<mark style="color:kırmızı;">**anahtarNumarası**</mark>*<mark style="color:kırmızı;">\_fail.</mark>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.mavibot.ai/doc/tr/integrations/payment/bepaid/bepaid-ru.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
