[GH-ISSUE #171] Ön Provizyon Kapama Aşamasında İlk Tutardan Farklı Tutar Bilgisi Gönderme #88

Closed
opened 2026-03-03 15:42:53 +03:00 by kerem · 5 comments
Owner

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?

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?
kerem 2026-03-03 15:42:53 +03:00
  • closed this issue
  • added the
    payten
    label
Author
Owner

@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 ?

<!-- gh-comment-id:1861781967 --> @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 ?
Author
Owner

@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.

<!-- gh-comment-id:1862405274 --> @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.
Author
Owner

@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 ?

<!-- gh-comment-id:1862412681 --> @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 ?
Author
Owner

@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

<!-- gh-comment-id:1862517359 --> @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
Author
Owner

@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.

<?xml version="1.0" encoding="UTF-8"?>
<CC5Request>
<Name>kullanıcı adı</Name>
<Password></Password>
<ClientId>client_id</ClientId>
<OrderId>ORDER</OrderId>
<GroupId></GroupId>
<Mode>P</Mode>
<Type>PostAuth</Type>
<Total>115</Total>
<Currency>949</Currency>
<Extra>
<PREAMT>100</PREAMT>
</Extra>
</CC5Request>

PREAMT degerine ön otorizasyon tutarı yazılmalı.

<!-- gh-comment-id:1893337808 --> @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. ``` <?xml version="1.0" encoding="UTF-8"?> <CC5Request> <Name>kullanıcı adı</Name> <Password></Password> <ClientId>client_id</ClientId> <OrderId>ORDER</OrderId> <GroupId></GroupId> <Mode>P</Mode> <Type>PostAuth</Type> <Total>115</Total> <Currency>949</Currency> <Extra> <PREAMT>100</PREAMT> </Extra> </CC5Request> ``` PREAMT degerine ön otorizasyon tutarı yazılmalı.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/pos#88
No description provided.