> For the complete documentation index, see [llms.txt](https://docs.mavibot.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.mavibot.ai/doc/tr/integrations/payment/prodamus-blr.md).

# Prodamus (BLR)

{% hint style="success" %}
Yalnızca "İnfobiz" tarifesinde kullanılabilir.
{% endhint %}

## Prodamus nasıl bağlanır

Prodamus'u bağlamak için ödeme formu URL'si ve gizli anahtara ihtiyacınız olacak.

<mark style="color:yeşil;">**Ödeme formu URL'si**</mark> kayıttan sonra alırsınız, o <mark style="color:yeşil;">**şu şekildedir: demo.payform.ru**</mark>

Gizli anahtarı kişisel hesabınızdan alabilirsiniz; bildirimler için URL adresini de oraya girmeniz gerekir.

<div data-with-frame="true"><figure><img src="/files/c6e8e1110b83a8bbf190de08a496e88736567689" alt=""><figcaption><p>Ödeme sisteminin "Prodamus" kişisel hesabındaki form ayarlarında gizli anahtar</p></figcaption></figure></div>

Nasıl yapılacağına dair ayrıntılı talimat: <https://help.prodamus.ru/payform.ru-onlain-oplaty/prochee/url-dlya-uvedomlenii-i-sekretnyi-klyuch>

Bildirim adresi: **<https://chatter.salebot.pro/prodamus\\_callback/result>**

Bu adresi ayarlara iki yerde girmeniz gerekir.

Ana ayarlar sayfasında form çalışma modu seçilebilir: ödemesiz demo modu veya ödeme modu:

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

Bildirim adresi, ödeme sisteminin ayarlarında iki yerde belirtilmelidir: Form Ayarı sekmesi - normal ödemeler için ve Abonelikler sekmesi - abonelik ödemeleri için.&#x20;

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

Bildirim adresi: **`https://chatter.salebot.pro/prodamus_callback/result`**

Ayarlamak için **abonelik ödemeleri**  Abonelikler sekmesine gidin ve bildirim adresini girin: <https://chatter.mavibot.ai/prodamus\\_callback/result>

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

{% hint style="warning" %}
Dikkat! URL girdikten sonra mutlaka «Kaydet» düğmesine basın.
{% endhint %}

Prodamus'u bağlamak için "Tahsilat" bölümüne gitmeniz gerekir

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

Ardından, yukarıda konuştuğumuz bilgileri forma belirtmeniz yeterlidir:

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

{% hint style="warning" %}
**ÖNEMLİ!** ödeme formu URL'si https\:// olmadan girilir&#x20;
{% endhint %}

Bağlantı bu kadar. Şimdi bu özelliğin nasıl kullanılacağını inceleyelim.

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

{% hint style="success" %}
Blokta ödeme bağlantısı oluşturulabilir **AŞAĞIDAKİLERDEN BİRİYLE** mevcut yöntemlerden:

* [Ödeme işlevli düğme ](#knopka-s-funkciei-oplata)veya
* [Hesaplayıcı'daki get\_prodamus\_payment\_url işlevi](#funkciya-get_prodamus_payment_url-v-kalkulyatore) veya
* [payment\_sum değişkeni ve ek parametreler kullanarak bağlantı oluşturma](#sozdanie-ssylki-s-pomoshyu-peremennoi-payment_sum-i-dopolnitelnykh-parametrov) (eski, hâlâ çalışan sürüm)
  {% endhint %}

## Ödeme işlevli düğme

{% hint style="info" %}
[Ödeme bağlantısı, "Ödeme" işlevli bir düğmede oluşturulabilir. Böyle bir düğmenin nasıl oluşturulacağı bu makalede anlatılmıştır](/doc/tr/chatbot/builder/butonlar/odeme-butonu.md)
{% endhint %}

Bu düğmenin tüm olası parametrelerini inceleyelim.&#x20;

### **Prodamus için Ödeme düğmesinin zorunlu parametreleri**

Ödeme bağlantısı oluşturmak için düğme ayarlarında şu belirtilmelidir <mark style="color:kırmızı;">**zorunlu parametreler**</mark> "**Tutar**", "**Ürün adı**", ayrıca "**Ödenmiş içerik**", eğer sizde **kendi çevrimiçi kasanız yoksa** ve Prodamus'tan fiş almak istiyorsanız.&#x20;

Ödeme sayfasına geçtiğinizde, ürün ve fiyat bilgileri önceden doldurulmuş olacaktır; müşterinin yalnızca iletişim bilgilerini girmesi kalır.\n\nDüğme ayarlarında kullanıcının e-postası ve\veya telefon numarası belirtilirse, ödeme sayfasında ödeyen kişinin iletişim bilgileri ve ürün ile fiyat bilgileri gösterilir.

<div data-with-frame="true"><figure><img src="/files/a21bbb89499043a07a7c7a5cc2028b43c0f31bf4" alt="" width="563"><figcaption><p>Düğme ayarları penceresi</p></figcaption></figure></div>

**Metin alanı.** Bu metin, mesajdaki ödeme bağlantılı düğmede gösterilecektir

**İşlev alanı.** Ödeme bağlantısı vermek için düğme oluştururken Ödeme işlevini seçeriz

**Ödeme sistemi alanı.** Listede projeye bağlı ödeme sistemleri görüntülenir

{% hint style="warning" %}
Projeye ödeme sistemleri bağlı değilse bu tür düğmeler kullanılamaz
{% endhint %}

**Ürün adı alanı (zorunlu).** Bu alana ürünün adını girmeniz gerekir. Ürün adı ne kadar doğru girilirse o kadar iyidir. Örneğin: Telefon değil, Xiaomi akıllı telefon model …&#x20;

{% hint style="danger" %}
**YAPILMAMALI** kullanmak **çift tırnak** ürün adında: silin veya tek tırnakla değiştirin.&#x20;
{% endhint %}

**Tutar alanı (zorunlu).**  Bu alana ürünün fiyatını giriyoruz.&#x20;

**Ek Bilgi menüsü.** Bu düğmeye tıklayınca bağlantı oluşturmak için ek alanlar açılır

* Sipariş açıklaması
* Ruble cinsinden indirim
* Alıcının e-posta değişkeni
* Alıcının telefon numarası değişkeni
* Bağlantı ömrü
* Abonelik için ürün ID'si (otomatik ödemeler oluşturmak için)
* Ödenmiş içerik&#x20;

**Tıklama bildirimi onay kutusu.** Ödeme bağlantısına geçişi izlemek için kutucuğu işaretleyebilirsiniz. Bu durumda, düğmeye tıklandığında Salebot'ta müşteriyle yapılan diyaloğa, bağlantıya geçiş yapıldığına dair bir bildirim gelir

<div data-with-frame="true"><figure><img src="/files/ebaa57adf8b99ea44b163b5081220af5801c8403" alt="" width="431"><figcaption><p>Müşteri bağlantıdan geçtikten sonraki geri çağrı</p></figcaption></figure></div>

Bu bildirime botun sonraki çalışma mantığı ayarlanabilir.&#x20;

{% hint style="info" %}
Birçok ödeme sistemi, 54-FZ gereği gerekli olan bulut tabanlı çevrimiçi kasaları destekler.\nVergi dairesiyle tatsız bir durum yaşamamak için, seçilen ödeme sisteminin sitesindeki fiş düzenleme özelliklerini okuyun.
{% endhint %}

İşte düğmedeki bağlantıya gidildiğinde açılan ödeme sayfası böyle görünür:

<div data-with-frame="true"><figure><img src="/files/2d76588057ba358db23e51249271320c3cdb551e" alt="" width="563"><figcaption><p>Ödeme sayfası: düğmede yalnızca temel parametreler doldurulmuş</p></figcaption></figure></div>

### Ödeme bağlantısı oluşturmak için ek parametreler

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

**Sipariş açıklaması alanı.**  Bu alanda belirtilen bilgi, ödeme sayfasında Ek veriler alanında görüntülenecektir

**İndirim alanı.** Bu alana ruble cinsinden ya da kuruşlu ruble miktarını girebilirsiniz. Kuruşlu tutar belirtmek için ayırıcı olarak noktayı kullanırız: 50.99\nÖdeme sayfasında Ödenecek Tutar alanında indirim dikkate alınmış olarak gösterilecek, ürünün asıl fiyatı ise üzeri çizili olacaktır.&#x20;

**Alıcının e-posta değişkeni alanı** (isteğe bağlı, Telefon Numarası gönderildiyse) Bu alana kullanıcının (müşterinin) e-postası yazılır. Kullanıcının e-postasının saklandığı değişken belirtilebilir.&#x20;

Örneğin, #{email}

**Alıcının telefon numarası değişkeni alanı** (isteğe bağlı, E-posta gönderildiyse). Bu alanda, alıcının telefon numarasının 79000000000 biçiminde yazılı olduğu değişken belirtilebilir\nÖrneğin, #{phone}

{% hint style="danger" %}
E-posta ve/veya telefon mutlaka bulunmalıdır
{% endhint %}

**Bağlantı ömrü alanı.** gg.aa.yyyy ss:dd formatında tarih belirtilebilir (örneğin 25.01.2021 11:00) veya bağlantının geçerlilik süresini belirlemek için değişkenler kullanılabilir. \nDeğişken kullanım örneği: `#{link_expired}`

**abonelik için ürün ID'si alanı.**  Otomatik ödeme gerçekleştirmek için ürün ID değerini iletin. Abonelik oluşturmak için abonelik ürünü oluşturmanız gerekir.&#x20;

Abonelik ürünü nasıl oluşturulur detaylı talimat: <https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski>

{% hint style="danger" %}
Abonelik için ürün ID değeri iletilirse ödeme tutarı dikkate alınmaz. Ürün bilgileri Prodamus panelindeki ürün kartından alınacaktır
{% endhint %}

Ödemede belirtilen telefon numarası, aboneliği yönetmek için gerekli olacaktır.

{% hint style="warning" %}
Eğer iletirseniz **abonelik ürünü ID'si**o zaman başarılı ödeme geri çağrısında bu ürünün ID'si iletilecektir
{% endhint %}

**Ödenmiş içerik alanı** (koşullu zorunlu). Kendi çevrimiçi kasanız yoksa Prodamus aracılığıyla ödemelerin fişlendirilmesi için bu bilgiler gerekir. Bu alana satın alma açıklaması, fiyatı ve içeriğin bulunduğu kaynağa bağlantı girilmelidir.&#x20;

*Örneğin*: *Örnek 'Saç örgüsü kursu', fiyatı 3000 ruble, kurs sayfası bağlantısı:* [*https://nbu.su/krasota/master-po-pleteniyu-kos/?yclid=13602995275739430911*](https://nbu.su/krasota/master-po-pleteniyu-kos/?yclid=13602995275739430911).&#x20;

Bu veriler FNS'ye aktarım için gereklidir.

#### Ödeme işlevli düğme

Bağlantının geçerlilik süresini belirtirseniz, durumda

1. Kullanıcı, geçerlilik süresi içinde ödeme bağlantısını istediğinde (yani geçerlilik süresi henüz dolmamışken) ve bu bağlantı diyalogda varsa, ödeme yapamaz ve şu tür bir bildirim alır:

<div data-with-frame="true"><figure><img src="https://lh7-rt.googleusercontent.com/docsz/AD_4nXcA1KJHoyMF5WmLMZiJPJrQEGJs79zxoXK5U3E9k4mVus-Fg0tI-djr6QTagp5ulwposSxmJ-aq8trUQOslQyE0UeaREuM6-T5Ongn-E5tACdVmypFXBtgOJDmVvHRgOdATChhnBQ?key=OB7qKicH0kn-_i_EzQLdRA" alt=""><figcaption></figcaption></figure></div>

{% hint style="warning" %}
Bağlantının geçerlilik süresi mevcut tarihten daha ileri olmalıdır; aksi halde müşteri böyle bir bağlantıyla ödeme yapamaz.&#x20;
{% endhint %}

2\. Kullanıcı bağlantıyı istediğinde ve bağlantı zaten etkin değilse\nBu durumda düğme yalnızca görünmez. Ve müşteri değişkenlerinde "error\_payment\_button" adlı değişken oluşur; içinde şu değer bulunur: "Hata: Bağlantının geçerlilik süresi mevcut tarihten daha ileri olmalıdır".

{% hint style="success" %}
Kullanıcının doğru ödeme yapabilmesi için böyle bir durumu ayrıca işlemeniz önerilir.&#x20;
{% endhint %}

Bu nasıl yapılır?

Benzer bir bildirim geldiyse, error\_payment\_button == "Hata: Bağlantının geçerlilik süresi mevcut tarihten daha ileri olmalıdır" şeklinde belirteceğiniz koşullu bir blok oluşturun&#x20;

Metin çıktısı olarak: "Üzgünüz, yetişemediniz ve ödeme bağlantısı artık geçersiz":

<div data-with-frame="true"><figure><img src="/files/1aabd3fa98a7b9d3d51dedc2aad087e3358156f0" alt=""><figcaption><p>"Müşteriler" bölümündeki diyalog</p></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/09f2af2e4467f496129d635d04fbda27adaa8670" alt=""><figcaption><p>"Başlangıç koşulu" bloğu ayarı</p></figcaption></figure></div>

### Ödeme işlevli düğme kullanıldığında otomatik oluşturulacak müşteri değişkenleri

Kullanıcı "Ödeme" düğmeli bloğu aldığında, müşteri değişkenleri otomatik olarak oluşturulacaktır:

Sistem değişkeni **`__payments`** , bu değişken oluşturulan bağlantının tutarını ve kimliğini saklar, ödeme sisteminden gelen webhook'u tanımlamak için gereklidir.

{% hint style="danger" %}
Sistem değişkeni \_\_payments SİLİNEMEZ veya DEĞİŞTİRİLEMEZ!
{% endhint %}

Müşteri değişkeni **`error_payment_button`** blok oluşturulurken hata oluşursa yaratılır.

error\_payment\_button değişkeninin değerine ya hata metni ya da ödeme sisteminden gelen hata yanıtı yazılır.

{% hint style="warning" %}
Değişkenlerin değerleri sonraki bloğa geçildiğinde güncel hale gelir&#x20;
{% endhint %}

### Sonuç nasıl işlenir

**Başarılı ödeme.**

Başarılı ödemeden sonra botta <mark style="color:turuncu;">**OTOMATİK OLARAK**</mark> ödeme sisteminden gelen GERİ ÇAĞRI, ödeme sisteminin gizli anahtarının ilk 10 karakteri, \_success kelimesi ve boşlukla ayrılmış ödeme tutarından oluşur. \
\&#xNAN;*Ayar şemalarında kullanmak için onu kopyalamanız yeterli.*&#x20;

Örneğin: `ovg58keefc_success 44`burada:&#x20;

ovg58keefc : ödeme sisteminin gizli anahtarının ilk 10 karakteri

\_success : isteğin işlenme sonucu (başarılı ödeme)

44 : ödeme tutarı

{% hint style="info" %}
Ödeme sisteminden gelen geri çağrıları (bildirimleri) kullanıcı GÖRMEZ. Bunlar yalnızca Müşteriler sekmesinde görünür ve operatör tarafından görülebilir.
{% endhint %}

Kullanım örneği:\n1. adım. "Ödeme düğmeli" blokta Ödeme işlevli düğmeler ekliyoruz.&#x20;

2\. adım. Bu bloktan "Başarılı ödeme" bloğuna giden bağlantının Koşul alanında geri çağrıyı belirtiriz. Aynı şekilde, "Başlangıç koşulu" bloğunun Koşul alanında başarılı ödeme geri çağrısını belirtirseniz de çalışır.

{% hint style="warning" %}
Önemli: Tam eşleşme veya Anahtar kelime varlığı eşleştirmesi seçimi
{% endhint %}

❗️Eğer ödemeyi tam olarak koşullu ok üzerindeki yerde kontrol etmeye karar verirseniz, şemanızın mantığını iyi düşünün. Müşteri, içinde geri çağrı bulunan koşullu geçişe sahip bloktan ayrılırsa, bloğa geçiş olmayacaktır. Bu kontrol yöntemini yalnızca müşteri hunideki konumunu (şemadaki yerini) değiştirmiyorsa kullanmak mantıklıdır. \nMüşterinin bloklar arasında hareket ettiği şemalarda, "Başlangıç koşulu" bloğunda geri çağrıyı belirtme seçeneğini kullanmak daha iyidir. <br>

<div data-with-frame="true"><figure><img src="/files/c433c8c45dcfbb688ea87367291588958f0f0f16" alt=""><figcaption><p>Bloğun Koşul alanındaki başarılı ödeme geri çağrısı.</p></figcaption></figure></div>

#### **Otomatik aboneliğe sahip ürünler için başarılı ödeme.**&#x20;

Başarılı ödemeden sonra botta <mark style="color:turuncu;">**OTOMATİK OLARAK**</mark> ödeme sisteminin gizli anahtarının ilk 10 karakteri, \_success kelimesi ve <mark style="color:yeşil;">**boşlukla ayrılmış abonelik ürün ID'si**</mark>

Örneğin: `214009eefc_success 618117`burada:&#x20;

`009eefc` : ödeme sisteminin gizli anahtarının 10 karakteri

\_success : isteğin işlenme sonucu (başarılı ödeme)

`618117`: abonelik ürününün ID'si

<div data-with-frame="true"><figure><img src="/files/ec1849078451b74fe33850e4690bcefe86541e1c" alt=""><figcaption><p>Otomatik abonelikli ürünler için Prodamus'tan gelen geri çağrı örneği</p></figcaption></figure></div>

**Hatalı ödeme**

<mark style="color:mavi;">**Ödeme gerçekleştirme hatası durumunda**</mark> bota <mark style="color:turuncu;">**OTOMATİK OLARAK**</mark> ödeme sisteminin gizli anahtarının 10 karakteri, \_fail kelimesi ve boşlukla ayrılmış ödeme tutarından oluşan GERİ ÇAĞRI gelir

Örneğin, `ovg58keefc_fail 44` burada

`ovg58keefc` : ödeme sisteminin gizli anahtarının 10 karakteri

`_fail` : isteğin işlenme sonucu - ödeme yapılmadı veya hata oluştu.&#x20;

`44` : ödeme tutarı

{% hint style="warning" %}
Ödeme sistemine bağlıdır. Tüm ödeme sistemleri ödeme hatası geri çağrısı göndermez.
{% endhint %}

Düğme ayarlarında belirtilen tutar <mark style="color:mavi;">**müşterinin ödediği tutardan farklıysa**</mark>, o zaman <mark style="color:turuncu;">**OTOMATİK OLARAK**</mark> ödeme sisteminin gizli anahtarının 10 karakteri, \_different\_amounts kelimesi ve boşlukla ayrılmış benzersiz ödeme ID'sinden oluşan GERİ ÇAĞRI gelir

Örneğin: `ovg58keefc_different_amounts 123456` burada:&#x20;

`ovg58keefc` : ödeme sisteminin gizli anahtarının 10 karakteri

`_different_amounts` : isteğin işlenme sonucu (ödeme tutarı bağlantıdaki tutardan farklı)

`123456` : benzersiz ödeme ID'si

## Hesaplayıcı'daki get\_prodamus\_payment\_url işlevi

Ödeme bağlantısı oluşturmak için şu işlevi kullanabilirsiniz `get_prodamus_payment_url` Hesaplayıcı bloğunda.

Hesaplayıcı alanında değişkene işlevin değerini atarız `get_prodamus_payment_url`&#x20;

{% hint style="info" %}
Değişken adını kendiniz belirlersiniz. Ekranlarda değişken adlarına örnekler verilmiştir.&#x20;
{% endhint %}

Bu değişkene ödeme bağlantısı yazılır. Değişken mesajda bağlantı olarak ekrana çıkarılabilir veya "Öde" metinli düğmeye yerleştirilebilir.&#x20;

**ÖDEME bağlantısı ÖRNEĞİ:** <https://payform.ru/7p3JR8/>

{% tabs %}
{% tab title="Hesaplayıcı" %}
Örnek 1:

<figure><img src="/files/d7ac19a24afccf46b15d965a1e346cf99ab39ed7" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Parametre açıklaması" %}
`sizin_değişkeniniz =`` `**`get_prodamus_payment_url(amount, product_name, expired, customer_phone, customer_email, discount, description, extra_params, products_for_receipt)`**

**İşlev parametreleri:**

<table><thead><tr><th width="253">Parametre</th><th>Parametre değeri</th></tr></thead><tbody><tr><td><strong><code>amount</code></strong></td><td>ödenecek tutar. Tam sayı veya noktalı sayı değeri geçilebilir. Örneğin 25 veya 52.5  <mark style="color:yeşil;">(zorunlu parametre)</mark> </td></tr><tr><td><strong><code>product_name</code></strong></td><td>Ürün adı. <mark style="color:yeşil;">(zorunlu parametre)</mark></td></tr><tr><td><strong><code>expired</code></strong></td><td><p>ödeme bağlantısının geçerlilik süresi, şu formatta <strong>gg.aa.yyyy</strong> (örneğin 25.01.2021). Ayrıca "Hesaplayıcı<em>"</em> belirtilebilir: <em>expired = current_date + 2</em> (bağlantı 2 gün boyunca 00:00'a kadar geçerli olacaktır).  <code>expired</code> ayrıca tam saatli tarih, boşlukla ayrılarak şu formatta belirtilebilir <strong>gg.aa.yyyy ss:dd</strong> (örneğin: <em>25.01.2021 12:23</em>). Ayrıca standart değişkenleri de kullanabilirsiniz; örneğin bağlantı süresini 30 dakika olarak belirleyelim: </p><p><code>time = current_time + 30\nexpired = "#{current_date} #{time}"</code><br><br>Bu parametreyi atlamak için, onun yerine tek ya da çift tırnak çifti veya None değeri gönderin</p></td></tr><tr><td><strong><code>customer_phone</code></strong></td><td>alıcının telefon numarası, şu parametre gönderildiyse zorunlu değildir <code>customer_email</code> Bu parametreyi atlamak için, onun yerine tek ya da çift tırnak gönderin.</td></tr><tr><td><strong><code>customer_email</code></strong></td><td>alıcı e-postası, şu parametre gönderildiyse zorunlu değildir <code>customer_phone</code> Bu parametreyi atlamak için, onun yerine tek ya da çift tırnak gönderin.</td></tr><tr><td><strong><code>discount</code></strong></td><td>indirim tutarı. Parametre olarak sayı veya noktalı sayı gönderilir: 25 veya 63.5   Bu parametreyi atlamak için, onun yerine tek ya da çift tırnak gönderin.</td></tr><tr><td><strong><code>description</code></strong></td><td>ürün açıklaması (belirtilmezse 'Fatura ödemesi order_id' ile doldurulur) Bu parametreyi atlamak için, onun yerine tek ya da çift tırnak gönderin.</td></tr><tr><td><strong><code>extra_params</code></strong></td><td><p>bu işlevde olmayan ek parametreler.\nOlası ek parametreleri ödeme sisteminin API dokümantasyonundaki bağlantıdan görebilirsiniz <a href="https://help.prodamus.ru/payform/integracii/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov">https://help.prodamus.ru/payform/integracii/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov</a><br><br>Örnek: extra_params = {"payments_limit": "3", "payment_method": "vsegdada_installment_0_0_6"}<br></p><p><em>Bu parametreyi atlamak için, onun yerine tek/çift tırnak çifti veya None değeri gönderin.</em></p></td></tr><tr><td><strong><code>products_for_receipt</code></strong> </td><td><p><strong>50 ila 4000 karakter arası, şu formatta dize</strong> "sipariş açıklaması - maliyet - satın alınan kaynağa bağlantı”. </p><p>Örneğin:</p><p>“‘Çipura avlama’ kursu, fiyatı 4999 ruble, kurs sayfası bağlantısı: https://www.lovilescha.ru/courses/poimai_kilogram/". <strong>Zorunlu</strong>, eğer kendi çevrimiçi kasanız yoksa, Prodamus üzerinden ödemelerin fişlenmesi için.</p></td></tr></tbody></table>
{% endtab %}

{% tab title="Kopyalamak için örnek kod" %}
**extra\_params** = {<mark style="color:kırmızı;">"payments\_limit"</mark>: <mark style="color:kırmızı;">"3"</mark>}&#x20;

**products\_for\_receipt** = "<mark style="color:kırmızı;">‘Çipura avlama’ kursu</mark>, <mark style="color:kırmızı;">fiyatı 4999 ruble</mark>, <mark style="color:kırmızı;">kurs sayfası bağlantısı: <https://www.lovilescha.ru/courses/poimai\\_kilogram/>"</mark>&#x20;

**link\_prodamus\_url** = get\_prodamus\_payment\_url(<mark style="color:mavi;">4999</mark>, <mark style="color:kırmızı;">'‘Çipura avlama’ kursu'</mark>, <mark style="color:kırmızı;">'27.03.2023 17:00', '79167777771'</mark>, <mark style="color:kırmızı;">'<mail@mail.com>'</mark>, <mark style="color:mavi;">20</mark>, <mark style="color:kırmızı;">'piyasadaki en iyi kurs'</mark>, extra\_params, products\_for\_receipt)
{% endtab %}
{% endtabs %}

{% hint style="warning" %}
Blokta bağlantı almak için birden fazla işlev varsa ve hata oluşursa, hata değeri değişkende yazılır  **`error_payment_func`**

\
Hata sonuncu Hesaplayıcıdaki işlevde
{% endhint %}

## payment\_sum değişkeni ve ek parametreler kullanarak bağlantı oluşturma

{% hint style="info" %}
Dikkat: değişken **payment\_sum** zorunlu olmayan değişkenlerden sonra son değeri alır **payment\_description, product\_name** vb.&#x20;
{% endhint %}

Ödeme bağlantısı oluşturmak için, Hesaplayıcı alanında değişkenin değerini ayarlamanız yeterlidir **payment\_sum.** Hemen ardından değişken oluşur **prodamus\_pay\_url**.&#x20;

**ÖDEME bağlantısı ÖRNEĞİ:**: <https://payform.ru/7p3JR8/>

Bu değişkeni mesajda bağlantı olarak ekrana çıkarabilir veya "Öde" metinli düğmeye yerleştirebilirsiniz.&#x20;

Değişken ilan edilmeden önce **payment\_sum** şu isteğe bağlı değişkenler de belirtilebilir:&#x20;

| İşlev parametreleri        | Parametre açıklaması                                                                                                                                                                                                                                                                                                                                                                                                                          |
| -------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **product\_name**          | ürün adı (belirtilmezse 'Fatura ödemesi order\_id' ile doldurulur) - aşağıdaki ekran görüntüsünde nerede gösterildiği belirtilmiştir                                                                                                                                                                                                                                                                                                          |
| **payment\_description**   | ürün açıklaması (belirtilmezse 'Fatura ödemesi order\_id' ile doldurulur, aşağıdaki ekran görüntüsü) - aşağıdaki ekran görüntüsünde nerede gösterildiği belirtilmiştir                                                                                                                                                                                                                                                                        |
| **discount\_value**        | indirim tutarı (örneğin discount\_value = 25 veya discount\_value = 50.25)                                                                                                                                                                                                                                                                                                                                                                    |
| **customer\_phone**        | alıcının telefon numarası, şu parametre gönderildiyse zorunlu değildir                                                                                                                                                                                                                                                                                                                                                                        |
| **customer\_email**        | alıcı e-postası                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **link\_expired**          | ödeme bağlantısının geçerlilik süresi, şu formatta **gg.aa.yyyy** (örneğin 25.01.2021). Ayrıca "*Hesaplayıcı"* belirtilebilir: *link\_expired = current\_date + 2* (bağlantı 2 gün boyunca 00:00'a kadar geçerli olacaktır)                                                                                                                                                                                                                   |
| **link\_expired**          | <p>ayrıca tam saatli tarih, boşlukla ayrılarak şu formatta belirtilebilir <strong>gg.aa.yyyy ss:dd</strong> (örneğin: <em>25.01.2021 12:23</em>). Ayrıca standart değişkenleri de kullanabilirsiniz; örneğin bağlantı süresini 30 dakika olarak belirleyelim: </p><p>time = current\_time + 30\nlink\_expired = "#{current\_date} #{time}"</p>                                                                                                |
| **currency**               | <p>ödeme para birimi, varsayılan olarak "rub". \nParametrelerin tam listesi: </p><p>rub</p><p>usd</p><p>eur</p><p>kzt\nBu parametre küçük harfle iletilmelidir.</p>                                                                                                                                                                                                                                                                           |
| **payment\_title**         | ödeme başlığı (127 karaktere kadar). Belirtilmezse şu metinle doldurulur: “Fatura ödemesi payment\_id” (payment\_id - Salebot'taki sipariş kimliği)                                                                                                                                                                                                                                                                                           |
| **payment\_description**   | ödemenin kısa açıklaması (127 karaktere kadar)                                                                                                                                                                                                                                                                                                                                                                                                |
| **locale**                 | ödeme sayfasının dili, en-US, fr-XC vb. biçiminde belirtilir. Varsayılan - ‘ru-Ru’. Tam liste şu bağlantıda mevcuttur <https://developer.paypal.com/api/rest/reference/locale-codes/>                                                                                                                                                                                                                                                         |
| **products\_for\_receipt** | <p><strong>50 ila 4000 karakter arası, şu formatta dize</strong> "sipariş açıklaması - maliyet - satın alınan kaynağa bağlantı”. </p><p>Örneğin:</p><p>“‘Çipura avlama’ kursu, fiyatı 4999 ruble, kurs sayfası bağlantısı: <https://www.lovilescha.ru/courses/poimai_kilogram/>". </p><p><mark style="color:kırmızı;"><strong>Zorunlu</strong></mark>, eğer kendi çevrimiçi kasanız yoksa, Prodamus üzerinden ödemelerin fişlenmesi için.</p> |
| **payment\_sum**           | (zorunlu) ödeme tutarı                                                                                                                                                                                                                                                                                                                                                                                                                        |

<div data-with-frame="true"><img src="https://lh3.googleusercontent.com/3FazAmQkph5i0_iKy4G_HNerzVQP9Bg3_PRB_5rHZQ6vAZB_1Hxv1imi3gJCl7pU_GY7eAiiwZExJA-i4Ps5PgSJt7OXKbSL-GT27gWca_u7rFM8YEsNJ7Z-VVXTAR-jSw_-p2I0" alt=""></div>

{% hint style="success" %}
Değişkenler **discount\_value**, **customer\_phone**, **customer\_email** ve **link\_expired** abonelikler için de geçerlidir.
{% endhint %}

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

Uygulama örneği.

İlk blokta ödeme tutarını belirliyoruz:

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

Sonra gerekli yerde url'yi, prodamus\_pay\_url bağlantısını gösteriyoruz:

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

**prodamus\_available\_payment\_methods** payment\_sum ilan edilmeden önce tanımlanır.

Olası değerler: &#x20;

<table><thead><tr><th width="323"></th><th></th></tr></thead><tbody><tr><td><strong>AC</strong></td><td>Rusya Federasyonu'nda çıkarılan kartla ödeme </td></tr><tr><td><strong>ACkz</strong> </td><td>Kazakistan kartıyla ödeme </td></tr><tr><td><strong>ACf</strong></td><td>Rusya hariç BDT ülkelerinin kartlarıyla ödeme</td></tr><tr><td><strong>ACEURNMBX</strong></td><td>RF ve RB hariç tüm ülkelerin EUR kartıyla ödeme </td></tr><tr><td><strong>SBP</strong></td><td>Kart bilgisi girmeden hızlı ödeme. RF kartları için </td></tr><tr><td><strong>QW</strong> </td><td>Qiwi cüzdanı </td></tr><tr><td><strong>PC</strong></td><td>Юmoney </td></tr><tr><td><strong>GP</strong></td><td>ödeme terminali </td></tr><tr><td><strong>sbol</strong></td><td>Sberbank Online <strong>fatura</strong> - Fatura ile ödeme <strong>taksit</strong> - Prodamus ile taksitli </td></tr><tr><td><strong>installment_5_21</strong></td><td>Prodamus ile 3 aylık taksit </td></tr><tr><td><strong>installment_6_28</strong></td><td>Prodamus ile 6 aylık taksit </td></tr><tr><td><strong>installment_10_28</strong></td><td>Prodamus ile 10 aylık taksit </td></tr><tr><td><strong>installment_12_28</strong> </td><td>Prodamus ile 12 aylık taksit <strong>installment_0_0_3</strong> - Tinkoff'tan 3 aylık taksit</td></tr><tr><td><strong>installment_0_0_4</strong> </td><td>Tinkoff'tan 4 aylık taksit </td></tr><tr><td><strong>installment_0_0_6</strong></td><td>Tinkoff'tan 6 aylık taksit </td></tr><tr><td><strong>installment_0_0_10</strong></td><td>Tinkoff'tan 10 aylık taksit</td></tr><tr><td><strong>installment_0_0_12</strong></td><td>Tinkoff'tan 12 aylık taksit</td></tr><tr><td><strong>installment_0_0_24</strong> </td><td>Tinkoff'tan 24 aylık taksit</td></tr><tr><td><strong>installment_0_0_36</strong></td><td>Tinkoff'tan 36 aylık taksit </td></tr><tr><td><strong>kredi</strong> </td><td>Tinkoff kredisi</td></tr><tr><td><strong>vsegdada_installment_0_0_4</strong></td><td>ВсегдаДа'dan 4 aylık taksit (available_payment_methods ile çalışmaz) </td></tr><tr><td>vs<strong>egdada_installment_0_0_6</strong></td><td>ВсегдаДа'dan 6 aylık taksit</td></tr><tr><td><strong>vsegdada_installment_0_0_10</strong></td><td>ВсегдаДа'dan 10 aylık taksit</td></tr><tr><td><strong>vsegdada_installment_0_0_12</strong></td><td>Ücretsiz olarak 12 aylık ВсегдаДа taksiti</td></tr><tr><td>vs<strong>egdada_installment_0_0_24</strong></td><td>ВсегдаДа'dan 24 aylık taksit</td></tr><tr><td><strong>vsegdada_installment_0_0_36</strong> </td><td>ВсегдаДа'dan 36 aylık taksit</td></tr><tr><td><strong>sbrf_installment_0_0_6</strong></td><td>SberBank'tan 6 aylık taksit </td></tr><tr><td><strong>sbrf_installment_0_0_10</strong></td><td>SberBank'tan 10 aylık taksit</td></tr><tr><td><strong>sbrf_installment_0_0_12</strong></td><td>SberBank'tan 12 aylık taksit</td></tr><tr><td><strong>sbrf_installment_0_0_24</strong></td><td>SberBank'tan 24 aylık taksit</td></tr><tr><td><strong>sbrf_installment_0_0_36</strong> </td><td>SberBank'tan 36 aylık taksit</td></tr><tr><td><strong>otp_installment_0_0_6</strong></td><td>“OTP Bank”tan 6 aylık taksit</td></tr><tr><td><strong>otp_installment_0_0_10</strong></td><td>“OTP Bank”tan 10 aylık taksit</td></tr><tr><td><strong>otp_installment_0_0_12</strong> </td><td>“OTP Bank”tan 12 aylık taksit</td></tr><tr><td><strong>otp_installment_0_0_24</strong></td><td>“OTP Bank”tan 24 aylık taksit</td></tr><tr><td><strong>otp_installment_0_0_36</strong></td><td>“OTP Bank”tan 36 aylık taksit</td></tr><tr><td><strong>mts_installment_0_0_6</strong></td><td>“MTS Bank”tan 6 aylık taksit</td></tr><tr><td><strong>mts_installment_0_0_10</strong> </td><td>“MTS Bank”tan 10 aylık taksit</td></tr><tr><td><strong>mts_installment_0_0_12</strong> </td><td>“MTS Bank”tan 12 aylık taksit</td></tr><tr><td><strong>mts_installment_0_0_24</strong></td><td>“MTS Bank”tan 24 aylık taksit</td></tr><tr><td> <strong>mts_installment_0_0_36</strong> </td><td>“MTS Bank”tan 36 aylık taksit</td></tr><tr><td><strong>monetaworld</strong></td><td>RF hariç tüm dünya bankalarının kartları </td></tr><tr><td><strong>sbrf_bnpl</strong></td><td>Sber'den taksitli</td></tr></tbody></table>

Dikey çizgiyle ayırarak birden fazla değer gönderilebilir. \
Örneğin: prodamus\_available\_payment\_methods = "AC|PC|QW"

**prodamus\_currency** - belirli bir para biriminde tutar göndermek için ek bir parametre.\
Olası para birimi değerleri: \
**kzt** - tenge için \
**eur** - euro için \
**usd** - dolar için

Böylece bağlantıda belirtilen tutar belirtilen para biriminde olacaktır.

Callback alındığında **payment\_callback** şu parametreye göre hareket etmelisiniz **currency** ve **currency\_sum,** içinde para birimi ve para birimindeki tutar bulunacaktır.

{% hint style="warning" %} <mark style="color:kırmızı;">**Önemli!**</mark> Sayfanızda gerekli para biriminde ödeme yöntemi olup olmadığını kontrol edin; çünkü yoksa, ödeme yöntemleri olmayan sayfaya yönlendirme yapılır.\
Yöntemler destek üzerinden bağlanır. Etkin olanları sayfa ayarlarında görebilir veya ödeme bağlantısı oluşturarak kontrol edebilirsiniz
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/fdeef3242e153cd34e9994977b87f3a2e997cfa7" alt=""><figcaption><p>"Продамус" ödeme sistemi ödeme sayfası ayarları</p></figcaption></figure></div>

<div data-with-frame="true"><figure><img src="/files/2941091c06b501a20b3ac7cc68e4b42515034c66" alt=""><figcaption><p>Sayfanız için etkinleştirilen ödeme seçenekleri</p></figcaption></figure></div>

## Sonuç nasıl işlenir

### Başarılı ödeme

Önemli! Başarılı ya da başarısız ödemeden sonra bota, ödemenin başarılı olduğunu anlamanızı sağlayacak callback'ler gelir. Bu callback'leri sistemde kullanıcıdan gelen mesajlar olarak görürsünüz; kullanıcı bunları gönderemesin diye bunlar gizli anahtar ve durum eki içerir, örneğin: 453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b6&#x36;**\_success** veya 453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b6&#x36;**\_fail**. Ayrıca başarılı ödemeden sonra değişken **prodamus\_payment\_completed** şu değere ayarlanır **True**.

{% hint style="warning" %}
Dikkat! Callback'ler gecikmeli gelir, bu yüzden ödeme bağlantısını kullanıcıya gösterdikten sonra şu tür bir mesaj göndermenizi öneririz: “Ödemeden sonra başarılı ödeme tamamlandı mesajını bekleyin”
{% endhint %}

{% hint style="warning" %}
ÖNEMLİ!\
Ödeme butonu işleviyle veya Hesap Makinesi içindeki işlevle oluşturulan bağlantılar için, ödemeden sonra bota <mark style="color:turuncu;">**OTOMATİK OLARAK**</mark> ödeme sisteminin gizli anahtarının karakterlerinden, \_success kelimesinden ve bir boşlukla ayrılmış ödeme tutarından oluşan bir CALLBACK gelir. \
\&#xNAN;*Ayar şemalarında kullanmak için onu kopyalamanız yeterli.*&#x20;

Örneğin: `ovg58keefc_success`burada:&#x20;

ovg58keefc : gizli anahtar **tamamı**

\_success : isteğin işlenme sonucu (başarılı ödeme)
{% endhint %}

Örneğin, başarılı ödeme işlemi için bir koşul bloğu ile işleme yapabilir ve kullanıcıya uygun mesajı gösterebilirsiniz:

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

{% hint style="danger" %}
Karşılaştırma türü "**Tam eşleşme**"
{% endhint %}

{% hint style="warning" %}
Tekrar ödeme yapmak için daha önce oluşturulmuş payment\_sum bağlantısını mutlaka sıfırlamanız ve ancak ondan sonra fresh bağlantı almak için payment\_sum değişkenini yeniden atamanız gerekir&#x20;
{% endhint %}

### Aboneliği devre dışı bırakma/yeniden etkinleştirme

Ayrıca Продамус'ta aboneliğin etkinleştirilmesi/devre dışı bırakılmasıyla ilgili bildirimler vardır:

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

1. "Abone aboneliği devre dışı bıraktı" - abonelik manuel olarak iptal edilirse (örneğin abonelikten vazgeçtiyse).

Mevcut ödenmiş dönemin bitiminden önce gelebilir. Bu, sizin takdirinize bağlı bir eylem anlamına gelir - yok saymak veya kontrole almak, aboneyi geri kazanmaya çalışmak.

2. "Abone aboneliği yeniden etkinleştirdi" - aboneliğin geri yüklenmesi.&#x20;

Abone, mevcut ödenmiş dönemin bitiminden önce aboneliği yeniden etkinleştirirse gelebilir. Bu, sizin takdirinize bağlı bir eylem anlamına gelir - yok saymak veya geri dönüş izleme listesinden silmek.

3. "Aboneliğin devre dışı bırakılması" - abonelik birkaç başarısız tahsilattan sonra devre dışı bırakılırsa

### **Callback'ten değerler nasıl kaydedilir**

Başarılı ödeme bildirimi alındıktan sonra, müşterinin talebine (payment\_callback değişkeni) prodamus'tan alınan tüm ödeme verilerini içeren callback yazılır. Buradan gerekli verileri kaydedip kendi isteğinize göre kullanabilirsiniz. Callback örneği:

`{"date": "2021-03-30T11:44:43+03:00", "order_id": "757679", "order_num": "", "domain": "demo.payform.ru", "sum": "14.50", "customer_phone": "+77777777777", "customer_extra": "Burada ürün açıklaması", "payment_type": "Plastik kart Visa, MasterCard, МИР", "commission": "3.5", "commission_sum": "0.51", "attempt": "1", "discount_value": "10.5", "products[0][name]": "Eğitim materyallerine erişim", "products[0][price]": "14.50", "products[0][quantity]": "1", "products[0][sum]": "14.50", "payment_status": "success", "payment_status_description": "Başarılı ödeme", "payment_init": "manual"}`

Bağlantı oluşturulurken değişkenler belirtilebilir **product\_name** ve **payment\_description**. Böylece callback alındığında bunları şöyle çekebilirsiniz&#x20;

`product = get(payment_callback,'products[0][name]')`&#x20;

`description = get(payment_callback,'customer_extra')`

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

{% hint style="info" %}
Dikkat: değişken **payment\_sum** zorunlu olmayan değişkenlerden sonra son değeri alır **payment\_description, product\_name**
{% endhint %}

Tutar şu şekilde alınabilir\
`summa = get(payment_callback,'sum')`

### Hangi callback'ler kullanılabilir

Başarılı ödeme ile ilgili ana callback'lere ek olarak, kullanıcıyla yapılan sohbette kullanıcının görmediği ve şu metinlere sahip bir mesaj gösterilir:

1. Abone aboneliği devre dışı bıraktı ([daha fazla bilgi burada](#deaktivaciya-reaktivaciya-podpiski))
2. Abone aboneliği yeniden etkinleştirdi ([daha fazla bilgi burada](#deaktivaciya-reaktivaciya-podpiski))
3. Abonelik sona erdi
4. Başarısız ödeme - açıklamalı ek (yukarıdaki ekran görüntüsünde)
5. Yaklaşan tahsilat bildirimi - yaklaşan tahsilatın tarih ve saati
6. Şu statüde taksit başvurusu

Müşteriyle diyalogda callback örnekleri:&#x20;

* **Abone aboneliği devre dışı bıraktı**
* **Abone aboneliği yeniden etkinleştirdi**
* **Abonelik sona erdi**
* **Başarısız ödeme - Yetersiz bakiye.**
* **Başarısız ödeme - Kartın son kullanma tarihi dolmuş.**
* **Başarısız ödeme - Kart limiti aşıldı.**
* **Başarısız ödeme - Kart kayıp**
* **Başarısız ödeme - Sistem hatası**&#x20;
* **Başarısız ödeme - İşlem reddedildi. Kartı veren bankayla iletişime geçin.**&#x20;
* **Başarısız ödeme - İşlem, kartı veren banka tarafından reddedildi.**
* **Başarısız ödeme - İşlem banka tarafından reddedildi.**&#x20;
* **Yaklaşan tahsilat bildirimi - gg.aa.yyyy ss:dd**
* **Taksit başvurusu onaylandı**
* **Taksit başvurusu iptal edildi**
* **Taksit başvurusu reddedildi**

Hata açıklamasını daha ayrıntılı olarak burada okuyabilirsiniz:

{% embed url="<https://help.prodamus.ru/payform/integracii/tekhnicheskaya-dokumentaciya-po-avtoplatezham/kody-oshibok>" %}
Продамус: hata kodları
{% endembed %}

İsteğe bağlı olarak kullanıcıya bir mesaj gönderimi ayarlanabilir. Örneğin, otomatik tahsilatın başarısız olduğunu bildiren bir mesaj gönderelim.\
\
Şu bildirim için **belirli bir nedenden dolayı başarısız ödeme**için bir yanıt bloğu şu şekilde ayarlanabilir:

<div data-with-frame="true"><figure><img src="/files/2cf257dd0c5b263dd94cf29b949fe7f53e0078bb" alt=""><figcaption><p>Belirli bir nedene sahip Başarısız ödeme bildirimleri için blok örneği</p></figcaption></figure></div>

Mesaj göndermek için **nedenden bağımsız tüm başarısız tahsilatlar için**şu şekilde ayarlanabilir:

<div data-with-frame="true"><figure><img src="/files/86d3425c3a09159d28a2234b744735732d8dfea8" alt=""><figcaption><p>herhangi bir neden açıklamasıyla Başarısız ödeme bildirimleri için blok örneği</p></figcaption></figure></div>

Ve metin içeren tüm callback'ler için **Başarısız ödeme**kullanıcıya sizin belirttiğiniz metinle bir mesaj gönderilecektir.

## Abonelik ödemeleri nasıl oluşturulur

### Abonelik nasıl oluşturulur

Abonelik oluşturmak için abonelik ürünü oluşturmanız gerekir. Bunu nasıl yapacağınıza dair ayrıntılı talimat: <https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski>

Sonra abonelik ürününün id'sini kopyalıyoruz, aşağıda nereden alınacağı gösterilmiştir:

<div data-with-frame="true"><img src="https://lh5.googleusercontent.com/YuaI5KhrMPHNozN0JNOE9kD_Jcw7a8LE6GigaM0vrVtmsDBvlHvK8GCX5IcNvaJuSQE8iWWYl0KCgR5JpYpcp9Sa2531RGDYWVLjhE72ipScrpodUWeb4KDrECRbBhz4kO-3lMvs" alt="Abonelik ürünü oluşturma"></div>

Abonelik ödemesi için bağlantı oluşturmak üzere, değişkenin değerini (abonelik ürünü id'si) ayarlamanız gerekir **prodamus\_subscription**bunun hemen ardından değişken **prodamus\_pay\_url**.&#x20;

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

Değişkeni **prodamus\_pay\_url** ekranda bir bağlantı olarak gösterebilir veya "Öde" metinli butona yerleştirebilirsiniz. Bağlantı şu şekildedir: <https://payform.ru/7p3JR8/><br>

Sonucun işlenmesi, tek seferlik ödemedekiyle aynıdır (yukarıyı okuyun).

Başarılı abonelikten sonra kullanıcıya, ödeme sırasında girilen telefon numarası customer\_phone değişkeni eklenecektir. Telefon numarası aboneliği yönetmek için gereklidir.<br>

{% hint style="warning" %}
customer\_phone, customer\_email gönderilmediyse aboneliği yönetmek için gereklidir
{% endhint %}

### get\_prodamus\_subscription\_url fonksiyonuyla abonelik bağlantısı nasıl oluşturulur

Abonelik ürününün ödeme bağlantısını oluşturmanın başka bir yolunu inceleyelim.&#x20;

Prodamus panelinde abonelik ürünü oluşturuyoruz. Bunu nasıl yapacağınıza dair ayrıntılı talimat: <https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski>

Sonra abonelik ürününün id'sini kopyalıyoruz, aşağıda nereden alınacağı gösterilmiştir:

<div data-with-frame="true"><img src="https://lh5.googleusercontent.com/YuaI5KhrMPHNozN0JNOE9kD_Jcw7a8LE6GigaM0vrVtmsDBvlHvK8GCX5IcNvaJuSQE8iWWYl0KCgR5JpYpcp9Sa2531RGDYWVLjhE72ipScrpodUWeb4KDrECRbBhz4kO-3lMvs" alt="Abonelik ürünü oluşturma"></div>

Abonelik ürünü için ödeme bağlantısı almak için Hesap Makinesi'nde şu fonksiyonu belirtiyoruz&#x20;

`get_prodamus_subscription_url`(subscription\_id, product\_name, expired, customer\_phone, customer\_email, discount, description, extra\_params, products\_for\_receipt)

{% tabs %}
{% tab title="Hesaplayıcı" %}
Örnek 1: Abonelik ürünü için ödeme bağlantısı

<figure><img src="/files/607abf836895917a174006a4487c6f7a8136d657" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Parametre açıklaması" %}
`link = get_prodamus_subscription_url`(subscription\_id, product\_name, expired, customer\_phone, customer\_email, discount, description, extra\_params, products\_for\_receipt)

**İşlev parametreleri:**

<table><thead><tr><th width="253">Parametre</th><th>Parametre değeri</th></tr></thead><tbody><tr><td><strong><code>subscription_id</code></strong></td><td><strong>abonelik ürününün ID'si</strong>. ID, Prodamus panelinden kopyalanabilir  <mark style="color:yeşil;">(zorunlu parametre)</mark> </td></tr><tr><td><strong><code>product_name</code></strong></td><td>Ürün adı. <mark style="color:yeşil;">(zorunlu parametre)</mark></td></tr><tr><td><strong><code>expired</code></strong></td><td><p>ödeme bağlantısının geçerlilik süresi, şu formatta <strong>gg.aa.yyyy</strong> (örneğin 25.01.2021). Ayrıca "Hesaplayıcı<em>"</em> belirtilebilir: <em>expired = current_date + 2</em> (bağlantı 2 gün boyunca 00:00'a kadar geçerli olacaktır).  <code>expired</code> ayrıca tam saatli tarih, boşlukla ayrılarak şu formatta belirtilebilir <strong>gg.aa.yyyy ss:dd</strong> (örneğin: <em>25.01.2021 12:23</em>). Ayrıca standart değişkenleri de kullanabilirsiniz; örneğin bağlantı süresini 30 dakika olarak belirleyelim: </p><p><code>time = current_time + 30\nexpired = "#{current_date} #{time}"</code><br><br>Bu parametreyi atlamak için, onun yerine tek ya da çift tırnak çifti veya None değeri gönderin</p></td></tr><tr><td><strong><code>customer_phone</code></strong></td><td>alıcının telefon numarası, şu parametre gönderildiyse zorunlu değildir <code>customer_email</code> Bu parametreyi atlamak için, onun yerine tek ya da çift tırnak gönderin.</td></tr><tr><td><strong><code>customer_email</code></strong></td><td>alıcı e-postası, şu parametre gönderildiyse zorunlu değildir <code>customer_phone</code> Bu parametreyi atlamak için, onun yerine tek ya da çift tırnak gönderin.</td></tr><tr><td><strong><code>discount</code></strong></td><td>indirim tutarı. Parametre olarak sayı veya noktalı sayı gönderilir: 25 veya 63.5   Bu parametreyi atlamak için, onun yerine tek ya da çift tırnak gönderin.</td></tr><tr><td><strong><code>description</code></strong></td><td>ürün açıklaması (belirtilmezse 'Fatura ödemesi order_id' ile doldurulur) Bu parametreyi atlamak için, onun yerine tek ya da çift tırnak gönderin.</td></tr><tr><td><strong><code>extra_params</code></strong></td><td>bu işlevde olmayan ek parametreler.\nOlası ek parametreleri ödeme sisteminin API dokümantasyonundaki bağlantıdan görebilirsiniz <a href="https://help.prodamus.ru/payform/integracii/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov">https://help.prodamus.ru/payform/integracii/rest-api/instrukcii-dlya-samostoyatelnaya-integracii-servisov</a><br><br>Örnek: <code>extra_params = {"payments_limit": "3"}</code><br><br><em>Bu parametreyi atlamak için, onun yerine tek/çift tırnak çifti veya None değeri gönderin.</em></td></tr><tr><td><strong><code>products_for_receipt</code></strong> </td><td><p><strong>50 ila 4000 karakter arası, şu formatta dize</strong> "sipariş açıklaması - maliyet - satın alınan kaynağa bağlantı”. </p><p>Örneğin:</p><p>“‘Çipura avlama’ kursu, fiyatı 4999 ruble, kurs sayfası bağlantısı: https://www.lovilescha.ru/courses/poimai_kilogram/". </p><p><strong>Zorunlu</strong>, eğer kendi çevrimiçi kasanız yoksa, Prodamus üzerinden ödemelerin fişlenmesi için.</p></td></tr></tbody></table>
{% endtab %}

{% tab title="Kopyalamak için örnek kod" %}
**extra\_params** = {<mark style="color:kırmızı;">"payments\_limit"</mark>: <mark style="color:kırmızı;">"3"</mark>}&#x20;

**products\_for\_receipt** = <mark style="color:kırmızı;">"‘Çipura avlama’ kursu</mark>, <mark style="color:kırmızı;">aylık abonelik ücreti 2000 ruble</mark>, <mark style="color:kırmızı;">kurs sayfası bağlantısı: <https://www.lovilescha.ru/courses/poimai\\_kilogram/>"</mark>&#x20;

**link\_prodamus\_sub** = get\_prodamus\_subscription\_url(<mark style="color:mavi;">618988</mark>, <mark style="color:kırmızı;">'‘Çipura avlama’ kursu</mark>', <mark style="color:kırmızı;">'27.03.2023 17:02', '79167777771', '<mail@mail.com>'</mark>, <mark style="color:kırmızı;">20</mark>, <mark style="color:kırmızı;">'piyasadaki en iyi kurs'</mark>, extra\_params, products\_for\_receipt)
{% endtab %}
{% endtabs %}

{% hint style="warning" %}
Blokta bağlantı almak için birden fazla işlev varsa ve hata oluşursa, hata değeri değişkende yazılır  **`error_payment_func`**

\
Hata sonuncu Hesaplayıcıdaki işlevde
{% endhint %}

### Abonelik durumu nasıl yönetilir

{% hint style="info" %}
Yöntem yalnızca gerçek aboneliklerde çalışır, demo modunda kart eşleştirmesi yoktur
{% endhint %}

{% hint style="warning" %}
Aboneliği yönetmek için zorunlu parametrelerden biri olan customer\_phone veya customer\_email gönderilmelidir.
{% endhint %}

Kullanıcının abonelikten çıkmasını sağlamak için bir blok oluşturup şu fonksiyonu çağırmanız gerekir: **<https://store.salebot.pro/function/delete\\_subscription\\_prodamus>**

Parametrelerle:

**{**\
**"customer\_phone": "#{customer\_phone}",**\
**"id\_subscription":"#{prodamus\_subscription}",**\
**"url":"<https://demo.payform.ru/>", "secret\_key":"453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b66",**\
**"switcher":"0"**\
**"profile\_id":"12345"**\
**}**

**url** - kurucu ayarlarında belirtilen ödeme formu URL'si\
**secret\_key** - ayarlardaki gizli anahtar\
**id\_subscription** - abonelik ürününün id'si\
**customer\_phone** - abonenin telefon numarası\
**switcher** = 0 aboneliğin durdurulmasıdır, 1 gönderilirse abonelik yeniden etkinleşir.\
**profile\_id** - Продамус sistemindeki profil ID'si

{% hint style="danger" %}
Dikkatinizi çekiyoruz!

Profil ID gelirse, değer profile\_id değişkenine kaydedilir.

profile\_id, aboneliği iptal etmek için customer\_phone veya customer\_email yerine delete\_subscription\_prodamus fonksiyonuna gönderilebilir.
{% endhint %}

Abonelik bloğu ayar örneği:

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

Fonksiyonun status döndürdüğüne dikkat edin; bunu kaydeder ve kendi takdirinize göre işleyebilirsiniz, başarılı devre dışı bırakma\etkinleştirme durumunda **status** eşittir **ok**

### Aboneliği yönetme fonksiyonu

prodamus\_subscription\_switch\_status(subscription\_id, switcher, customer\_phone, customer\_email, profile\_id)

&#x20;**id\_subscription** - abonelik ürününün id'si&#x20;

**switcher** = 0 aboneliğin durdurulmasıdır, 1 gönderilirse abonelik yeniden etkinleşir.&#x20;

**customer\_phone** - abonenin telefon numarası - customer\_email gönderildiyse isteğe bağlıdır&#x20;

**customer\_email** - abonenin e-posta adresi - customer\_phone gönderildiyse isteğe bağlıdır

profile\_id - Продамус sistemindeki profil ID'si

<div data-with-frame="true"><figure><img src="/files/9a736977e60b32096b359c09d1e4fc7fb3af0d3b" alt=""><figcaption><p>prodamus_subscription_switch_status fonksiyonunun kullanım örneği</p></figcaption></figure></div>

Örnek: parametre gönderildi **customer\_phone,** customer\_email atlandı\
`stat = prodamus_subscription_switch_status`(`'618117', '0', '75431312321')`

Örnek 2: parametre gönderildi **customer\_email,** customer\_phone atlandı\
`stat = prodamus_subscription_switch_status('618117', '0', '', 'examp@mail.com')`

{% hint style="success" %}
Fonksiyon, her şey başarılıysa ok döndürür veya hata açıklamasını döndürür
{% endhint %}

### Abonelikte indirim yönetimi

Fonksiyon, abonelikte sonraki ödemeler için indirim miktarını belirler. İndirim, sınırlı veya sınırsız sayıda tahsilat için ayarlanabilir.

**prodamus\_subscription\_discount(subscription\_id, discount, customer\_phone, num, profile\_id)**\
**burada:**\
**subscription\_id** - abonelik ID'si\
**discount** - noktadan sonra iki basamağa kadar hassas ondalık sayı **nokta**, değer sıfırdan büyük olmalı ve aboneliğin temel ücretini aşmamalıdır\
**customer\_phone** - müşteri telefon numarası şu formatta: +79999999999 (customer\_email değişkeni varsa isteğe bağlı parametre, 1. ödeme sonrası açıklamada belirtildiği gibi)\
**num** - İndirimin geçerli olacağı ödeme sayısı (isteğe bağlı parametre; gönderilmezse indirimli ödeme sayısı sınırsız olur)

profile\_id - Продамус sistemindeki profil ID'si\
\
**İstek başarıyla tamamlanırsa fonksiyon 'ok' döndürür, istek hata ile çalışırsa fonksiyon hata açıklamasını döndürür.**

{% hint style="warning" %}
İndirim miktarı ve aralık SADECE fonksiyon yeni değerlerle tekrar çağrılırsa yeniden yazılır!
{% endhint %}

#### **Örnekler:**

1\. Telefon numarası belirtilmeden, müşteri\_phone değişkeninden otomatik alınacağı için, sonraki tüm otomatik ödemeler için 1 ruble tutarında indirim ayarlama ve indirimli tahsilat sayısı varsayılan olarak abonelik süresinin tamamı&#x20;

r = prodamus\_subscription\_discount('624034', '1')

<div data-with-frame="true"><img src="https://lh3.googleusercontent.com/_4i_sKKn39tHVdnb47xgj8fxfP_x9UGMWLaierBnpup9LCZMdVT0G9AmIOa8S_uMrVXWQIH6rvZnujCYPGcphkYvwFbCXEh819tWIjGIM4mHvd3afSlPzhZfcWk6D1z1tyBwFrZV" alt="Örnek 1" width="563"></div>

2\. Sonraki 3 tahsilat için 2 ruble indirim ayarlama (telefon numarası boş tırnaklarla değiştirilir, çünkü otomatik olarak customer\_phone değişkeninden alınacaktır)&#x20;

r = prodamus\_subscription\_discount('624034', '2', '', '3')

<div data-with-frame="true"><img src="https://lh5.googleusercontent.com/IgutVRIqTFbaof9A14qdQRLCB6oop4mSAIew5s3lz62Kb4YVHdHJEt6GuC7AACStDgRiR1d_XEG1k5Dj7c2M-VNtci16JbklMTEla8_RNWD7wBNeG649g0lnFiMZilhri3phwKr-" alt="Örnek 2" width="563"></div>

3\. İndirimi kesirli kısmı yüzdeye kadar olan bir sayı olarak uygulama örneği (ayırıcı nokta), sayısal veriler tırnaksız belirtilir, telefon numarası değişken üzerinden gönderilir

<div data-with-frame="true"><figure><img src="/files/229e20cb85ac8794ca95c2671b2c011563943f8f" alt="" width="563"><figcaption></figcaption></figure></div>

r = prodamus\_subscription\_discount(#{prodamus\_subscription}, 10.25, #{customer\_phone}, 3)

<div data-with-frame="true"><img src="https://lh3.googleusercontent.com/xJVbZ3Q5f6LzCsYtuX-JqaKYPc69lS6Wi4yA0ui2vBxmFkXXGIHSqgO2VoK0rzDPdNG-HxVpAnpRcmbZXQ_oSrtT7ijJcQA6ZOwjXLbKP8WsCFBip-4DwRnVHpz-fIPRt_Wldo0h" alt="Örnek 3" width="563"></div>

### Aboneliğe sonraki ödeme tarihi nasıl ayarlanır

Bu yöntemle aboneliğin sonraki ödeme tarihi kaydırılabilir. Tarih yalnızca mevcut olarak belirlenmiş sonraki ödeme tarihine göre "geleceğe" kaydırılabilir. Böylece kulüpte kalma süresi uzatılır.

{% hint style="success" %}
Örneğin, aboneler için bonus olarak kullanılabilir.
{% endhint %}

Bunun için şu fonksiyonu kullanmalısınız:

**prodamus\_subscription\_payment\_date(subscription\_id, date, customer\_phone, profile\_id)**&#x20;

burada:

**subscription\_id** - abonelik id'si \
**date** - tarih dd.aa.yyyy ss:dd formatında veya dd.aa.yyyy formatında, bu durumda saat 00:00 olur\
**customer\_phone** - zorunlu değildir; gönderilmezse customer\_phone değişkeninden alınır, orada da bulunamazsa çalışmaz\
**profile\_id** - Продамус sistemindeki profil ID'si

## Parametreler Prodamus'a nasıl iletilir

Gerekli parametreleri Prodamus'a iletmek için (örneğin aboneliğin başlangıç tarihi, taksit seçeneğini kapatma vb.), değişken adının başına prodamus\_ ekleyin&#x20;

Böylece ödeme bağlantısı oluşturulurken bu parametreler ödeme sistemine otomatik olarak iletilecektir.

## Ödemeyi nasıl test ederim

{% hint style="info" %}
Yalnızca ödemeyi test ediyoruz!
{% endhint %}

Entegrasyonu ve ödeme hunisi ayarlarını test ederken hesabınızdan para çekilmemesi için test kartlarını kullanabilirsiniz&#x20;

{% hint style="warning" %}
Önce ödeme sayfanızı DEMO moduna alın ⤵

"Kaydet" düğmesine basmayı unutmayın
{% endhint %}

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

#### Test ödemesi yapmak için test hesaplarını kullanabilirsiniz

Sberbank test kartları:&#x20;

МИР\
Kart numarası 2202 2050 0001 2424\
Son kullanma tarihi 05/35\
Arka yüzdeki doğrulama kodu 669

MasterCard\
Kart numarası 5469 9801 0004 8525\
Son kullanma tarihi 05/26\
Arka yüzdeki doğrulama kodu 041\
3-D Secure doğrulama kodu 111111

Visa\
Kart numarası 4006 8009 0096 2514\
Son kullanma tarihi 05/26\
Arka yüzdeki doğrulama kodu 941\
3-D Secure doğrulama kodu 111111

{% hint style="success" %}
! Test hesaplarıyla ödeme yapıldığında tüm yapılandırılmış akışlar ve entegrasyonlar normal ödemedeki gibi çalışır !&#x20;
{% endhint %}

Form test edildi

{% hint style="danger" %}
Gerçek para ile ödeme almak için formu çalışma moduna geçirmeniz gerekir. Yani demo modu anahtarını, soluk kırmızı olacak konuma getirin
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://docs.mavibot.ai/doc/tr/integrations/payment/prodamus-blr.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
