Paket Yükseltme/Düşürme İşlemi

Paket yükseltme veya düşürme hakkında detaylı bilgi edinin

Bu API hizmeti, abonenin kullandığı paketi değiştirmek için kullanılır.

Paket Değişikliği Kuralları:

Paket değişikliğinin yükseltme (upgrade) mi yoksa düşürme (downgrade) mi olacağı, istekte gönderilen changeType parametresine göre belirlenir.

Düşürme (Downgrade)

  • Yeni paket, mevcut paketten daha düşük ücretliyse:

    • Paket geçişi, mevcut paketin bitiş tarihinde gerçekleştirilir

Yükseltme(Upgrade)

  • Yeni paket, mevcut paketten daha yüksek ücretliyse:

    • Kullanılmayan sürenin ücreti yeni paketin fiyatından düşülerek,

    • Abone hemen yeni pakete geçirilir.

Method
POST

Request Parameters

newPackageId :Geçilecek yeni paket id.

packageId :Aboneliğe ait mevcut paket id'dir.

subscriberIpAddressAboneye ait ip adresi bilgisi.

redirectUrl: Eğer işlem sırasında 3D Secure (3DS) kullanılıyorsa, ödeme tamamlandıktan sonra kullanıcının yönlendirileceği adrestir. Bu parametrede Zotlo satış sitenizin url'ini kullanabilirsiniz.

subscriberId :Paket değiştirilecek aboneId.

changeType upgrade ya da downgrade değerlerini kabul etmektedir. upgrade ise paket yükseltme işlemi yapılacaktır. Kredi kartından yeni paket tutarı çekildiği anda yeni paket aktif olacaktır. downgrade işleminde ise yenileme periyodu geldiğinde yeni paket aktif olacaktır.

Örnek İstek

İşlem sorgulama servisine istek gönderirken gerekli olan Access Key ve Access Secret bilgilerine, Zotlo Panel'de yer alan Developer Tools/API Keys sayfasından ulaşabilirsiniz.

POST https://api.zotlo.com/v1/payment/change-package HTTP/1.1
AccessKey: ••••••
AccessSecret: ••••••
Content-Type: application/json
ApplicationId: •
Language: ••
{
    "platform":"web",
    "subscriberId":"Z113322",
    "subscriberIpAddress":"212.154.57.216",
    "redirectUrl":"https://example.com",
    "changeType":"upgrade",
    "packageId":"zotlo.premium",
    "newPackageId":"zotlo.business"
}

Başarılı Cevap Örneği

{
  "meta": {
    "requestId": "6d2989e84793-REQ-5f32ad6851343",
    "httpStatus": 200
  },
  "result": {
    "profile": {
      "status": "active",
      "realStatus": "active",
      "subscriberId": "7",
      "subscriptionType": "paid",
      "startDate": "2020-08-10 12:55:23",
      "expireDate": "2020-09-10 14:38:34",
      "package": "zotlo-business",
      "country": "TR",
      "phoneNumber": "+905555555555",
      "language": "tr",
      "originalTransactionId": "79448a13-b8bf-4b9e-9666-5dbabd8992c2",
      "cancellation": null,
      "customParameters": {
        "source": "Landing"
      }
    },
    "package": {
      "packageId": "zotlo-business",
      "price": 9.99,
      "currency": "USD",
      "packageType": "subscription",
      "name": "Zotlo Business"
    },
    "customer": {
      "id": 1,
      "createDate": "2020-05-13 12:57:36",
      "country": "TR",
      "firstname": "Test",
      "lastname": "Test",
      "email": "[email protected]"
    },
    "newPackage": null,
    "card": {
      "cardNumber": "411111******1111",
      "expireDate": "12/20"
    },
    "response": {
      "isSuccess": true,
      "transactionId": "79448a13-b8bf-4b9e-9666-5dbabd8992c2",
      "providerTransactionId": "b4ee44dc-cbc0-400d-8f84-98688bdb7c80",
      "customTransactionId": "3e7f94f76e9748e2fefd3a8c28eda6ab",
      "statusCode": "S0000001",
      "statusMessage": "Ödeme işlemi başarıyla tamamlandı.",
      "paymentDate": "2020-08-11 02:38:34",
      "providerStatus": null,
      "paymentStatus": "COMPLETE",
      "redirectUrl": null,
      "paymentProvider": creditCard"
    },
    "redirect": null,
    "paymentStatus": "COMPLETE",
    "paymentHash": "207851900cae72c17d80a17ea65879f321718055"
  }
}

Başarılı Cevap Parametreleri

Alan
Açıklama

newPackage

Yeni geçilecek paket ile ilgili detayları dönmektedir. Paket geçişi eğer ödeme farkı varsa o durumda gerçekleşecektir.

Başarısız Cevap Örneği

Servislerimizden HTTP status code olarak başarılı durumlarda 200 dönmektedir. Başarısız durumlarda ise 400 ya da 500 Http StatusCode dönmektedir. Örnek hata cevabı aşağıdaki şekildedir.

{
  "meta": {
    "requestId": "MacBook-Pro.local-REQ-5e7da75228368",
    "httpStatus": 400,
    "errorMessage": "Kullanıcı abonelik profili bulunamadı.",
    "errorCode": 400009
  },
  "result": []
}

Başarısız Cevap Parametreleri

Alan
Açıklama

requestId

Zotlo tarafından işleminiz için üretilen ve saklanan benzersiz istek parametresidir.

httpStatus

İlgili cevaba ait HttpStatus kodudur. Standart kodlar olan, 400 ya da 500 dönmektedir.

errorMessage

Alınan hatanın detayıdır. Hata mesajı, gönderdiğiniz dil parametresine göre her dile özel verilmektedir.

errorCode

İlgili hatanın Zotlo'daki hata kodudur.

result

Bu alanın alabileceği değerler dinamiktir. Eğer hata sonucunda ilgili servisten bir cevap dönülmesi gerekiyorsa dolu gelecektir. Aksi durumlarda ise boş object olarak gelmektedir.

Last updated