Paypal

How to set up Paypal

Paypal ile çalışmak için iki anahtar almanız gerekir: client_id ve gizli

Şu sayfaya gidin https://developer.paypal.com/developer/applications/

Ve listeden seçin veya yeni bir uygulama oluşturun:

Üstte Live moduna geçin ve istediğiniz uygulamayı seçin. Gerekli verilerin bulunduğu ayarlar sayfası açılır:

Verileri kopyalayın ve Mavibot ayarlarında ilgili alanlara yapıştırın: "Acquiring" bölümüne gidin ve Paypal hizmetini bulun:

Ardından "Connect"e tıklayın ve alanları daha önce aldığınız secret key ve Client ID ile doldurun:

Ardından "Save settings"e tıklayın. Bağlantı tamamlanır.

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

payment_sum değişkenini kullanma

Bir ödeme bağlantısı oluşturmak için, payment_sum değişkeninin değerini ayarlamanız ve hemen ardından paypal_pay_url değişkeni görünecektir.

İşlev parametreleri
Parametre açıklaması
Not

payment_title

(isteğe bağlı değişken) bu ürün adıdır.

Belirtilmemişse, şu metinle doldurulur: “Invoice payment order_id" (order_id, mavibot içindeki sipariş tanımlayıcısıdır)

payment_description

ürün açıklaması, isteğe bağlı alan

company_name

şirketinizin adı ödeme sayfasının en üstünde gösterilir (örnek aşağıdadır, company)

Ayrıca, payment_sum belirtilmeden önce ödeme sayfasının hangi dilde olacağını belirtebilirsiniz.

Bunun için locale değişkenini ayarlayın. Varsayılan dil Rusça (ru-RU). Olası seçenekler: da-DK, he-IL, id-ID, ja-JP, no-NO, pt-BR, ru-RU, sv-SE, th-TH, zh-CN, zh-HK, zh-TW vb. (mevcut diller kümesi değişebilir, asıl kaynağa bakın) bağlantı asıl kaynak)

Ödemenin hangi para biriminde kabul edileceğini de belirtebilirsiniz. Bunun için currency değişkenini belirtin, ruble (RUB) varsayılan olarak ayarlanır; dolar için değerini USD olarak ayarlayın (currency = USD). Olası para birimi seçenekleri bağlantıda bulunabilir. bağlantı bağlantı.

Ve üçüncü ek parametre company_name - şirketinizin adı, ödeme sayfasının en üstünde gösterilir (örnek aşağıdadır, company)

Düğmenin paypal_pay_url değişkeni bir bağlantıyla gösterilebilir veya "Pay" metni bulunan bir butona yerleştirilebilir.

Bağlantı şu şekilde görünür: https://www.paypal.com/checkoutnow?token=07N53571YM296381N

Uygulamaya bir örnek.

Ödeme tutarını ve şirket adını ayarlama

Lütfen dikkat: şu payment_sum değişkenine değer en son, isteğe bağlı değişkenlerden sonra atanır payment_title, company_name, vb.

Ardından, değişkeni #{paypal_pay_url} ikinci "Status" bloğunda belirtin:

  1. Değişken mesaj alanında belirtilebilir:

  1. Değişken, ek ayarlarındaki url alanında belirtilebilir:

  1. Değişken, buton ayarlarındaki url alanında belirtilebilir:

Ödeme bağlantısı açıldığında

paypal_payment_url hesaplayıcı fonksiyonunu kullanma

Bir funnel oluşturucu bloğu oluşturun ve hesaplayıcı içinde paypal_payment_url fonksiyonunu kullanarak gerekli parametreleri ona iletin:

İşlev parametreleri
Parametre açıklaması

! payment_sum

gerekli parametre ödeme tutarıdır.

currency

Varsayılan ödeme para birimi ‘USD'dir. Tam liste bağlantıda mevcuttur https://developer.paypal.com/docs/api/reference/currency-codes/

payment_title

ödeme başlığı (127 karaktere kadar). (Atlanırsa şu metinle doldurulur: “Invoice payment payment_id”, burada payment_id Mavibot'taki sipariş ID'sidir)

payment_description

ödemenin kısa açıklaması (127 karaktere kadar)

company_name

isteğe bağlı parametre, kuruluş/şirket adı vb.

locale

Ödeme sayfası dili en-US, fr-XC vb. olarak belirtilir. Varsayılan olarak ‘ru-Ru’dur. Tam liste şu bağlantıda mevcuttur https://developer.paypal.com/api/rest/reference/locale-codes/

Blok koşulu karşılandığında, müşteri bir ödeme bağlantısı alır ve paypal_payment_completed müşteri değişkeni False değeriyle oluşturulur.

url = paypal_payment_url(2500, 'RUB', 'Invoice payment payment_id','payment description', 'organization name', 'ru-Ru')

Yineleyen ödeme nasıl oluşturulur

Yineleyen ödemelerle ödeme yapmak için bir bağlantı almak ve oluşturmak üzere bir abonelik planı kişisel hesabınızda oluşturmanız gerekir.

Daha önce oluşturulmuş teklifi seçme:

Alternatif olarak, teklif adını arama çubuğuna yazın ve "Create"e tıklayın.

Paypal'da abonelik teklifi oluşturma

Otomatik çekim türü Fixed'i seçin:

Abonelik oluştur

Abonelik para birimini ve çekim koşullarını seçme:

Ardından aboneliği etkinleştirin:

Oluşturma sonrasında, daha sonra abonelik oluşturmak ve bir ödeme bağlantısı almak için kullanacağımız ID erişilebilir olacaktır.

Ödeme bağlantısı şu fonksiyon tarafından oluşturulur ve döndürülür: paypal_subscription_url(plan_id, shipping_currency, shipping_payment_sum, start_time)

İşlev parametreleri
Parametre açıklaması

! plan_id

abonelik planı ID'si

! shipping_currency

belirtilen planın ödemesi dolar ise, hiçbir şey aktarmanıza gerek yoktur; aksi halde planda belirttiğiniz para birimi kodunu aktarırız. Teslimatın ödendiği para birimi buradan iletilir (sıfır maliyet için bile). Varsayılan olarak USD

shipping_payment_sum

Bu, teslimat maliyetini belirten isteğe bağlı bir parametredir. Varsayılan olarak değer sıfıra ayarlanır.

start_time

abonelik başlangıcının tarih ve saati için isteğe bağlı parametre. Hiçbir şey aktarmazsanız, abonelik başlangıç tarihi = ödeme tarihi olur. Biçimler: %d.%m.%Y veya %d.%m.%Y %H:%M.

Bağlantı oluşturulurken, paypal_subscription_id değişkeni de görünecektir; bu değişken abonelik ID'sini içerecektir.

Ödeme sırasında, normal bir ödeme için ödeme yapmaya benzer bir callback alırsınız.

paypal_subscription_data(paypal_subscription_id) - abonelik bilgilerini alma

İşlev parametreleri
Parametrelerin açıklaması

paypal_subscription_id

abonelik ID'si.

Düğmenin fonksiyonun çalıştırılmasının sonucu - ödeme sayısı, başarısız çekim denemesi sayısı, durum ve daha fazlası dahil olmak üzere abonelikle ilgili tüm bilgileri içeren bir dizidir.

Abonelik nasıl iptal edilir

paypal_remove_subscription(paypal_subscription_id) fonksiyonu, müşterilerin hizmetlerinize olan aboneliklerini iptal etmelerine yardımcı olur.

Parametreler:

İşlev parametreleri
Açıklama

paypal_subscription_id

abonelik oluşturulurken müşteri değişkenine kaydedilen abonelik ID'si.

Sonuç Nasıl İşlenir

Başarılı bir ödemeden sonra, başarılı olduğunu bildiren callback'ler bot'a gönderilecektir.

Doğrudan ödeme için

Başarılı ödeme callback'i, gizlinin ilk 10 karakterinden ve durumla birlikte imzadan oluşur. Örneğin: EHsWHYOoWV_success

Örnek 1: "Start condition" bloğu kullanarak başarılı bir ödemeye tepki:

Örnek 2: "Start condition" bloğu kullanarak başarılı bir ödemeye tepki:

Kullanıcıyı ana chatbot akışından çıkarmak istemiyorsanız, “No-state with condition” bloğunu kullanın — kullanıcılar doğrudan bu bloğa yönlendirilemez, bu nedenle başarılı bir ödemeden sonra ana funnel içinde kalırlar ve aynı zamanda başarılı ödeme hakkında bir bildirim alırlar.

Ancak başarılı ödeme olayına göre funnel'a devam etmek istiyorsanız, “Start condition” bloğunu kullanın. Bu durumda, ödeme bloğu tamamlandıktan sonra kullanıcı “Start condition” bloğuna yönlendirilir ve buradan funnel'ınızı oluşturmaya devam edebilirsiniz.

Koşullu bloklar hakkında daha fazla bilgi aynı adlı makalede verilmiştir. şartlı bloklarda anlattık bağlantı

Başarılı ödeme durumunda, paypal_payment_completed değişkeni True olarak ayarlanır.

Ödeme tamamlandıktan sonra, işlemin durumuna ilişkin güncel ödeme sistemi verilerini içeren paypal_callback_data değişkeni müşteriye eklenir. Gerekli verileri alınan sözlükten get metodu ile çıkarabilirsiniz.

Abonelik ödemeleri için

Bir abonelik ödemesi yapıldığında, bot aşağıdaki mesajlardan birini alır:

  • aboneliğin etkinleştirilmesi hakkında. Örneğin, subscription_I-PTV5H4MRC1H3_activated;

  • başarılı yinelenen abonelik ödemesi bildirimi. Örneğin, subscription_I-PTV5H4MRC1H3_paid;

  • veya abonelik ödeme hatası hakkında. Örneğin, subscription_I-PTV5H4MRC1H3_not_paid;

Yukarıdaki örneklerde “I-PTV5H4MRC1H3” - müşteri aboneliğinin ID'sidir; buna paypal_subscription_id değişkeni kullanılarak erişilebilir.

Callback, işlem durumuna ilişkin güncel ödeme sistemi verilerini içeren paypal_subscription_callback_data değişkenini müşteriye ekleyecektir. Gerekli verileri alınan sözlükten get metodu ile çıkarabilirsiniz.

Örnek 1: "Start condition" bloğu kullanarak abonelik etkinleştirmesine tepki:

Örnek 1: "Not state with condition" bloğu kullanarak abonelik etkinleştirmesine tepki:

Son güncelleme