# Prodamus (RU)

{% 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 anahtar gerekecektir.

<mark style="color:yeşil;">**Ödeme formu URL’si**</mark> kayıt olduktan sonra alırsınız, <mark style="color:yeşil;">**şu biçimdedir: demo.payform.ru**</mark>

Gizli anahtar kişisel hesaptan alınabilir; aynı yerde bildirimler için URL adresi de tanımlanmalıdır.

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

Bunu nasıl yapacağınıza 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 adres ayarlarda iki yerde belirtilmelidir.

Ana ayar sayfasında formun ç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`**

ile çalışma ayarı için **abonelik ödemeleri**  Abonelikler sekmesine gidin ve bildirim adresini belirtin: <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 girildikten sonra mutlaka "Kaydet" düğmesine basın.
{% endhint %}

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

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

Daha sonra yukarıda bahsedilen bilgileri forma belirtmeniz yeterlidir:

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

{% hint style="warning" %}
**ÖNEMLİ!** URL - ödeme formu için https\:// olmadan belirtin&#x20;
{% endhint %}

Bağlantı bu kadar. Şimdi bu işlevi nasıl kullanacağımıza bakalım.

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

{% hint style="success" %}
Blok içinde ödeme bağlantısı oluşturabilirsiniz **ŞUNLARDAN BİRİYLE** mevcut yöntemlerden:

* [Ödeme işlevli düğme ](#knopka-s-funkciei-oplata)veya
* [Hesaplayıcıda 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 ç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 belirtilmesi gereken <mark style="color:kırmızı;">**zorunlu parametreler**</mark> "**Tutar**", "**Ürün adı**", ayrıca "**Ödenen içerik**" parametresi, eğer **kendi online kasanız yoksa** ve Prodamus’tan makbuz almak istiyorsanız.&#x20;

Sipariş oluşturma sayfasına geçildiğinde ürün bilgisi ve fiyatı önceden yazılmış olur; müşterinin yalnızca iletişim bilgilerini girmesi gerekir.\
\
Düğme ayarlarında kullanıcının e-postası ve/veya telefonu belirtilirse, sipariş oluşturma sayfasında ödeyenin iletişim bilgileri ile ürün ve fiyat bilgisi gösterilir.

<div data-with-frame="true"><figure><img src="/files/a21bbb89499043a07a7c7a5cc2028b43c0f31bf4" alt="" width="563"><figcaption><p>Buton 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çiyoruz

**Ödeme sistemi alanı.** Listede projeye bağlı ödeme sistemleri gösterilir

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

**Ürün adı alanı (zorunlu).** Bu alana ürünün adını yazmanız gerekir. Ürün adı ne kadar doğru belirtilirse o kadar iyidir. Örneğin: Telefon değil, Xiaomi Akıllı Telefon modeli ...&#x20;

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

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

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

* Sipariş açıklaması
* Ruble cinsinden indirim
* Alıcının e-postası için değişken
* Alıcının telefon numarası için değişken
* Bağlantının geçerlilik süresi
* Abonelik için ürün ID’si (otomatik ödemeler oluşturmak için)
* Ödenen içerik&#x20;

**Tıklama bildirimi onay kutusu.** Ödeme bağlantısı tıklamasını izlemek için onay kutusu işaretlenebilir. Bu durumda düğmeye tıklanınca, müşteriyle olan diyaloğa SaleBot üzerinden bağlantıya geçildiğine dair bir bildirim gelir

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

Bu bildirime göre botun sonraki iş mantığı ayarlanabilir.&#x20;

{% hint style="info" %}
Birçok ödeme sistemi bulut tabanlı online kasaları destekler; bunlar 54-FZ gereği zorunludur.\
Vergi dairesiyle sorun yaşamamak için seçtiğiniz ödeme sisteminin sitesinde fiş düzenleme özelliklerini okuyun.
{% endhint %}

Ödeme düğmesindeki 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ı: butonda 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 bilgiler ödeme sayfasında Ek veriler alanında gösterilecektir

**İndirim alanı.** Bu alanda indirim tutarını ruble olarak veya kuruşlu ruble olarak belirtebilirsiniz. Kuruşlu tutar belirtmek için ayırıcı olarak nokta kullanılır: 50.99\
Ödeme sayfasında Ödenecek tutar alanı indirim dikkate alınarak gösterilir ve ürünün asıl fiyatı üstü çizili olur.&#x20;

**Alıcının e-postası için değişken alanı** (telefon numarası gönderildiyse isteğe bağlı) Bu alanda kullanıcının (müşterinin) e-postası belirtilir. Kullanıcının e-postasının saklandığı değişken belirtilebilir.&#x20;

Örneğin, #{email}

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

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

**Bağlantının geçerlilik süresi alanı.** gg.aa.yyyy ss:dd biçiminde bir tarih belirtebilir (örneğin 25.01.2021 11:00) veya bağlantının sona erme süresini atamak için değişkenler kullanabilirsiniz. \
Değişken kullanım örneği: `#{link_expired}`

**abonelik ürününün ID alanı.**  Otomatik ödeme yapmak 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, ayrıntılı talimat: <https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski>

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

Ödeme sırasında belirtilen telefon numarası, aboneliği yönetmek için gerekli olacaktır.

{% hint style="warning" %}
Eğer **abonelik ürününün ID’si**iletilirse, başarılı ödeme geri çağrısında bu ürünün ID’si gönderilir
{% endhint %}

**Ödenen içerik alanı** (koşullu zorunlu). Eğer kendi online kasanız yoksa Prodamus üzerinden ödemeyi mali kayda geçirmek için gereklidir. Bu alanda satın almanın açıklamasını, fiyatını ve içerik kaynağına bağlantıyı belirtmeniz gerekir.&#x20;

*Örneğin*: *"Kazık örme 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 GİB’e iletim için gereklidir.

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

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

1. Kullanıcı aktif süresi içinde ödeme bağlantısı isterse (yani süresi henüz dolmadıysa) ve bu bağlantı diyalogda varsa, ödeme yapamaz ve aşağıdaki türde 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 sonra olmalıdır, aksi halde müşteri bu bağlantıyla da ödeme yapamaz.&#x20;
{% endhint %}

2\. Kullanıcı bağlantıyı ister ancak bağlantı zaten pasifse\
Bu durumda düğme hiç görünmez. Müşterinin değişkenlerinde "error\_payment\_button" değişkeni oluşur ve içinde şu değer bulunur: "Hata: Bağlantının geçerlilik süresi mevcut tarihten sonra olmalıdır".

{% hint style="success" %}
Kullanıcının doğru şekilde ödeme yapabilmesi için bu durumun ayrıca işlenmesi tavsiye edilir.&#x20;
{% endhint %}

Bu nasıl yapılır?

Bir koşul bloğu oluşturun ve içinde bu tür bir bildirim geldiyse, error\_payment\_button == "Hata: Bağlantının geçerlilik süresi mevcut tarihten sonra olmalıdır" yazın&#x20;

Şu metinle: "Üzgünüz, zamanında 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ğunun ayarı</p></figcaption></figure></div>

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

Kullanıcı "Ödeme" düğmeli bloğu alır almaz aşağıdaki müşteri değişkenleri otomatik oluşturulacaktır:

Sistem müşteri değişkeni **`__payments`** , oluşturulan bağlantının tutarını ve kimliğini saklar; ödeme sisteminden gelen hook’u tanımlamak için gereklidir.

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

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

error\_payment\_button değişkeninin değeri ya hata metnini ya da ödeme sisteminden gelen hata yanıtını içerir.

{% hint style="warning" %}
Değişken değerleri bir sonraki bloğa geçildiğinde güncel olur&#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 sisteminin gizli anahtarının ilk 10 karakterinden, \_success kelimesinden ve bir boşlukla ödeme tutarından oluşan BİR GERİ ÇAĞRI gelir. \
\&#xNAN;*Bunu şema ayarlarında kullanmak için sadece kopyalamanız yeterlidir.*&#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ülür.
{% endhint %}

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

Adım 2. Bu bloktan "Başarılı ödeme" bloğuna bağlantı koşulu alanında geri çağrıyı belirtiyoruz. Aynısı, "Başlangıç koşulu" bloğunun Koşul alanında başarılı ödeme geri çağrısı belirtilirse de çalışır.

{% hint style="warning" %}
Önemli: Eşleşme türü Tam eşleşme veya Anahtar kelime varlığı olmalı
{% endhint %}

❗️Ödemeyi özellikle koşul okunda kontrol etmeye karar verdiyseniz, şemanızın mantığını iyi düşünün. Müşteri geri çağrılı koşullu geçiş bloğunu terk ederse bloğa geçiş olmaz. Bu kontrol yöntemi yalnızca müşteri hunideki konumunu (şemadaki yerini) değiştirmiyorsa mantıklıdır. \
Müşterinin bloklar arasında hareket ettiği şemalarda, "Başlangıç koşulu" bloğunda geri çağrı belirtilen yöntemi kullanmak daha iyidir. <br>

<div data-with-frame="true"><figure><img src="/files/c433c8c45dcfbb688ea87367291588958f0f0f16" alt=""><figcaption><p>Başarılı ödeme callback’i, blokun Koşul alanında.</p></figcaption></figure></div>

#### **Otomatik aboneliği olan ü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 karakterinden, \_success kelimesinden ve <mark style="color:yeşil;">**bir boşlukla abonelik ürününün ID’sinden oluşan BİR GERİ ÇAĞRI gelir**</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 callback örneği</p></figcaption></figure></div>

**Hatalı ödeme**

<mark style="color:mavi;">**Ödeme yapılırken hata oluştuğunda**</mark> botta <mark style="color:turuncu;">**OTOMATİK OLARAK**</mark> ödeme sisteminin gizli anahtarının 10 karakterinden, \_fail kelimesinden ve bir boşlukla ödeme tutarından oluşan BİR 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 hatayla sonuçlandı.&#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 karakterinden, \_different\_amounts kelimesinden ve bir boşlukla benzersiz ödeme ID’sinden oluşan BİR 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ıdır)

`123456` : benzersiz ödeme ID’si

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

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

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ı siz belirlersiniz. Ekran görüntülerinde değişken adlarına örnekler yer alır.&#x20;
{% endhint %}

Bu değişkene ödeme bağlantısı yazılacaktır. Değişken mesajda bağlantı olarak gösterilebilir 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)`**

**İşlevin parametreleri:**

<table><thead><tr><th width="253">Parametre</th><th>Parametrenin değeri</th></tr></thead><tbody><tr><td><strong><code>amount</code></strong></td><td>ödenecek tutar. Tam sayı ve noktalı sayı gönderilebilir. Ö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 biçimde <strong>gg.aa.yyyy</strong> (örneğin 25.01.2021). Ayrıca "Hesaplayıcı<em>"</em> alanında şunu belirtebilirsiniz: <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 saati boşlukla birlikte şu biçimde belirtebilirsiniz <strong>gg.aa.yyyy ss:dd</strong> (örneğin: <em>25.01.2021 12:23</em>). Ayrıca standart değişkenler de kullanılabilir; örneğin bağlantının geçerlilik süresini 30 dakika olarak belirleyelim: </p><p><code>time = current_time + 30</code><br><code>expired = "#{current_date} #{time}"</code><br><br>Bu parametreyi atlamak için yerine tek veya çift tırnak çifti ya da 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 yerine tek veya çift tırnak gönderin.</td></tr><tr><td><strong><code>customer_email</code></strong></td><td>alıcının e-postası, şu parametre gönderildiyse zorunlu değildir <code>customer_phone</code> Bu parametreyi atlamak için yerine tek veya çift tırnak gönderin.</td></tr><tr><td><strong><code>discount</code></strong></td><td>indirim tutarı. Parametreye sayı veya noktalı sayı gönderilir: 25 veya 63.5   Bu parametreyi atlamak için yerine tek veya ç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 yerine tek veya çift tırnak gönderin.</td></tr><tr><td><strong><code>extra_params</code></strong></td><td><p>bu işlevde bulunmayan ek parametreler.<br>Olası ek parametreler, ödeme sisteminin API kullanım belgelerindeki bağlantıda görülebilir <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 yerine tek/çift tırnak çifti ya da None değeri gönderin.</em></p></td></tr><tr><td><strong><code>products_for_receipt</code></strong> </td><td><p><strong>50 ile 4000 karakter arasında, şu formatta bir dize</strong> "sipariş açıklaması - tutar - satın alınan kaynağa bağlantı”. </p><p>Örneğin:</p><p>“‘Levrek Avı’ kursu, fiyatı 4999 ruble, kurs sayfası bağlantısı: https://www.lovilescha.ru/courses/poimai_kilogram/". <strong>Zorunlu</strong>eğer kendi online kasanız yoksa, Prodamus üzerinden ödemeleri mali kayda geçirmek için.</p></td></tr></tbody></table>
{% endtab %}

{% tab title="Kopyalamak için kod örneği" %}
**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ı;">‘Levrek Avı’ 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ı;">'‘Levrek Avı’ 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" %}
Bir blokta bağlantı almak için birden fazla işlev varsa ve hata oluşursa, hata değeri değişkende kaydedilir  **`error_payment_func`**

\
Hata, en son Hesaplayıcıdaki işlev tarafından kaydedilir
{% endhint %}

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

{% hint style="info" %}
Dikkat: değişkene **payment\_sum** değeri sonuncu olarak, isteğe bağlı değişkenlerden sonra atanı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 belirlemeniz yeterlidir **payment\_sum.** Bundan hemen sonra değişken oluşacaktır **prodamus\_pay\_url**.&#x20;

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

Bu değişken mesajda bağlantı olarak gösterilebilir veya "Öde" metinli düğmeye yerleştirilebilir.&#x20;

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

| Fonksiyon 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örüntülendiği gösterilmektedir                                                                                                                                                                                                                                                                                                           |
| **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örüntülendiği gösterilmektedir                                                                                                                                                                                                                                                                         |
| **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ının e-postası                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **link\_expired**          | ödeme bağlantısının geçerlilik süresi, şu biçimde **gg.aa.yyyy** (örneğin 25.01.2021). Ayrıca "*Hesaplayıcı"* alanında şunu belirtebilirsiniz: *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 saati boşlukla birlikte şu biçimde belirtebilirsiniz <strong>gg.aa.yyyy ss:dd</strong> (örneğin: <em>25.01.2021 12:23</em>). Ayrıca standart değişkenler de kullanılabilir; örneğin bağlantının geçerlilik süresini 30 dakika olarak belirleyelim: </p><p>time = current\_time + 30<br>link\_expired = "#{current\_date} #{time}"</p>                                                                                                |
| **currency**               | <p>ödeme para birimi, varsayılan olarak "rub". <br>Argümanların tam listesi: </p><p>rub</p><p>usd</p><p>eur</p><p>kzt<br>Bu parametre küçük harfle gönderilmelidir.</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çimde belirtilir. Varsayılan - ‘ru-Ru’. Tam liste <https://developer.paypal.com/api/rest/reference/locale-codes/> bağlantısında mevcuttur/                                                                                                                                                                                                                                                               |
| **products\_for\_receipt** | <p><strong>50 ile 4000 karakter arasında, şu formatta bir dize</strong> "sipariş açıklaması - tutar - satın alınan kaynağa bağlantı”. </p><p>Örneğin:</p><p>“‘Levrek Avı’ 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 online kasanız yoksa, Prodamus üzerinden ödemeleri mali kayda geçirmek 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 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 tanımlanmadan önce ilan edilir.

Olası değerler: &#x20;

<table><thead><tr><th width="323"></th><th></th></tr></thead><tbody><tr><td><strong>AC</strong></td><td>RF’de düzenlenmiş kartla ödeme </td></tr><tr><td><strong>ACkz</strong> </td><td>Kazakistan kartıyla ödeme </td></tr><tr><td><strong>ACf</strong></td><td>RF hariç BDT ülkeleri 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>invoice</strong> - Fatura üzerinden ödeme <strong>installment</strong> - Prodamus’tan taksitli </td></tr><tr><td><strong>installment_5_21</strong></td><td>Prodamus’tan 3 ay taksitli </td></tr><tr><td><strong>installment_6_28</strong></td><td>Prodamus’tan 6 ay taksitli </td></tr><tr><td><strong>installment_10_28</strong></td><td>Prodamus’tan 10 ay taksitli </td></tr><tr><td><strong>installment_12_28</strong> </td><td>Prodamus’tan 12 ay taksitli <strong>installment_0_0_3</strong> - Tinkoff’tan 3 ay taksitli</td></tr><tr><td><strong>installment_0_0_4</strong> </td><td>Tinkoff’tan 4 ay taksitli </td></tr><tr><td><strong>installment_0_0_6</strong></td><td>Tinkoff’tan 6 ay taksitli </td></tr><tr><td><strong>installment_0_0_10</strong></td><td>Tinkoff’tan 10 ay taksitli</td></tr><tr><td><strong>installment_0_0_12</strong></td><td>Tinkoff’tan 12 ay taksitli</td></tr><tr><td><strong>installment_0_0_24</strong> </td><td>Tinkoff’tan 24 ay taksitli</td></tr><tr><td><strong>installment_0_0_36</strong></td><td>Tinkoff’tan 36 ay taksitli </td></tr><tr><td><strong>credit</strong> </td><td>Tinkoff kredisi</td></tr><tr><td><strong>vsegdada_installment_0_0_4</strong></td><td>ВсегдаДа’dan 4 ay taksitli (available_payment_methods ile çalışmaz) </td></tr><tr><td>vs<strong>egdada_installment_0_0_6</strong></td><td>ВсегдаДа’dan 6 ay taksitli</td></tr><tr><td><strong>vsegdada_installment_0_0_10</strong></td><td>ВсегдаДа’dan 10 ay taksitli</td></tr><tr><td><strong>vsegdada_installment_0_0_12</strong></td><td>ВсегдаДа’dan 12 ay faizsiz taksitli</td></tr><tr><td>vs<strong>egdada_installment_0_0_24</strong></td><td>ВсегдаДа’dan 24 ay taksitli</td></tr><tr><td><strong>vsegdada_installment_0_0_36</strong> </td><td>ВсегдаДа’dan 36 ay taksitli</td></tr><tr><td><strong>sbrf_installment_0_0_6</strong></td><td>SberBank’tan 6 ay taksitli </td></tr><tr><td><strong>sbrf_installment_0_0_10</strong></td><td>SberBank’tan 10 ay taksitli</td></tr><tr><td><strong>sbrf_installment_0_0_12</strong></td><td>SberBank’tan 12 ay taksitli</td></tr><tr><td><strong>sbrf_installment_0_0_24</strong></td><td>SberBank’tan 24 ay taksitli</td></tr><tr><td><strong>sbrf_installment_0_0_36</strong> </td><td>SberBank’tan 36 ay taksitli</td></tr><tr><td><strong>otp_installment_0_0_6</strong></td><td>OTP Bank’tan 6 ay taksitli</td></tr><tr><td><strong>otp_installment_0_0_10</strong></td><td>OTP Bank’tan 10 ay taksitli</td></tr><tr><td><strong>otp_installment_0_0_12</strong> </td><td>OTP Bank’tan 12 ay taksitli</td></tr><tr><td><strong>otp_installment_0_0_24</strong></td><td>OTP Bank’tan 24 ay taksitli</td></tr><tr><td><strong>otp_installment_0_0_36</strong></td><td>OTP Bank’tan 36 ay taksitli</td></tr><tr><td><strong>mts_installment_0_0_6</strong></td><td>MTS Bank’tan 6 ay taksitli</td></tr><tr><td><strong>mts_installment_0_0_10</strong> </td><td>MTS Bank’tan 10 ay taksitli</td></tr><tr><td><strong>mts_installment_0_0_12</strong> </td><td>MTS Bank’tan 12 ay taksitli</td></tr><tr><td><strong>mts_installment_0_0_24</strong></td><td>MTS Bank’tan 24 ay taksitli</td></tr><tr><td> <strong>mts_installment_0_0_36</strong> </td><td>MTS Bank’tan 36 ay taksitli</td></tr><tr><td><strong>monetaworld</strong></td><td>RF hariç dünya bankalarının kartları </td></tr><tr><td><strong>sbrf_bnpl</strong></td><td>Sber’den taksitli</td></tr></tbody></table>

Birden fazla değer, dikey çizgi ile ayrılarak gönderilebilir. \
Örneğin: prodamus\_available\_payment\_methods = "AC|PC|QW"

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

O zaman bağlantıda belirtilen tutar, belirtilen para biriminde olacaktır.

Geri çağrı alındığında **payment\_callback** şu parametreye göre hareket edilmelidir **currency** ve **currency\_sum,** hangi para birimi ve tutarın o para biriminde olduğu bilgisi bulunacaktır.

{% hint style="warning" %} <mark style="color:kırmızı;">**Önemli!**</mark> İstediğiniz para biriminde ödeme yöntemi sayfanızda var mı kontrol edin; yoksa ödeme yöntemleri olmayan sayfaya yönlendirilir.\
Yöntemler destek üzerinden eklenir. Açık olanlar sayfa ayarlarında veya ödeme bağlantısı oluşturulduğunda görülebilir
{% endhint %}

<div data-with-frame="true"><figure><img src="/files/fdeef3242e153cd34e9994977b87f3a2e997cfa7" alt=""><figcaption><p>"Prodamus" ö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ştirilmiş ö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 botta geri çağrılar gelir; bunlardan ödemenin başarılı olup olmadığını anlayabilirsiniz. Sistemde bu geri çağrıları kullanıcı mesajı gibi görürsünüz; bunların kullanıcı tarafından gönderilememesi için gizli anahtardan ve durum ekinden oluşurlar, örneğin: 453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b6&#x36;**\_success** veya 453e8fba8b7cef9ce58dc6e18e25b39ad5a05748175a3f205f2b084acbfc3b6&#x36;**\_fail**Ayrıca başarılı ödemeden sonra değişken **prodamus\_payment\_completed** şuna ayarlanır **True**.

{% hint style="warning" %}
Dikkat! Geri çağrılar 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ı tamamlanma mesajını bekleyin”
{% endhint %}

{% hint style="warning" %}
ÖNEMLİ!\
Ödeme işlevli düğme veya Hesaplayıcıdaki işlev kullanılarak oluşturulan bağlantılar için, ödemeden sonra botta <mark style="color:turuncu;">**OTOMATİK OLARAK**</mark> ödeme sisteminin gizli anahtar karakterlerinden, \_success kelimesinden ve bir boşlukla ödeme tutarından oluşan BİR GERİ ÇAĞRI gelir. \
\&#xNAN;*Bunu şema ayarlarında kullanmak için sadece kopyalamanız yeterlidir.*&#x20;

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

ovg58keefc : gizli anahtar **tam olarak**

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

Örneğin, koşullu bir blokla başarılı ödeme işlenebilir ve kullanıcıya uygun mesaj gösterilebilir:

<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 payment\_sum değerini sıfırlamak, daha önce oluşturulan bağlantıyı temizlemek ve ancak bundan sonra fresh bağlantı almak için payment\_sum değişkenini yeniden atamak zorunludur&#x20;
{% endhint %}

### Aboneliğin devre dışı bırakılması/yeniden etkinleştirilmesi

Prodamus’ta aboneliğin etkinleştirilmesi/devre dışı bırakılmasına ilişkin bildirimler de 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önem bitmeden önce gelebilir. İsteğe bağlı olarak görmezden gelme veya kontrol altına alma, aboneliği geri kazanma denemesi anlamına gelir.

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

Abone mevcut ödenmiş dönem bitmeden önce aboneliği yeniden etkinleştirirse gelebilir. İsteğe bağlı olarak görmezden gelme veya geri dönüş izleme listesinden silme anlamına gelir.

3. "Abonelik devre dışı bırakıldı" - birkaç başarısız çekimden sonra abonelik devre dışı bırakılırsa

### **Geri çağrıdaki 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 ve gelen ödeme ile ilgili tüm verileri içeren geri çağrı yazılır. Buradan gerekli verileri kaydedebilir ve istediğiniz gibi kullanabilirsiniz. Geri çağrı ö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, MIR", "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**. O zaman geri çağrı 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şkene **payment\_sum** değeri sonuncu olarak, isteğe bağlı değişkenlerden sonra atanır **payment\_description, product\_name**
{% endhint %}

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

### Hangi geri çağrılar mevcut

Başarılı ödeme ile ilgili ana geri çağrıların dışında, kullanıcıyla yapılan sohbette kullanıcının görmediği ve şu metinleri içeren 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 tamamlandı
4. Başarısız ödeme - açıklamalı not (yukarıdaki ekranda)
5. Yaklaşan tahsilat bildirimi - yaklaşan tahsilatın tarih ve saati
6. Durumlu taksit başvurusu

Müşteri diyalogundaki geri çağrı örnekleri:&#x20;

* **Abone aboneliği devre dışı bıraktı**
* **Abone aboneliği yeniden etkinleştirdi**
* **Abonelik tamamlandı**
* **Başarısız ödeme - Yetersiz bakiye.**
* **Başarısız ödeme - Kartın süresi dolmuş.**
* **Başarısız ödeme - Kart limiti aşılmış.**
* **Başarısız ödeme - Kart kayboldu**
* **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çıklamalarını daha ayrıntılı okumak için buraya bakabilirsiniz:

{% embed url="<https://help.prodamus.ru/payform/integracii/tekhnicheskaya-dokumentaciya-po-avtoplatezham/kody-oshibok>" %}
Prodamus: hata kodları
{% endembed %}

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

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

Mesaj göndermek için **nedeni ne olursa olsun tüm başarısız çekimlere**ş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 örnek blok</p></figcaption></figure></div>

Ve metin içeren tüm geri çağrılarda **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. Nasıl yapılacağına dair ayrıntılı talimat: <https://help.prodamus.ru/payform/rekurrent-i-kluby/kak-sozdat-i-nastroit-podpiski>

Daha 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ünün oluşturulması"></div>

Abonelik ödeme bağlantısı oluşturmak için değişkenin değerini (abonelik ürününün ID’si) belirlemeniz gerekir **prodamus\_subscription**hemen ardından değişken oluşacaktır **prodamus\_pay\_url**.&#x20;

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

Değişken **prodamus\_pay\_url** ekrana bağlantı olarak çıkarılabilir veya "Öde" metinli düğmeye yerleştirilebilir. Bağlantı şu biçimdedir: <https://payform.ru/7p3JR8/><br>

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

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

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

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

Abonelik ürünü için ödeme bağlantısı oluşturmanın başka bir yoluna bakalım.&#x20;

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

Daha 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ünün oluşturulması"></div>

Ürün aboneliği için ödeme bağlantısı almak amacıyla Hesaplayıcı’da şu fonksiyonu belirtiriz&#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)

**İşlevin parametreleri:**

<table><thead><tr><th width="253">Parametre</th><th>Parametrenin 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’yi Prodamus panelinden kopyalayarak alabilirsiniz  <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 biçimde <strong>gg.aa.yyyy</strong> (örneğin 25.01.2021). Ayrıca "Hesaplayıcı<em>"</em> alanında şunu belirtebilirsiniz: <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 saati boşlukla birlikte şu biçimde belirtebilirsiniz <strong>gg.aa.yyyy ss:dd</strong> (örneğin: <em>25.01.2021 12:23</em>). Ayrıca standart değişkenler de kullanılabilir; örneğin bağlantının geçerlilik süresini 30 dakika olarak belirleyelim: </p><p><code>time = current_time + 30</code><br><code>expired = "#{current_date} #{time}"</code><br><br>Bu parametreyi atlamak için yerine tek veya çift tırnak çifti ya da 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 yerine tek veya çift tırnak gönderin.</td></tr><tr><td><strong><code>customer_email</code></strong></td><td>alıcının e-postası, şu parametre gönderildiyse zorunlu değildir <code>customer_phone</code> Bu parametreyi atlamak için yerine tek veya çift tırnak gönderin.</td></tr><tr><td><strong><code>discount</code></strong></td><td>indirim tutarı. Parametreye sayı veya noktalı sayı gönderilir: 25 veya 63.5   Bu parametreyi atlamak için yerine tek veya ç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 yerine tek veya çift tırnak gönderin.</td></tr><tr><td><strong><code>extra_params</code></strong></td><td>bu işlevde bulunmayan ek parametreler.<br>Olası ek parametreler, ödeme sisteminin API kullanım belgelerindeki bağlantıda görülebilir <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 yerine tek/çift tırnak çifti ya da None değeri gönderin.</em></td></tr><tr><td><strong><code>products_for_receipt</code></strong> </td><td><p><strong>50 ile 4000 karakter arasında, şu formatta bir dize</strong> "sipariş açıklaması - tutar - satın alınan kaynağa bağlantı”. </p><p>Örneğin:</p><p>“‘Levrek Avı’ kursu, fiyatı 4999 ruble, kurs sayfası bağlantısı: https://www.lovilescha.ru/courses/poimai_kilogram/". </p><p><strong>Zorunlu</strong>eğer kendi online kasanız yoksa, Prodamus üzerinden ödemeleri mali kayda geçirmek için.</p></td></tr></tbody></table>
{% endtab %}

{% tab title="Kopyalamak için kod örneği" %}
**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ı;">"‘Levrek Avı’ 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ı;">'‘Levrek Avı’ 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" %}
Bir blokta bağlantı almak için birden fazla işlev varsa ve hata oluşursa, hata değeri değişkende kaydedilir  **`error_payment_func`**

\
Hata, en son Hesaplayıcıdaki işlev tarafından kaydedilir
{% endhint %}

### Abonelik durumu nasıl yönetilir

{% hint style="info" %}
Yöntem yalnızca gerçek aboneliklerde çalışır, demo modunda kartla bağlantı yoktur
{% endhint %}

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

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

Şu 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 telefonu\
**switcher** = 0 aboneliği durdurur, 1 gönderilirse abonelik tekrar etkinleşir.\
**profile\_id** - Prodamus sistemindeki profil ID’si

{% hint style="danger" %}
Dikkat edelim!

Eğer profil ID’si gelirse, değer profile\_id değişkenine kaydedilir.

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

Abonelik bloğu ayar örneği:

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

İşlevin status döndürdüğüne dikkat edin; bunu kaydedip istediğiniz gibi 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ği durdurur, 1 gönderilirse abonelik tekrar etkinleşir.&#x20;

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

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

profile\_id - Prodamus 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" %}
İşlev başarılı olursa ok, hata varsa hata açıklamasını döndürür
{% endhint %}

### Abonelikte indirimleri yönetme

İşlev, sonraki abonelik ödemeleri için indirim tutarını belirler. İndirim sınırlı veya sınırsız sayıda çekim için ayarlanabilir.

**prodamus\_subscription\_discount(subscription\_id, discount, customer\_phone, num, profile\_id)**\
**burada:**\
**subscription\_id** - abonelik ID’si\
**discount** - iki ondalık basamağa kadar hassasiyetle ondalık sayı **nokta**, değer sıfırdan büyük olmalı ve aboneliğin temel fiyatını aşmamalıdır\
**customer\_phone** - müşterinin telefon numarası, şu formatta: +79999999999 (customer\_email değişkeni varsa isteğe bağlı parametre, ilk ödeme sonrası yukarıdaki açıklamada görünür)\
**num** - indirimin geçerli olacağı ödeme sayısı (isteğe bağlı parametre; gönderilmezse indirimli ödeme sayısı sınırsızdır)

profile\_id - Prodamus sistemindeki profil ID’si\
\
**İstek başarıyla tamamlanırsa işlev 'ok' döndürür; istek hatayla çalışırsa işlev hata açıklamasını döndürür.**

{% hint style="warning" %}
İndirim tutarı ve aralık SADECE işlev yeni değerlerle tekrar çağrılırsa üzerine yazılır!
{% endhint %}

#### **Örnekler:**

1\. Tüm sonraki otomatik ödemeler için 1 ruble tutarında indirim tanımlama (telefon numarası belirtilmez, çünkü otomatik olarak customer\_phone değişkeninden alınacaktır; indirimli tahsilat sayısı varsayılan olarak abonelik süresinin tamamı için geçerlidir)&#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 tanımlama (telefon numarası boş tırnaklarla değiştirilmiştir, çü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\. Ondalık kısmı yüzdeye kadar olan bir sayı biçiminde indirim tanımlama örneği (ayırıcı nokta), sayısal veriler tırnaksız belirtilir, telefon numarası değişken üzerinden iletilir

<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 ait bir sonraki ödeme tarihi nasıl ayarlanır

Bu yöntemle aboneliğe ait bir sonraki ödeme tarihi ileri alınabilir. Tarih yalnızca mevcut belirlenmiş sonraki ödeme tarihine göre "geleceğe" kaydırılabilir. Böylece kulüpte kalış süresi uzatılır.

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

Bunun için şu işlevi kullanmanız gerekir:

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

burada:

**subscription\_id** - abonelik ID'si \
**date** - gg.aa.yyyy ss:dd biçiminde tarih veya gg.aa.yyyy, bu durumda saat 00:00 olur\
**customer\_phone** - zorunlu değildir; gönderilmezse customer\_phone değişkeninden alınır, orada da bulunmazsa çalışmaz\
**profile\_id** - Prodamus sistemindeki profil ID’si

## Parametreler Prodamus'a nasıl iletilir

Prodamus'a ihtiyaç duyduğunuz parametreleri (örneğin, abonelik başlangıç tarihi, taksitli ödeme kapatma vb.) iletmek için, 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 iletilir.

## Ödeme nasıl test edilir

{% hint style="info" %}
Sadece ödemeyi test ediyoruz!
{% endhint %}

Entegrasyon 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 kartlarını kullanabilirsiniz

Sberbank test kartları:&#x20;

MIR\
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ından yapılan ödemelerde, yapılandırılmış tüm huniler ve entegrasyonlar normal ödemede olduğu gibi çalışacaktır !&#x20;
{% endhint %}

Form test edildi

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


---

# 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/prodamus/prodamus-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.
