mirror of
https://github.com/mewebstudio/pos.git
synced 2026-04-26 01:45:55 +03:00
[GH-ISSUE #171] Ön Provizyon Kapama Aşamasında İlk Tutardan Farklı Tutar Bilgisi Gönderme #88
Labels
No labels
PayFlexV4
TROY
akbankpos
bug
duplicate
enhancement
garanti
help wanted
isbank
kuveyt
payten
posnet
pull-request
vakifbank
ziraat
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/pos#88
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @hknckr on GitHub (Dec 18, 2023).
Original GitHub issue: https://github.com/mewebstudio/pos/issues/171
Merhaba,
Kütüphane çok kullanışlı emeği geçen herkese çok teşekkürler
İşbankası için EstPosAccount oluşturup TX_PRE_PAY ile ön provizyon yaptığımız bir siparişi %15 (bankaya göre değişebiliyor sanırım bu deger) sınırlar içerisinde kalarak ilk provizyon edilmiş tutara göre üst ya da alt tutar ile kapatmak istiyoruz ancak
TX_POST_PAY isteği ile gönderdiğimiz değer hep ilk açtıgımız tutar ile aynı oluyor.
..."num_code":"0","first_amount":173.95,"capture_amount":173.95,"status":"approved","error_code":null,"status_detail":"approved","capture":true,"all":{...
Kodu incelediğimizde post auth request oluşturulurken order içerisinde sadece id değişkeni gönderiliyor.
public function createNonSecurePostAuthPaymentRequestData(AbstractPosAccount $account, $order, ?AbstractCreditCard $card = null): array
{
return $this->getRequestAccountData($account) + [
'Type' => $this->mapTxType(AbstractGateway::TX_POST_PAY),
'OrderId' => (string) $order->id,
];
}
Bu durumda nasıl bir yol izleyebiliriz?
@hknckr commented on GitHub (Dec 18, 2023):
Aslında sanırım bu yukarıdaki fonksiyona Total değişkeni ekleyince oluyor, elle
'Total' => (string) 128.10 degeri ekledigimde çalıştı.
$order içerisinde amount bilgisi yok sanırım, createNonSecurePostAuthPaymentRequestData içine dolu gönderebilmek için
EstPos.php içierisndeki fonksiyona amount bilgisi ekleyince parametrik oldu ve çalıştı.
protected function preparePostPaymentOrder(array $order)
{
return (object) [
'id' => $order['id'],
'amount' => $order['amount'],
];
}
Ancak üst tutar girmemize izin vermiyor
message":"Net miktardan fazla bir miktarla Post Auth yapilamaz hatası alıyoruz.
Prekende sektorunde siparişin fazla olma durumu da olabiliyor çalıştığımız müşterilerimizde. Sanırım bu durumu banka ile gorusmemiz gerekecek.
Bu konuda bilgisi olan var mı acaba ?
@nuryagdym commented on GitHub (Dec 19, 2023):
Merhabalar, ilk defa boyle bir sey duyuyorum.
Bankalar izin veriyorsa kodda guncelleme yapabiliriz.
Banka dokumantasyonlara bakilmasi gerekiyor, bazi bankalar miktar parametresini PostAuth islemi icin hic kabul etmiyor olabilir.
@hknckr commented on GitHub (Dec 19, 2023):
Bizden önce çalışan firma bu şekilde çalışabiliyor, yani ön provizyon açıp sonrasında bu provizyon degerinin belirlenen limitler kadar üstünde ve altında ön provizyon kapatabiliyor. (Trendyol Go da böyle çalışıyor, %15 üst ya da alt tutar ile kapatabiliyor ön provizyon tutarını )
Ben Ön provizyonu kapatırken MODEL_3D_SECURE ile hash mismatch hatası aldıgım için MODEL_NON_SECURE ile gönderiyorum isteği. Acaba sorun bu olabilir mi?
TX_POST_PAY için MODEL_3D_SECURE kullanabiliyor muyuz bundan emin olamadım ?
@nuryagdym commented on GitHub (Dec 19, 2023):
TX_POST_PAY pay odemede hatirladigim kadariyla tum bankalar MODEL_NON_SECURE istiyor.
bu da TX_PRE_PAY icin bir MODEL_3D_SECURE olan account ve TX_POST_PAY icin MODEL_NON_SECURE olan account gerekiyor anlamina geliyor.
Yeni versiyon uzerinde calisiyorum, henuz isi var, bu durumu da ele aldim, 2 account'a gerek kalmayacak
@hknckr commented on GitHub (Jan 16, 2024):
Bu arada ihtiyacı olanlar için paylaşmak istedim,
Asseco tarafında şu parametreler ile pos kapama yaparlar ise ve banka ile anlaşma yapılmış ise preauth degerinin %15'ine kadar fazla postAuth işlemi yapılabiliyor.
PREAMT degerine ön otorizasyon tutarı yazılmalı.