MacellanMacellan SuperApp
WaasDirect Payment

Ödeme Servisi

  • Ödeme aşamasında kullanıcının cüzdanından belirtilen tutar kadar harcama yapma işlemi için kullanılır.

  • Ödeme Kontrolü isteğinden sonra çalıştırılması gerekmektedir.

  • Ödeme servisi, 2 farklı şekilde kullanılabilir. Puan tutarının manuel belirlenmesi veya kullanıcıya puan kullanma seçeneğinin seçtirilmesi

    • Puan Kullanımının Kullanıcı Tarafından Seçtirilmesi(point_usage kullanımı): İstekte opsiyonel olarak istenen point_usage parametresi kullanıldığında, kullanıcı cüzdanındaki puan tutarı önceliklendirilerek, harcama tutarı kadar kullandırılmaya çalışılır. Örn. 100 liralık harcama isteğinde, kullanıcının 500 Bakiye, 200 Puan olduğunu düşünürsek, point_usage parametresi true gönderdildiğinde harcama, kullanıcının puan tutarından düşürülerek gerçekleştirilir. Ödeme işlemi sonrası kullanıcının cüzdanı 500 Bakiye, 100 Puan olarak güncellenir.
    • Puan Tutarının Manuel Belirlenmesi(point kullanımı): Harcamada kullanıcının cüzdanından düşülecek puanın sizin tarafınızdan belirlenmesidir. İstekte opsiyonel olarak istenen point değeri kadar kullanıcı cüzdanından harcama yapılmaya çalışılır. Örn. 100 liralık harcama isteğinde, price: 70, point: 30 gönderildiğinde kullanıcı cüzdanından 70 bakiye ve 30 puan ile harcama yapılmaya çalışılacaktır. Bu yöntem ile harcama isteği yapıldığında, price ve point değerlerini kullanıcı cüzdan tutarına göre sizin hesaplamanız gerekmektedir. (Ödeme Kontrolü isteğinde kullanıcı cüzdan bilgileri verilmektedir.) Bu yöntem kullanıldığında point_usage parametresi gönderilse bile dikkate alınmayacaktır.

Extra Bilgiler

  • external_id alanı opsiyoneldir. Genellikle ödemeye ait sipariş numarası gibi harici sistem ID'si burada gönderilir; işlemleri kolayca takip etmenize yardımcı olur.

Ürün Listesi

product_list alanı opsiyoneldir ve satın alınan ürünlerin detaylarını bu alanda gönderebilirsiniz. Bu bilgiler raporlama ve analiz amaçlı kullanılır.

Ürün listesi gönderildiğinde:

  • Her ürün için price ve quantity alanları birlikte zorunludur
  • Her ürünün total_price değeri, price * quantity ile eşleşmelidir
  • Tüm ürünlerin total_price toplamı, ödeme tutarı price + point ile eşleşmelidir
POST
/waas/integration/payments/make

Authorization

bearerAuth
AuthorizationBearer <token>

In: header

Request Body

application/json

TypeScript Definitions

Use the request body type in TypeScript.

user_mapping_id*string

Kullanıcı oluşturma veya linkleme aşamasında size iletilen ilgili kullanıcıya ait linkleme id değeri.

Formatuuid
price*number

Sipariş tutarı

Formatfloat
point_usage?boolean

Harcama puan ile yapılmalı mı

Defaultfalse
point?number

Harcamada cüzdandan düşülecek puan değeri. Bu parametre null veya gönderilmezse, `point_usage parametresi dikkate alınacatır

Formatfloat
external_id?string

Harici sistem ID değeri

product_list?

Ürün listesi

apply_campaigns?boolean

Harcama sonucunda kullanıcının kampanyadan faydalanıp faydalanmayacağını belirtir.

Defaulttrue
{
  "user_mapping_id": "8b5ac43a-20ce-4987-a739-d8a7ee480eaa",
  "price": 10,
  "point_usage": false,
  "point": 1,
  "external_id": "EXT-12345",
  "product_list": [
    {
      "item_id": 1,
      "name": "Ayran",
      "category_name": "İçecekler",
      "price": 20,
      "quantity": 2,
      "total_price": 40
    }
  ],
  "apply_campaigns": true
}

Response Body

application/json

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://api.altpay.dev/waas/integration/payments/make" \  -H "Content-Type: application/json" \  -d '{    "user_mapping_id": "8b5ac43a-20ce-4987-a739-d8a7ee480eaa",    "price": 10  }'
{
  "data": {
    "order_id": "3279724498",
    "price": 1,
    "paid_price": 1,
    "point": 1,
    "final_total": 1,
    "refund_amount": 1,
    "refund_point": 1,
    "status": "approved",
    "status_translate": "Onaylandı"
  }
}
{
  "message": "Unauthenticated"
}
{
  "message": "İşlemi yapmak için yetkili değilsiniz."
}
{
  "message": "Kullanıcının cüzdanı bulunmamakta."
}
{
  "message": "Bakiye yetersiz."
}
{
  "message": "Gönderdiğiniz Veriler Geçersiz",
  "errors": {
    "property": [
      "Hata açıklaması"
    ]
  }
}

Bu sayfada