Ödemeler

Webhooklar aracılığıyla, ödeme işlemlerini sunucunuza nasıl alacağınızı öğrenin

Bu webhook hizmeti, tek seferlik ve aboneliğe dayalı ödemeler de dahil olmak üzere her türlü başarılı ödeme işlemi hakkında sizi bilgilendirir.

Endpoint URL'inizi Ayarlayın

Webhook bildirimleri sunucunuza HTTP POST aracılığıyla gönderilir. Endpoint URL'sini projenizin altındaki Developer Tools / Webhooks menüsünden yapılandırabilirsiniz.

Webhook Gönderim Kuralları

Ödemeyi bildiren webhook bildirimi, ilk 5 dakika içinde gönderilir. Gönderim işleminin başarılı olarak kabul edilmesi için sisteminizin HTTP 200 durum kodunu dönmesi gerekmektedir. 200 dışındaki herhangi bir durum kodu, gönderim işleminin başarısız olduğu şeklinde değerlendirilir ve şu deneme süreci uygulanır:

  • Gönderim başarısız olursa, işlem 10 dakika sonra yeniden denenir.

  • İkinci deneme de başarısız olursa, sonraki üç deneme 30 dakika arayla yapılır.

  • Bu üç denemenin ardından da işlem başarısız olursa, bir sonraki deneme 1 saat sonra gerçekleştirilir.

  • Eğer bu denemede de başarı sağlanamazsa, işlem tekrar gönderilmez ve süreç sonlandırılır.

Webhook Bildirimlerinin Formatı

Webhook bildirimleri JSON formatında düzenlenir. Sunucunuza gönderilen POST isteğinin içeriği, düzenlenmiş bildirimin bilgilerini içerir.

{
  "queue": {
    "type": "TransactionInsert",
    "eventType": "transaction",
    "requestID": "4fee-9169-a6b45555f89b",
    "createDate": {
      "date": "2024-06-15 11:51:35.807000",
      "timezone_type": 3,
      "timezone": "UTC"
    },
    "appId": 1
  },
  "parameters": {
    "id": "38359",
    "payment_type": "subscription",
    "original_transaction_id": "6kab56hfs773-a25f3ebf8e2f",
    "transaction_id": "ba3325ge3ad6791-49f4-9693-a25f3ebf8e2f",
    "package_id": "weekly_",
    "team_id": 22,
    "app_id": 1,
    "status": "trial",
    "create_date": "2024-06-15 11:51:35",
    "purchase_date": "2024-06-15 11:51:35",
    "original_purchase_date": "2024-06-15 11:51:35",
    "price": "0.00",
    "currency": "TRY",
    "country": "TR",
    "expire_date": "2024-06-22 11:51:35",
    "subscriber_id": "test@zotlo.com",
    "credit_card": "41111111****1111",
    "refund_price": null,
    "refund_date": null,
    "refund_reason": null,
    "is_refund": "0",
    "provider_id": 2222263,
    "provider_transaction_id": "417705901",
    "provider_status": "mastercard",
    "provider_name": "Credit Card",
    "comment": null,
    "quantity": 1,
    "package_price": 0,
    "subscription_id": "9292132",
    "custom_parameters": {
      "clientUuid": "0bb45b80-1ff5-42ee-a382-a5ee06e641c9",
      "dataWarehouse": {
        "paymentModule": "generate",
        "siteId": 38,
        "flowId": 600,
        "appId": 7,
        "teamId": 7,
        "acceptPolicy": true,
        "fullName": "test",
        "epinCode": "test1235"
      },
      "utm": {
        "source": null,
        "medium": null,
        "campaign": null,
        "term": null,
        "content": null
      },
      "cardBrand": "mastercard",
      "threeds": "1",
      "installment": "1",
      "bank": "lidio3p"
    },
    "paymentMethod": "creditCard",
    "installment": 1,
    "exchange": {
      "status": false,
      "detail": []
    },
    "coupon_campaign": {
      "isUsedCouponCode": false,
      "code": null,
      "discountType": null,
      "discountValue": null
    },
    "language": "en"
  }
}

Parametreler

queue

Webhook türü ve tarihi ile ilgili bilgiler yer alır.

queue.type

Webhook'un ödeme türünde olduğunu belirtir. Bu webhook türü için sadece TransactionInsert değerini alabilir.

queue.eventType

İşlem türü bilgisidir. Bu webhook'ta sadece ödeme işlemi gerçekleştiğinden sadece transaction değerini alabilir.

queue.requestID

İlgili işlem için benzersiz kimlik bilgisidir.

queue.createDate

İşlemin oluştuğu tarihtir.

queue.createDate.timezone_type

Zaman diliminin tipleri hakkında bilgi verir.

queue.createDate.timezone

Zaman dilimi hakkında bilgi verir.

queue.appId

Satış yapılan Zotlo hesabındaki proje id bilgisidir.

parameters

Webhook'a ait bilginin detayları yer alır.

parameters.id

İlgili işlemin zotlo veritabanındaki id karşılığıdır.

parameters.payment_type

Ödeme işleminin tipidir. Abonelik ya da tek seferlik olabilir. subscription ödeme işleminin aboneliğe ait olduğunu, consumable ödeme işleminin tek seferlik olduğunu belirtir.

parameters.original_transaction_id

Satın alma işlemine ait uniq id değeridir. İade işlemlerinde bu bilgi kullanılmaktadır.

parameters.transaction_id

Satın alma işlemine ait uniq id değeridir. İade işlemlerinde bu bilgi kullanılmaktadır.

parameters.package_id

Satın alma işleminde satın alınan paketin id'sidir.

parameters.team_id

Satış yapılan Zotlo hesabının id bilgisidir.

parameters.app_id

Satış yapılan Zotlo hesabındaki proje id bilgisidir.

parameters.status

İşleme ait durum değeridir. trial : Kullanıcı deneme süresindedir. trial_to_paid : Deneme süresinin bittiğini ve asıl fiyat ile ödeme işleminin gerçekleştiğini belirtir. renewal : Aboneye ait yenileme işlemi. reactive : Hesabı pasif olan bir kullanıcının ödeme yaparak hesabını aktif duruma getirdiği durumlarda gönderilir. consumable : Tek seferlik paket satın alındığında gönderilir. start_paid : Ücretli olarak yeni bir abonelik başlatıldığında gönderilir.

parameters.create_date

Satın almanın Zotlo veritabanlarına kayıt tarihidir.

parameters.purchase_date

İşlem gerçekleşme tarihidir.

parameters.original_purchase_date

Aboneye ait aboneliğin başladığı ilk tarih değeridir.

parameters.price

Satın alma işleminin tutarıdır.

parameters.currency

Satın alma işleminin para birimidir.

parameters.country

Kullanıcının ülkesidir. IP'ye göre belirlenir.

parameters.expire_date

Eğer abonelik ile ilgili bir satın alma ise ilgili satırın son geçerlilik tarihidir.

parameters.subscriber_id

Satın alma işlemi yapan kullanıcının id'sidir. Bu bilgi telefon numarası ya da e-posta olabilir.

parameters.credit_card

Satın alma işleminde kullanılan kredi kartı numarasının maskeli halidir.

parameters.refund_price

İade tutarıdır. Eğer iade işlemi değil ise bu alan null olabilir.

parameters.refund_date

İade tarihidir. Eğer iade işlemi değil ise bu alan null olabilir.

parameters.refund_reason

İade nedenidir. Eğer iade işlemi değil ise bu alan null olabilir.

parameters.is_refund

İşlemin iade bilgisidir. Eğer 1 ise iade işlemi, 0 ise iade işlemi değildir.

parameters.provider_name

İşlemin gerçekleştiği provider bilgisidir.

parameters.quantity

Satın alınan ürün veya hizmet'in miktarını belirtir.

parameters.package_price

Satın alınan paketin fiyatıdır.

parameters.subscription_id

Satın alma işlemi yapan kullanıcının Zotlo'daki benzersiz işlem id'sidir.

parameters.custom_parameters

Kullanıcı ve satış sitesi hakkında bilgileri içerir.

parameters.custom_parameters.clientUuid

Kullanıcı bazlı tutulan oturum id'sidir.

parameters.custom_parameters.dataWarehouse.paymentModule

Satış kanalını belirtir. Şu an sadece generate değerini alabilir. Marketplace'den gelen kullanıcılar için bu değer store olur.

parameters.custom_parameters.dataWarehouse.siteId

Satış yapılan site'nin Zotlo'daki id bilgisidir.

parameters.custom_parameters.dataWarehouse.flowId

Satış yapılan siteye bağlı akış'ın Zotlo'daki id bilgisidir.

parameters.custom_parameters.dataWarehouse.appId

Satış yapılan Zotlo hesabındaki proje id bilgisidir.

parameters.custom_parameters.dataWarehouse.teamId

Satış yapılan Zotlo hesabındaki id bilgisidir.

parameters.custom_parameters.dataWarehouse.acceptPolicy

Kullanıcının yasal bilgilendirmeleri kabul edip etmediğini belirtir. true ise kabul etmiştir, false ise kabul etmemiştir.

parameters.custom_parameters.dataWarehouse.fullName

Kullanıcının girmiş olduğu isim ve soyisim bilgisidir.

parameters.custom_parameters.dataWarehouse.fullName.epinCode

Eğer e-pin tipinde bir paket satışı var ise kullanıcıya satılan pinkodu bilgisidir.

parameters.custom_parameters.utm

UTM parametreleri hakkında bilgi verir.

parameters.custom_parameters.utm.source

Site trafiğinin kaynağını belirten UTM parametresidir.

parameters.custom_parameters.utm.medium

Site trafiiğinin türünü belirten UTM parametresidir.

parameters.custom_parameters.utm.campaign

Kampanyayı belirten UTM parametresidir.

parameters.custom_parameters.utm.term

Kullanılan anahtar kelimeyi belirten UTM parametresidir.

parameters.custom_parameters.utm.content

Reklam veya bağlantını içerik detaylarını belirten UTM parametresidir.

parameters.custom_parameters.cardBrand

Kart markasını belirtir.

parameters.custom_parameters.threeds

Ödeme işleminde 3ds kullanımını belirtir. 0= 3ds kullanılmamıştır, 1= 3ds kullanılmıştır.

parameters.custom_parameters.installment

Ödeme işleminin taksit sayısıdır. Şu an sadece tek çekim yapıldığından 1 değerini alır. 1 ise ödeme tek çekim ile yapılmıştır.

parameters.paymentMethod

Ödeme yöntemini belirtir.

parameters.installment

Ödeme işleminin taksit sayısıdır. Şu an sadece tek çekim yapıldığından 1 değerini alır. 1 ise ödeme tek çekim ile yapılmıştır.

parameters.exchange.status

Ödeme işleminde yapılan kur çevrimi hakkında bilgi verir. false ise kur çevrimi yapılmamıştır. true ise kur çevrimi yapılmıştır.

parameters.exchange.detail

Yapılan kur çevriminin detayları yer alır.

parameters.coupon_campaign.isUsedCouponCode

Kampanya kuponunun kullanımı hakkında bilgi vermektedir. false ise kampanya kodu kullanılmamıştır. Eğer true ise kampanya kodu kullanılmıştır.

parameters.coupon_campaign.code

Kullanılan kampanya kodu bilgisidir.

parameters.coupon_campaign.discountType

Kullanılan kampanya için uygulanan indirim tipidir.

parameters.coupon_campaign.discountValue

Kullanılan kampanyadaki indirim değeridir.

parameters.language

Kullanıcının siteyi görüntülediği dil bilgisidir.

Last updated