Prodamus (KZ)
Prodamus nasıl bağlanır
Prodamus'u bağlamak için ödeme formunun URL adresi ve gizli anahtar gerekir.
Ödeme formunun URL adresi kayıt sonrasında verilir, örneği: demo.payform.ru.
Gizli anahtarı kişisel hesabınızdan alabilirsiniz; ayrıca bildirimlerin gönderileceği URL adresini de orada belirtmeniz gerekir.

Bunu nasıl yapacağınıza dair ayrıntılı kılavuz
Bildirim adresi: https://chatter.mavibot.ai/prodamus_callback/result
Bu adresi ayarlarda iki yerde belirtmek gerekir.
Ayarların ana sayfasında ödeme formunun çalışma modunu seçebilirsiniz: ödemesiz demo modu veya ödeme kabul etme modu.

Bildirim adresini ödeme sisteminin ayarlarında iki yerde belirtmek gerekir: «Formu ayarla» sekmesinde — tek seferlik (normal) ödemeler için ve «Abonelikler» sekmesinde — abonelik ödemeleri için.

Bildirim adresi: https://chatter.mavibot.ai/prodamus_callback/result
Abonelik ödemeleriyle çalışmayı ayarlamak için «Abonelikler» sekmesine gidin ve bildirim adresini belirtin:
https://chatter.mavibot.ai/prodamus_callback/result

Dikkat! URL adresini girdikten sonra mutlaka «Kaydet» düğmesine tıklayın.
Prodamus'u bağlamak için «Ekvayring» bölümüne geçmek gerekir.

Sonra yukarıda belirtilen verileri forma girmek yeterlidir:

Önemli! Ödeme formunun URL adresini belirtirken https:// eklemeyin.
Böylece bağlantı tamamlandı. Şimdi bu işlevselliğin nasıl kullanılacağına bakalım.
Ödeme bağlantısı nasıl oluşturulur
«Öde» işlevine sahip düğme
Ödeme bağlantısı, «Öde» işlevine sahip bir düğmede oluşturulabilir.
Şimdi bu düğmenin tüm olası parametrelerini inceleyelim.
Prodamus için «Öde» düğmesinin zorunlu parametreleri
Ödeme bağlantısı oluşturmak için düğme ayarlarında zorunlu parametreleri belirtmek gerekir: «Tutar», «Ürün adı» ve ayrıca «Ödenen içerik» parametresi — kendi çevrim içi kasanız yoksa ve Prodamus'tan makbuz almak istiyorsanız.
Sipariş sayfasına geçildiğinde ürün ve fiyat bilgisi önceden gösterilir, müşteri yalnızca iletişim bilgilerini girer.
Düğme ayarlarında kullanıcının E-posta ve/veya telefonu belirtilmişse, sipariş sayfasında ödeyenin iletişim bilgileri ile ürün ve fiyat bilgisi gösterilir.

«Metin» alanı — bu metin, ödeme bağlantısı olan düğmede mesajda gösterilir.
«İşlev» alanı — ödeme bağlantısı veren bir düğme oluşturmak için «Öde» işlevini seçiyoruz.
«Ödeme sistemi» alanı — projeye bağlı ödeme sistemleri listede gösterilir. Projeye hiç ödeme sistemi bağlı değilse, bu düğme türü kullanılamaz olacaktır.
«Ürün adı» alanı (zorunlu) — ürünün tam adını belirtmek gerekir. Örneğin: «Telefon» değil, «Xiaomi akıllı telefon, model …». Not: Ürün adında çift tırnak işaretleri kullanmayın; kaldırın ya da tek tırnakla değiştirin.
«Tutar» alanı (zorunlu) — ürünün fiyatını giriyoruz.
«Ek bilgi» menüsü — bu düğmeye tıkladığınızda 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ının geçerlilik süresi
Abonelik için ürün ID'si (otomatik ödeme için)
Ödenen içerik
«Tıklama bildirimi» onay kutusu — ödeme bağlantısına geçişi izlemek için işaretlenebilir. Bu durumda düğmeye tıklandığında, MaviBot'taki müşteri diyaloguna bağlantıya geçiş yapıldığına dair bir bildirim gelir.

Bu bildirime göre botun sonraki çalışma mantığını ayarlayabilirsiniz. Birçok ödeme sistemi, 54-FZ gerekliliklerine göre gerekli olan bulut tabanlı çevrim içi kasaları destekler.
Vergi dairesiyle sorun yaşamamak için seçilen ödeme sisteminin sitesinde fiş düzenleme özelliklerini okuyun.
İşte «Öde» düğmesindeki bağlantıya geçildiğinde açılan ödeme sayfası böyle görünür:

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

«Sipariş açıklaması» alanı — bu alana girilen bilgiler ödeme sayfasında Ek veriler alanında gösterilir.
«İndirim» alanı — burada indirim miktarını ruble veya ruble ve kuruş olarak belirtebilirsiniz. Kuruşları göstermek için ayırıcı olarak nokta kullanın: 50.99 Ödeme sayfasında Ödenecek tutar alanında indirim dikkate alınarak gösterilir, ana ürün fiyatı ise üzeri çizili olur.
«Alıcının E-posta değişkeni» alanı (zorunlu değil, telefon numarası belirtilmişse) — burada kullanıcının (müşterinin) E-postası belirtilir. Saklanan E-posta değişkenini de kullanabilirsiniz, örneğin: #{email}
«Alıcının telefon numarası değişkeni» alanı (zorunlu değil, E-posta belirtilmişse) — burada alıcının telefon numarasını içeren bir değişken kullanılabilir, format: 79000000000, örneğin: #{phone}
Mutlaka E-posta ve/veya telefon olmalıdır.
«Bağlantının geçerlilik süresi» alanı — tarihi gg.aa.yyyy ss:dk formatında gösterebilirsiniz (örneğin, 25.01.2021 11:00) veya bağlantının bitiş tarihini değişken ile belirleyebilirsiniz. Örneğin: #{link_expired}
«Abonelik için ürün ID'si» alanı — otomatik ödeme oluşturmak için ürün ID değerini girin. Abonelik oluşturmak için abonelik ürünü oluşturmanız gerekir. Ayrıntılı kılavuz: Prodamus abonelikleri oluşturma ve ayarlama Abonelik için ürün ID'si belirtilirse, ödeme tutarı dikkate alınmaz. Ürün hakkındaki bilgiler Prodamus panelindeki ürün kartından alınır. Ödemede belirtilen telefon numarası aboneliği yönetmek için gerekli olacaktır. Abonelik için ürün ID'si belirtilirse, başarılı ödeme durumunda callback'te bu ürünün ID'si iletilir.
«Ödenen içerik» alanı (şartlı zorunlu) — kendi çevrim içi kasanız yoksa, Prodamus üzerinden ödemeyi fiskalleştirmek için bu veriler gerekir. Bu alana satın alma açıklaması, fiyatı ve içeriğe bağlantı belirtilir.
Örneğin: Kurs 'Saç Örgüsü Yapma', fiyatı 3000 ruble, kurs sayfasına bağlantı: https://nbu.su/krasota/master-po-pleteniyu-kos/?yclid=13602995275739430911
«Öde» işlevine sahip düğme
Bağlantının geçerlilik süresini belirtirseniz, şu durum olur: Kullanıcı, ödeme bağlantısını geçerlilik süresi içinde (yani bağlantının süresi henüz dolmamışken) ister ve sohbet içindeyse, ödeme yapılamaz ve ona şu mesaj gösterilir:
Bağlantının geçerlilik tarihi mevcut tarihten sonra olmalıdır; aksi takdirde müşteri bu bağlantıyla ödeme yapamaz.
2. Kullanıcı bağlantıyı isterken, eğer şu anda aktif değilse
Bu durumda düğme görünmez. Müşterinin değişkenlerinde "error_payment_button" değişkeni görünür ve değeri şöyle olur:
"Hata: Bağlantının geçerlilik süresi mevcut tarihten sonra olmalıdır".
Kullanıcının ödemeyi doğru yapabilmesi için bu durumu ayrıca işlemeniz önerilir.
Şu koşullu bloğu oluşturun:
Aşağıdaki mesaj gelirse:
error_payment_button == "Hata: Bağlantının geçerlilik süresi mevcut tarihten sonra olmalıdır"
O zaman şu metni gösterin: "Üzgünüz, ödemeyi zamanında yapamadınız, ödeme bağlantısı geçersizdi".


«Öde» işlevine sahip düğme kullanıldığında otomatik olarak oluşturulan müşteri değişkenleri
Kullanıcı «Öde» düğmeli bloğu aldığı anda, müşteri için otomatik olarak değişkenler oluşturulur:
Hizmet müşteri değişkeni __payments — bu değişken tutarı ve oluşturulan bağlantının kimliğini saklar ve ödeme sisteminden gelen webhook'u belirlemek için gereklidir.
Hizmet müşteri değişkeni __payments-ı silinemez veya değiştirilemez!
error_payment_button müşteri değişkeni düğme oluşturulurken hata oluşursa otomatik olarak oluşturulur.
Bu değişkene hata metni veya ödeme sisteminden gelen hata yanıtı yazılır.
Değişkenlerin değerleri bir sonraki bloğa geçildiğinde güncel olur.
Sonuç nasıl işlenir
Başarılı ödeme
Başarılı ödeme yapıldıktan sonra bot'a OTOMATİK olarak CALLBACK gelir; bu, ödeme sisteminin gizli anahtarının ilk 10 karakterinden, _success sözünden ve ödeme tutarından oluşur.
Şemayı ayarlamada kullanmak için kopyalamanız yeterlidir.
Örneğin: ovg58keefc_success 44, burada:
ovg58keefc— ödeme sisteminin gizli anahtarının ilk 10 karakteri_success— isteğin işlenme sonucu (başarılı ödeme)44— ödeme tutarı
Kullanıcı, ödeme sisteminden gelen callback'leri (bildirimleri) GÖRMEZ. Bunlar yalnızca «Müşteriler» sekmesinde gösterilir ve operatöre görünür.
Kullanım örneği: 1. adım. «Öde düğmeli» bloğa «Öde» işlevine sahip düğmeler ekliyoruz. 2. adım. Bu bloktan «Başarılı ödeme» bloğuna geçen Bağlantı koşulu alanında callback'i belirtiyoruz. Aynı şekilde, eğer «Başlangıç koşulu» bloğunun koşulunda başarılı ödeme callback'i belirtilirse, çalışma benzer şekilde gerçekleşir.
Önemli: «Tam eşleşme» veya «Anahtar kelimelere göre» seçeneğini seçmek.
❗️Eğer ödemeyi, tam koşulda belirtilen oku kullanarak kontrol etmeye karar verirseniz, şemanızın mantığını dikkatlice düşünün. Müşteri callback ile koşul üzerinden geçen bloğu terk ederse, bloğa geçiş olmayacaktır. Böyle bir kontrol yöntemini yalnızca müşteri hunideki yerini değiştirmemişse kullanmak daha iyidir.
Müşterinin bloklar arasında hareket ettiği şemalarda callback'i «Başlangıç koşulu» bloğunda belirtme seçeneğini kullanmak daha avantajlıdır.

Otomatik aboneliği olan ürünler için başarılı ödeme
Başarılı ödeme yapıldıktan sonra bot'a OTOMATİK olarak CALLBACK gelir; bu, ödeme sisteminin gizli anahtarının ilk 10 karakterinden, _success sözünden ve abonelik ürününün ID'sinden oluşur.
Örneğin: 214009eefc_success 618117, burada:
009eefc— ödeme sisteminin gizli anahtarının ilk 10 karakteri_success— isteğin işlenme sonucu (başarılı ödeme)618117— abonelik ürününün ID'si

Başarısız ödeme
Ödeme gerçekleştirilirken hata oluşursa bot'a OTOMATİK olarak CALLBACK gelir; bu, ödeme sisteminin gizli anahtarının ilk 10 karakterinden, _fail sözünden ve ödeme tutarından oluşur.
Örneğin: ovg58keefc_fail 44, burada:
ovg58keefc— ödeme sisteminin gizli anahtarının ilk 10 karakteri_fail— isteğin işlenme sonucu (ödeme gerçekleşmedi veya hata oluştu)44— ödeme tutarı
Bu, ödeme sistemine bağlıdır. Tüm ödeme sistemleri ödeme hatası hakkında callback göndermez.
Düğme ayarlarında belirtilen tutar, müşterinin ödediği tutardan farklıysa, bot'a OTOMATİK olarak CALLBACK gelir. Bu, ödeme sisteminin gizli anahtarının ilk 10 karakterinden, _different_amounts sözünden ve ödemenin benzersiz ID'sinden oluşur.
Örneğin: ovg58keefc_different_amounts 123456, burada:
ovg58keefc— ödeme sisteminin gizli anahtarının ilk 10 karakteri_different_amounts— isteğin işlenme sonucu (ödeme tutarı bağlantıdaki tutardan farklı)123456— ödemenin benzersiz ID'si
Hesaplayıcıdaki get_prodamus_payment_url fonksiyonu
get_prodamus_payment_url fonksiyonuÖdeme bağlantısı oluşturmak için Hesaplayıcı bloğundaki get_prodamus_payment_url fonksiyonunu kullanabilirsiniz.
Hesaplayıcı alanında değişkene bu fonksiyonun değerini atıyoruz: get_prodamus_payment_url.
Değişken adını kendiniz seçersiniz. Ekran görüntülerinde değişken adlandırma örnekleri gösterilmiştir.
Bu değişkene ödeme için bağlantı yazılır. Değişkeni mesajda bağlantı olarak gösterebilir veya «Öde» metni olan düğmeye yerleştirebilirsiniz.
Ödeme bağlantısı örneği: https://payform.kz/7p3JR8/
Örnek 1:

your_variable = get_prodamus_payment_url(amount, product_name, expired, customer_phone, customer_email, discount, description, extra_params, products_for_receipt)
Fonksiyon parametreleri:
amount
Ödeme tutarı — tam sayı veya noktayla ayrılmış sayı olarak verilebilir. Örneğin: 25 veya 52.5. (zorunlu parametre)
product_name
Ürün adı (zorunlu parametre)
expired
Ödeme bağlantısının geçerlilik süresi – gg.aa.yyyy formatında (örneğin, 25.01.2021).
Ayrıca, Hesaplayıcı alanında şöyle gösterebilirsiniz:
expired = current_date + 2 (bağlantı 2 gün boyunca 00:00'a kadar geçerli olur).
Kesin saat belirtmek de mümkündür: gg.aa.yyyy ss:dk (örneğin, 25.01.2021 12:23).
Standart değişkenler de kullanılabilir; örneğin, bağlantının geçerliliğini 30 dakika olarak ayarlamak:
Bu parametreyi atlamak isterseniz, yerine tek tırnak, çift tırnak veya None değerini verebilirsiniz.
customer_phone
Alıcının telefon numarası — zorunlu değil, eğer customer_email parametresi verilmişse.
Bu parametreyi atlamak isterseniz, yerine tek tırnak veya çift tırnak verebilirsiniz.
customer_email
Alıcının E-posta adresi — zorunlu değil, eğer customer_phone parametresi verilmişse.
Bu parametreyi atlamak isterseniz, yerine tek tırnak veya çift tırnak verebilirsiniz.
discount
İndirim tutarı — parametreyi tam sayı veya noktalı sayı olarak verebilirsiniz: 25 veya 63.5.
Bu parametreyi atlamak isterseniz, yerine tek tırnak veya çift tırnak verebilirsiniz.
description
Ürün açıklaması (belirtilmezse, otomatik olarak 'Fatura ödemesi order_id' doldurulur).
Bu parametreyi atlamak isterseniz, yerine tek tırnak veya çift tırnak verebilirsiniz.
extra_params
Ek parametreler, bu fonksiyonda olmayan parametreler. Kullanılabilir ek parametreleri ödeme sisteminin API ile çalışma dokümantasyonunda görebilirsiniz: Prodamus REST API
Örneğin:
Bu parametreyi atlamak isterseniz, yerine tek tırnak/çift tırnak veya None değerini verebilirsiniz.
products_for_receipt
50 ila 4000 karakterlik dize formatında "sipariş açıklaması - fiyat - satın alınan kaynağa bağlantı".
Örneğin:
“‘Leş balığı avlama’ kursu, fiyatı 4999 ruble, kurs sayfasına bağlantı: https://www.lovilescha.ru/courses/poimai_kilogram/"
Bu parametre zorunludur; kendi çevrim içi kasanız yoksa, Prodamus üzerinden ödemeyi fiskalleştirmek için gerekir.
extra_params = {"payments_limit": "3"}
products_for_receipt = "‘Leş balığı avlama’ kursu, fiyatı 4999 tenge, kurs sayfasına bağlantı: https://www.lovilescha.ru/courses/poimai_kilogram/"
link_prodamus_url = get_prodamus_payment_url( 4999, '‘Leş balığı avlama’ kursu', '27.03.2023 17:00', '79167777771', 'mail@mail.com', 20, 'Pazardaki en iyi kurs', extra_params, products_for_receipt
Bu örnekte:
extra_params— ek parametreler (örneğin, ödeme limiti).products_for_receipt— fişte gösterilecek ürün bilgisi.get_prodamus_payment_urlfonksiyonu aracılığıyla ödeme bağlantısı oluşturulur.
Blokta birkaç bağlantı alma fonksiyonu varsa ve hata oluşursa, hata değeri error_payment_func değişkenine yazılır.
Hata, son fonksiyon için Hesaplayıcıda yazılır.
payment_sum değişkeni ve ek parametreler aracılığıyla bağlantı oluşturma
payment_sum değişkeni ve ek parametreler aracılığıyla bağlantı oluşturmaDikkat: payment_sum değişkenine değer son değişkenden verilir; yani zorunlu olmayan değişkenlerden sonra: payment_description, product_name vb.
Ödeme bağlantısı oluşturmak için Hesaplayıcı alanında payment_sum değişkeninin değerini ayarlamak yeterlidir.
Bundan sonra otomatik olarak prodamus_pay_url değişkeni oluşur.
Ödeme bağlantısı örneği: https://payform.ru/7p3JR8/
Bu değişkeni mesajda bağlantı olarak gösterebilir veya «Öde» metni olan düğmeye yerleştirebilirsiniz.
payment_sum değişkenini bildirmeden önce şu zorunlu olmayan değişkenleri belirtebilirsiniz:
product_name
Ürün adı (belirtilmezse, otomatik olarak "Fatura ödemesi order_id" doldurulur) – aşağıdaki ekran görüntüsünde nerede gösterildiği belirtilmiştir.
payment_description
Ürün açıklaması (belirtilmezse, otomatik olarak 'Fatura ödemesi order_id' doldurulur) – aşağıdaki ekran görüntüsünde nerede gösterildiği belirtilmiştir.
discount_value
İndirim tutarı (örneğin, discount_value = 25 veya discount_value = 50.25)
customer_phone
Alıcının telefon numarası — başka bir parametre verilmişse zorunlu değildir.
customer_email
Alıcının E-posta adresi
link_expired
Ödeme bağlantısının geçerlilik süresi – gg.aa.yyyy formatında (örneğin, 25.01.2021).
Ayrıca, Hesaplayıcı alanında şöyle gösterebilirsiniz:
link_expired = current_date + 2 (bağlantı 2 gün boyunca 00:00'a kadar geçerli olur).
link_expired
Ayrıca, tam saat belirtilebilir, format: gg.aa.yyyy ss:dk (örneğin, 25.01.2021 12:23).
Standart değişkenler de kullanılabilir; örneğin bağlantının geçerlilik süresini 30 dakika olarak ayarlamak:
time = current_time + 30 link_expired = "#{current_date} #{time}"
currency
Ödeme para birimi, varsayılan olarak "rub".
Parametrelerin tam listesi:
rubusdeurkzt
Bu parametre küçük harflerle verilmelidir.
payment_title
Ödeme başlığı (127 karaktere kadar). Belirtilmezse, otomatik olarak şu metinle doldurulur:
“Fatura ödemesi payment_id” (payment_id — MaviBot'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. formatında gösterilir. Varsayılan değer – ru-RU.
Tam listeye şu bağlantıdan bakabilirsiniz
products_for_receipt
50 ila 4000 karakterlik dize formatında "sipariş açıklaması - fiyat - satın alınan kaynağa bağlantı".
Örneğin:
“Çipura avı kursu”, fiyatı 4999 tenge, kurs sayfası bağlantısı: https://www.lovilescha.ru/courses/poimai_kilogram/"
Bu zorunlu bir parametredir; kendi çevrimiçi kasanız yoksa, Prodamus üzerinden ödemeyi fiskalleştirmek için gereklidir.
payment_sum
(zorunlu) ödeme tutarı
discount_value, customer_phone, customer_email ve link_expired değişkenleri abonelikler için de geçerlidir.

Uygulama örneği. İlk blokta ödeme tutarını ayarlıyoruz:

Sonraki adımda gerekli yerde prodamus_pay_url bağlantısını çıkarıyoruz:

prodamus_available_payment_methods değişkeni payment_sum yayınlamadan önce belirlenir.
Olası değerler:
AC
Rusya Federasyonu'nda çıkarılmış kartla ödeme
ACkz
Kazakistan kartıyla ödeme
ACf
BDT ülkelerinin kartlarıyla ödeme, Rusya Federasyonu hariç
ACEURNMBX
Rusya ve Belarus hariç tüm ülkelerin EUR kartıyla ödeme
SBP
Kart bilgisi girmeden hızlı ödeme. Rus kartları için
QW
Qiwi cüzdanı
PC
YuMoney
GP
Ödeme terminali
sbol
Sberbank Online
invoice
Fatura ile ödeme
installment
Prodamus üzerinden taksit
installment_5_21
Prodamus üzerinden 3 aylık taksit
installment_6_28
Prodamus üzerinden 6 aylık taksit
installment_10_28
Prodamus üzerinden 10 aylık taksit
installment_12_28
Prodamus üzerinden 12 aylık taksit
installment_0_0_3
Tinkoff üzerinden 3 aylık taksit
installment_0_0_4
Tinkoff üzerinden 4 aylık taksit
installment_0_0_6
Tinkoff üzerinden 6 aylık taksit
installment_0_0_10
Tinkoff üzerinden 10 aylık taksit
installment_0_0_12
Tinkoff üzerinden 12 aylık taksit
installment_0_0_24
Tinkoff üzerinden 24 aylık taksit
installment_0_0_36
Tinkoff üzerinden 36 aylık taksit
credit
Tinkoff üzerinden kredi
vsegdada_installment_0_0_4
“ВсегдаДа” üzerinden 4 aylık taksit (available_payment_methods ile çalışmaz)
vsegdada_installment_0_0_6
“ВсегдаДа” üzerinden 6 aylık taksit
vsegdada_installment_0_0_10
“ВсегдаДа” üzerinden 10 aylık taksit
vsegdada_installment_0_0_12
“ВсегдаДа” üzerinden 12 aylık taksit
vsegdada_installment_0_0_24
“ВсегдаДа” üzerinden 24 aylık taksit
vsegdada_installment_0_0_36
“ВсегдаДа” üzerinden 36 aylık taksit
sbrf_installment_0_0_6
Sberbank üzerinden 6 aylık taksit
sbrf_installment_0_0_10
Sberbank üzerinden 10 aylık taksit
sbrf_installment_0_0_12
Sberbank üzerinden 12 aylık taksit
sbrf_installment_0_0_24
Sberbank üzerinden 24 aylık taksit
sbrf_installment_0_0_36
Sberbank üzerinden 36 aylık taksit
otp_installment_0_0_6
«OTP Bankası» üzerinden 6 aylık taksit
otp_installment_0_0_10
«OTP Bankası» üzerinden 10 aylık taksit
otp_installment_0_0_12
«OTP Bankası» üzerinden 12 aylık taksit
otp_installment_0_0_24
«OTP Bankası» üzerinden 24 aylık taksit
otp_installment_0_0_36
«OTP Bankası» üzerinden 36 aylık taksit
mts_installment_0_0_6
«MTS Bankası» üzerinden 6 aylık taksit
mts_installment_0_0_10
«MTS Bankası» üzerinden 10 aylık taksit
mts_installment_0_0_12
«MTS Bankası» üzerinden 12 aylık taksit
mts_installment_0_0_24
«MTS Bankası» üzerinden 24 aylık taksit
mts_installment_0_0_36
«MTS Bankası» üzerinden 36 aylık taksit
monetaworld
Dünya bankalarının kartları, Rusya hariç
sbrf_bnpl
Sber üzerinden taksit
Birden fazla değerli dikey çizgiyle ayrılmasına izin verilir. Örneğin:
prodamus_currency – bu, tutarı belirli bir para biriminde göstermeye olanak tanıyan başka bir ek parametredir.
Olası para birimleri:
kzt– tenge içineur– euro içinusd– dolar için
Böylece bağlantıda belirtilen tutar seçilen para biriminde olacaktır.
Callback payment_callback alındığında currency ve currency_sum parametrelerine dikkat etmek gerekir; burada para birimi ve tutar belirtilir.
Belirtilmezse, ödeme yöntemleri olmayan sayfaya yönlendirilir. Ödeme yöntemlerini destekleyerek ekleyebilirsiniz. Eklenen yöntemleri sayfa ayarlarından veya ödeme bağlantısını deneyerek görebilirsiniz.


Sonuç nasıl işlenir
Başarılı ödeme
Önemli: Başarılı veya başarısız ödemeden sonra bot'a callback'ler gelir; bunlar sayesinde ödemenin başarıyla yapılıp yapılmadığını anlayabilirsiniz.
Callback'ler sistemde kullanıcıdan gelen mesajlar gibi görünür, ancak kullanıcı tarafından gönderilemezler. Gizli anahtar ve durumun birleşimi şeklinde olurlar. Örneğin:
veya
Başarılı ödemeden sonra prodamus_payment_completed değişkeni otomatik olarak True değerini alır.
Not: Callback'ler biraz gecikmeli gelir, bu yüzden bağlantıyı kullanıcıya gönderdikten sonra bir mesaj göndermek daha iyidir:
“Ödeme yaptıktan sonra ödemenin başarıyla tamamlanmasını bekleyin.”
Callback yapısı
Ödeme butonu üzerinden veya Hesaplayıcıdaki fonksiyon aracılığıyla oluşturulan bağlantılar için, ödemeden sonra bot'a otomatik olarak callback gelir. İçeriği şöyledir:
Örneğin:
ovg58keefc– ödeme sisteminin tam gizli anahtarı_success— isteğin işlenme sonucu (başarılı ödeme)
Pratik kullanım
Başarılı ödemeyi koşullu blokla işleyip kullanıcıya uygun mesaj gösterebilirsiniz.

Karşılaştırma türü "Full match" / "Tam eşleşme" olmalıdır
Yeniden ödeme yapmak için mutlaka payment_sum değişkenini sıfırlayıp daha önce oluşturulan bağlantıyı silmek gerekir. Ancak ondan sonra payment_sum değişkenine yeni değer verip güncellenmiş bağlantıyı alabilirsiniz.
Aboneliği devre dışı bırakma/yeniden etkinleştirme
Ayrıca, Prodamus sisteminde aboneliğin etkinleştirildiği veya durdurulduğu hakkında bildirimler vardır:

«Aboneliği kullanıcı devre dışı bıraktı» – abonelik manuel olarak durdurulursa (örneğin abonelik iptal edildiğinde). Bu bildirim, mevcut ödenmiş dönem bitmeden önce gelebilir. Yapılacak işlem sizin kararınıza bağlıdır: yok saymak, izlemeye almak veya kullanıcıyı geri kazanmaya çalışmak.
«Aboneliği kullanıcı yeniden etkinleştirdi» – abonelik geri yüklenmiştir. Bu bildirim, mevcut ödenmiş dönem bitmeden önce kullanıcı aboneliği geri yüklerse gelebilir. Yapılacak işlem sizin kararınıza bağlıdır: yok saymak veya izleme listesinden çıkarmak.
«Aboneliği devre dışı bırakma» – birkaç başarısız ödemeden sonra abonelik durdurulduğunda.
Callback'ten değerleri kaydetme
Başarılı ödeme bildirimi geldikten sonra payment_callback değişkenine Prodamus'tan callback yazılır; içinde tüm ödeme verileri bulunur. Bu verileri kaydedip kendi istediğiniz şekilde kullanabilirsiniz.
Callback örneği:
Bağlantı oluştururken product_name ve payment_description değişkenlerini belirtebilirsiniz. O zaman callback geldiğinde bunları şöyle alabilirsiniz:

Dikkat: payment_sum değişkenine son değer verilir, bu da zorunlu olmayan değişkenlerden sonra gelir: payment_description, product_name.
Tutar şu şekilde alınabilir:
Mevcut callback'ler
Ana başarılı ödeme callback'lerinden ayrı olarak, sohbet içinde kullanıcının görmediği mesajlar şunlardır:
callback'ler
Aboneliği kullanıcı devre dışı bıraktı (daha fazla bilgi burada)
Aboneliği kullanıcı yeniden etkinleştirdi (daha fazla bilgi burada)
Abonelik tamamlandı
Başarısız ödeme - açıklamalı ek not (yukarıdaki ekran görüntüsünde)
Yaklaşan tahsilat bildirimi - yaklaşan tahsilatın tarih ve saati
Durumlu taksit başvurusu
Müşteriyle diyaloğdaki callback örnekleri
Aboneliği kullanıcı devre dışı bıraktı
Aboneliği kullanıcı yeniden etkinleştirdi
Abonelik tamamlandı
Başarısız ödeme - Yetersiz bakiye.
Başarısız ödeme - Kartın kullanım süresi doldu.
Başarısız ödeme - Kart limiti aşıldı.
Başarısız ödeme - Kart kayıp
Başarısız ödeme - Sistem hatası
Başarısız ödeme - İşlem reddedildi. Kartı çıkaran bankayla iletişime geçin.
Başarısız ödeme - İşlemin gerçekleştirilmesi kartı çıkaran banka tarafından reddedildi.
Başarısız ödeme - İşlemin gerçekleştirilmesi banka tarafından reddedildi.
Yaklaşan tahsilat bildirimi - gg.aa.yyyy ss:dd
Taksit başvurusu onaylandı
Taksit başvurusu iptal edildi
Taksit başvurusu reddedildi
İsteğe bağlı olarak kullanıcıya herhangi bir mesaj gönderimini ayarlayabilirsiniz. Örneğin, otomatik ödeme başarısız olduğunda mesaj göndermek.
Başarısız ödeme için belirli bir nedene göre mesaj yanıt bloklarını şu şekilde ayarlayabilirsiniz:

Sebebi ne olursa olsun tüm başarısız ödemelere mesaj göndermek için şu şekilde ayarlayabilirsiniz:

Tüm callback'lerde, eğer metinde «Ödeme başarısız» ifadesi varsa, kullanıcıya sizin belirlediğiniz metinle mesaj gönderilir.
Abonelikle ödeme nasıl yapılır
Abonelik nasıl oluşturulur
Abonelik oluşturmak için önce abonelik ürünü oluşturmak gerekir. Tam rehber: Abonelik nasıl oluşturulur ve ayarlanır
Daha sonra abonelik ürününün ID'sini kopyalarız. Örneğin, aşağıda nereden alınacağı gösterilmiştir:
Abonelik ödeme bağlantısı oluşturmak için, prodamus_subscription değişkenine abonelik ürününün ID'sini ayarlamak gerekir. Bundan sonra otomatik olarak prodamus_pay_url değişkeni oluşur.

Kazakçaya çeviri (resmî üslup):
prodamus_pay_url değişkenini ekranda bağlantı olarak gösterebilir veya üzerinde «Öde» yazan bir butona yerleştirebilirsiniz. Bağlantı örneği: https://payform.kz/7p3JR8/
Sonucun işlenmesi tek seferlik ödemedeki gibi gerçekleşir (yukarıda okuduğunuz gibi).
Başarılı abonelikten sonra kullanıcıya ödeme sırasında girilen customer_phone değişkeni eklenir. Telefon numarası aboneliği yönetmek için gereklidir.
Eğer customer_email verilmezse, aboneliği yönetmek için customer_phone zorunludur.
get_prodamus_subscription_url fonksiyonuyla abonelik bağlantısı nasıl oluşturulur
get_prodamus_subscription_url fonksiyonuyla abonelik bağlantısı nasıl oluşturulurÜrün için abonelik ödeme bağlantısı oluşturmanın başka bir yöntemine bakalım.
Prodamus panelinden abonelik ürünü oluşturulur. Tam rehbere şu bağlantıdan bakabilirsiniz: Abonelik nasıl oluşturulur ve ayarlanır
Daha sonra abonelik ürününün ID'sini kopyalarız. Örneğin, aşağıda nereden alınacağı gösterilmiştir:
Abonelikle ürün ödeme bağlantısını almak için Hesaplayıcıda şu fonksiyonu belirtiriz:
get_prodamus_subscription_url(subscription_id, product_name, expired, customer_phone, customer_email, discount, description, extra_params, products_for_receipt)
Örnek 1: Abonelik ürününe ödeme bağlantısı

link = get_prodamus_subscription_url(subscription_id, product_name, expired, customer_phone, customer_email, discount, description, extra_params, products_for_receipt)
Fonksiyonun parametreleri:
subscription_id
Abonelik ürününün ID'si – Prodamus panelinden kopyalanabilir (zorunlu parametre).
product_name
Ürünün adı (zorunlu parametre).
expired
Ödeme bağlantısının geçerlilik süresi – gg.aa.yyyy formatında (örneğin, 25.01.2021).
Ayrıca, «Hesaplayıcı» alanında da belirtilebilir:
expired parametresi gerçek saatle de belirtilebilir; format: gg.aa.yyyy ss:dd (örneğin, 25.01.2021 12:23).
Standart değişkenler de kullanılabilir; örneğin bağlantının geçerlilik süresini 30 dakikaya ayarlamak:
Bu parametreyi atlamak isterseniz, yerine tek veya çift tırnak ya da None değerini verebilirsiniz.
customer_phone
Ödeme yapan kişinin telefon numarası — zorunlu değil, eğer customer_email parametresi verilir.
Bu parametreyi atlamak isterseniz, yerine tek veya çift tırnak verin.
customer_email
Ödeme yapan kişinin e-postası — zorunlu değil, eğer customer_phone parametresi verilir.
Bu parametreyi atlamak isterseniz, yerine tek veya çift tırnak verin.
discount
İndirim tutarı – parametre tam sayı ya da ondalık sayı olarak verilebilir: 25 veya 63.5.
Bu parametreyi atlamak isterseniz, yerine tek veya çift tırnak verin.
description
Ürünün açıklaması – belirtilmezse varsayılan olarak 'Fatura ödemesi order_id' doldurulur.
Bu parametreyi atlamak isterseniz, yerine tek veya çift tırnak verin.
extra_params
Ek parametreler, bu fonksiyonda bulunmayan parametrelerdir. Olası ek parametreleri ödeme sisteminin API dokümantasyonunda görebilirsiniz: Prodamus REST API kılavuzu
Örnek:
Bu parametreyi atlamak isterseniz, yerine tek/çift tırnak veya None değerini verebilirsiniz.
products_for_receipt
50–4000 karakterden oluşan bir dize, formatı: "sipariş açıklaması - fiyat - satın alınan kaynağa bağlantı"
Örnek: «Çipura avı kursu», fiyatı 4999 tenge, kurs sayfası bağlantısı: https://www.lovilescha.ru/courses/poimai_kilogram/.
Bu parametre zorunludur, kendi çevrimiçi kasanız yoksa, ödemeleri Prodamus üzerinden fiskalleştirmek için gereklidir.
extra_params = {"payments_limit": "3"}
products_for_receipt = "‘Çipura avı kursu’ kursu, aylık abonelik fiyatı 2000 tenge, kurs sayfası bağlantısı: https://www.lovilescha.ru/courses/poimai_kilogram/"
link_prodamus_sub = get_prodamus_subscription_url(618988, 'Çipura avı kursu', '27.03.2023 17:02', '79167777771', 'mail@mail.com', 20, 'Piyasadaki en iyi kurs', extra_params, products_for_receipt)
Blokta birkaç fonksiyon aracılığıyla bağlantı alma sırasında hata olursa, hata değeri error_payment_func değişkenine yazılır.
Hata, son fonksiyon için Hesaplayıcıda yazılır.
Abonelik durumu nasıl yönetilir
Bu yöntem yalnızca gerçek abonelikler içindir; demo modunda kart bağlantısı yoktur.
Aboneliği yönetmek için mutlaka customer_phone veya customer_email parametrelerinden biri verilmelidir.
Kullanıcıyı abonelikten çıkarmak için bir blok oluşturup aşağıdaki fonksiyonu çağırmak gerekir: delete_subscription_prodamus
Parametreler örneği:
url– ödeme formasının URL'si, oluşturucudaki ayarlardan alınansecret_key– ayarlardan alınan gizli anahtarid_subscription– abonelik ürününün ID'sicustomer_phone– abonelik sahibinin telefon numarasıswitcher– aboneliği yönetme:0– aboneliği durdurma,1– aboneliği yeniden etkinleştirmeprofile_id– Prodamus sistemindeki profil ID'si
Not:
Eğer profil ID gelirse, o profile_id değişkenine kaydedilir.
profile_id fonksiyonuna customer_phone veya customer_email yerine verilip abonelik durdurulabilir.
Örnek: abonelik bloklarını yapılandırma

Dikkat edin, fonksiyon status döndürür, onu kaydedip kendi isteğinize göre işleyebilirsiniz. Abonelik başarıyla durdurulduğunda veya yeniden etkinleştirildiğinde status = ok olur.
Aboneliği yönetme fonksiyonu
prodamus_subscription_switch_status(subscription_id, switcher, customer_phone, customer_email, profile_id) Parametreleri:
subscription_id – abonelik ürününün ID'si
switcher – aboneliği yönetme: 0 – aboneliği durdurma, 1 – aboneliği yeniden etkinleştirme
customer_phone – abonelik sahibinin telefon numarası; customer_email belirtilmişse zorunlu değil
customer_email – abonelik sahibinin e-posta adresi; customer_phone belirtilmişse zorunlu değil
profile_id – Prodamus sistemindeki profil ID'si

Kazakçaya çeviri (resmî üslup):
Örnek 1: customer_phone parametresi verilmiş, customer_email atlanmış:
Örnek 2: customer_email parametresi verilmiş, customer_phone atlanmış:
Fonksiyon, tüm işlemler başarıyla tamamlanırsa ok döndürür veya hata durumunda hata açıklamasını döndürür.
Abonelikte indirimleri yönetme
Bu fonksiyon, abonelik için sonraki ödemelere uygulanacak indirim tutarını ayarlar. İndirim sınırlı veya sınırsız sayıda ödemeye uygulanabilir.
Parametreleri:
subscription_id– aboneliğin ID'sidiscount– nokta sonrası iki haneli hassasiyete sahip ondalık sayı; değer sıfırdan büyük olmalı ve aboneliğin temel maliyetini aşmamalıdırcustomer_phone– müşterinin telefon numarası, format:+79999999999(zorunlu değil, eğercustomer_emaildeğişkeni varsa; ilk ödemeden sonra oluşur)num– indirimin uygulanacağı ödeme sayısı (zorunlu değil; belirtilmezse indirim tüm ödemelere uygulanır)profile_id– Prodamus sistemindeki profil ID'si
İstek başarıyla gerçekleştirilirse, fonksiyon 'ok' döndürür; hata oluşursa, fonksiyon hata açıklamasını döndürür.
İndirim tutarı ve aralık yalnızca fonksiyon yeni değerlerle yeniden çağrılırsa yeniden yazılır!
Örnekler:
1. Sonraki tüm otomatik ödemelerde 1₽ indirim verme (telefon numarası belirtilmez, çünkü otomatik olarak customer_phone değişkeninden alınır; indirim tutarı varsayılan olarak aboneliğin tüm süresine uygulanır):
2. Sonraki 3 ödeme için 2₽ indirim verme örneği (telefon numarası boş tırnaklarla verilir, çünkü otomatik olarak customer_phone değişkeninden alınır):
3. İndirimi ondalık kesirle gösterme örneği (ayırıcı nokta, değerler tırnaksız gösterilir), telefon numarası değişken aracılığıyla verilebilir.

r = prodamus_subscription_discount(#{prodamus_subscription}, 10.25, #{customer_phone}, 3)
Abonelik için sonraki ödemenin tarihini nasıl ayarlayabilirsiniz
Bu yöntemle aboneliğe ait bir sonraki ödeme tarihi taşınabilir. Tarih yalnızca mevcut ayarlanmış sonraki ödeme tarihinden geleceğe taşınabilir, böylece kulüpteki üyelik süresi uzatılabilir.
Örneğin, bu abonelere bonus olarak uygulanabilir.
Bunun için aşağıdaki fonksiyonu kullanmanız gerekir:
Parametreleri:
subscription_id– aboneliğin tanımlayıcısıdate– gg.aa.yyyy ss:dd veya gg.aa.yyyy formatında tarih; yalnızca gg.aa.yyyy verilirse saat 00:00 olurcustomer_phone– zorunlu değil; belirtilmezse,customer_phonedeğişkeninden alınır; bulunamazsa fonksiyon çalışmazprofile_id– Prodamus sistemindeki profilin ID'si
Parametreler Prodamus'a nasıl gönderilir
Gerekli parametreleri (örneğin abonelik başlangıç tarihi, taksitli ödemeyi kapatma vb.) Prodamus sistemine göndermek için değişken adının başına prodamus_ önekini ekleyin.
Sonra ödeme bağlantısı oluşturulduğunda, bu değişkendeki parametreler otomatik olarak ödeme sistemine gönderilecektir.
Ödeme nasıl test edilir
Sadece ödemeyi test ediyoruz!
Entegrasyonları ve ödeme hunilerini yapılandırırken hesabınızdan para çekilmemesi için test kartları kullanılabilir.
Önce ödeme sayfanızı DEMO moduna geçirin ⤵ «Kaydet» düğmesine basmayı unutmayın.

Test ödemesi yapmak için test hesapları kullanılabilir.
Sberbank test kartları:
MIR Kart numarası: 2202 2050 0001 2424 Son kullanma tarihi: 05/35 Arka yüzdeki doğrulama kodu (CVV): 669
MasterCard Kart numarası: 5469 9801 0004 8525 Son kullanma tarihi: 05/26 Arka yüzdeki doğrulama kodu (CVV): 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 (CVV): 941 3‑D Secure doğrulama kodu: 111111
❗️Test hesaplarıyla ödeme yaparken, tüm yapılandırılmış huniler ve entegrasyonlar normal ödemedeki gibi çalışır❗️
Form doğrulanmıştır
Gerçek ödemeleri kabul etmek için formun çalışma moduna geçmesi gerekir. Yani demo modunun anahtarını açık kırmızı duruma getirmek gerekir.
Son güncelleme