Ö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_usageparametresi 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_usageparametresitruegö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
pointdeğ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,pricevepointdeğ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ığındapoint_usageparametresi gönderilse bile dikkate alınmayacaktır.
- Puan Kullanımının Kullanıcı Tarafından Seçtirilmesi(point_usage kullanımı): İstekte opsiyonel olarak istenen
Extra Bilgiler
external_idalanı 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
pricevequantityalanları birlikte zorunludur - Her ürünün
total_pricedeğeri,price * quantityile eşleşmelidir - Tüm ürünlerin
total_pricetoplamı, ödeme tutarıprice + pointile eşleşmelidir
Authorization
bearerAuth In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Kullanıcı oluşturma veya linkleme aşamasında size iletilen ilgili kullanıcıya ait linkleme id değeri.
uuidSipariş tutarı
floatHarcama puan ile yapılmalı mı
falseHarcamada cüzdandan düşülecek puan değeri. Bu parametre null veya gönderilmezse, `point_usage parametresi dikkate alınacatır
floatHarici sistem ID değeri
Ürün listesi
Harcama sonucunda kullanıcının kampanyadan faydalanıp faydalanmayacağını belirtir.
true{
"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ı"
]
}
}