[GH-ISSUE #119] Vakıfbank pos #61

Closed
opened 2026-03-03 15:42:37 +03:00 by kerem · 4 comments
Owner

Originally created by @fx2006 on GitHub (Apr 3, 2023).
Original GitHub issue: https://github.com/mewebstudio/pos/issues/119

Üstad selamlar;

Opencart sistemine vakıfbank sanal pos entegre etmeye çalışıyorum Enrollment Adımını başarıyla geçiyorum ve gelen değerler ile XML olarak provizyon yapmaya çalıştığımda sürekli hata alıyorum. Kodlarım şu şekilde;
`
$xml='
                        
                        0000000XXXXXXXX
                        XXXXXXXX
                        XXXXXXXXX
                        '.$_POST["Pan"].'
                        20'.$_POST["Expiry"].'
                        '.$_POST["PurchAmount"].'
                        949
                        Sale
                        '.$_POST["Eci"].'
                        '.$_POST["Cavv"].'
                        '.$_POST["SessionInfo"].'
                        '.$_POST["VerifyEnrollmentRequestId"].'
                        '.$_SERVER["REMOTE_ADDR"].'
                        0
                        ';

$ch = curl_init();

            curl_setopt($ch,CURLOPT_URL,"https://onlineodeme.vakifbank.com.tr:4443/VposService/v3/Vposreq.aspx");
            curl_setopt($ch,CURLOPT_POST,TRUE); 
            curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);
            curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);
            curl_setopt($ch, CURLOPT_POSTFIELDS,$xml);
            curl_setopt($ch,CURLOPT_HTTPHEADER,array("Content-Type: application/xml"));

                  $data = curl_exec($ch);
                  curl_close($ch);
            return $data;
`

Burada aldığımız hata bankanın belirttiğine göre XML olarak veri gönderiliyor ama Content-Type xml olarak gelmiyor diyorlar, denemediğim yol kalmadı bir türlü veriyi gönderemedim.

Ayrıca sizin proje dosyalarını indirdim ancak EXAMPLES kısmını dosya içinde indirmiyor.

Originally created by @fx2006 on GitHub (Apr 3, 2023). Original GitHub issue: https://github.com/mewebstudio/pos/issues/119 Üstad selamlar; Opencart sistemine vakıfbank sanal pos entegre etmeye çalışıyorum Enrollment Adımını başarıyla geçiyorum ve gelen değerler ile XML olarak provizyon yapmaya çalıştığımda sürekli hata alıyorum. Kodlarım şu şekilde; ` $xml='<?xml version="1.0" encoding="utf-8"?>                         <VposRequest>                         <MerchantId>0000000XXXXXXXX</MerchantId>                         <Password>XXXXXXXX</Password>                         <TerminalNo>XXXXXXXXX</TerminalNo>                         <Pan>'.$_POST["Pan"].'</Pan>                         <Expiry>20'.$_POST["Expiry"].'</Expiry>                         <CurrencyAmount>'.$_POST["PurchAmount"].'</CurrencyAmount>                         <CurrencyCode>949</CurrencyCode>                         <TransactionType>Sale</TransactionType>                         <Eci>'.$_POST["Eci"].'</Eci>                         <Cavv>'.$_POST["Cavv"].'</Cavv>                         <Cvv>'.$_POST["SessionInfo"].'</Cvv>                         <MpiTransactionId>'.$_POST["VerifyEnrollmentRequestId"].'</MpiTransactionId>                         <ClientIp>'.$_SERVER["REMOTE_ADDR"].'</ClientIp>                         <TransactionDeviceSource>0</TransactionDeviceSource>                         </VposRequest>'; $ch = curl_init();             curl_setopt($ch,CURLOPT_URL,"https://onlineodeme.vakifbank.com.tr:4443/VposService/v3/Vposreq.aspx");             curl_setopt($ch,CURLOPT_POST,TRUE);              curl_setopt($ch,CURLOPT_SSL_VERIFYPEER,FALSE);             curl_setopt($ch,CURLOPT_RETURNTRANSFER,TRUE);             curl_setopt($ch, CURLOPT_POSTFIELDS,$xml);             curl_setopt($ch,CURLOPT_HTTPHEADER,array("Content-Type: application/xml"));                   $data = curl_exec($ch);                   curl_close($ch);             return $data; `   Burada aldığımız hata bankanın belirttiğine göre XML olarak veri gönderiliyor ama Content-Type xml olarak gelmiyor diyorlar, denemediğim yol kalmadı bir türlü veriyi gönderemedim. Ayrıca sizin proje dosyalarını indirdim ancak EXAMPLES kısmını dosya içinde indirmiyor.
kerem 2026-03-03 15:42:37 +03:00
  • closed this issue
  • added the
    vakifbank
    label
Author
Owner

@nuryagdym commented on GitHub (Apr 3, 2023):

Selam,
Content Type ne dondugu hatirlamiyorum,
https://github.com/mewebstudio/pos/blob/master/src/Gateways/VakifBankPos.php#L173
burdaki send method'a bakip, gonderme, response isleme koda bakabilirsiniz.

examples klasoru bilerek composer repo'dan cikardim, sadece ornek amacli onlar. Gerektiginde, github repo sayfasindan bakilabilir examples klasore.

Hata mesaji da paylasirsan belki yardimci olabilir.

onun haricinde direk kutuphaneyi kullanmani tavsiye ederim.

<!-- gh-comment-id:1494015470 --> @nuryagdym commented on GitHub (Apr 3, 2023): Selam, Content Type ne dondugu hatirlamiyorum, https://github.com/mewebstudio/pos/blob/master/src/Gateways/VakifBankPos.php#L173 burdaki send method'a bakip, gonderme, response isleme koda bakabilirsiniz. examples klasoru bilerek composer repo'dan cikardim, sadece ornek amacli onlar. Gerektiginde, github repo sayfasindan bakilabilir examples klasore. Hata mesaji da paylasirsan belki yardimci olabilir. onun haricinde direk kutuphaneyi kullanmani tavsiye ederim.
Author
Owner

@fx2006 commented on GitHub (Apr 3, 2023):

Üstad öncelikle teşekkürler, hata mesajı olarak bişey vermiyor

The requested URL was rejected. Please consult with your administrator.
Your support ID is: 14562640646764622529

Şeklinde bir uyarı veriyor bankaya bilgi veriyoruz onlarda sanal posu yapan yan firmaya soruyor felan ordan dönüyorlar bankaya bankda bize cevap veriyor, zaten çok yavaş bir süreç günlerce bir support id nin ne olduğunu bulmakla geçiyor.

Banka en son hata mesajında
Content-Type” headerı “application/x-www-form-urlencoded” olarak gelmektedir. İlgili header xml veri formatına uyguna olarak düzenlenmelidir.
şeklinde cevap döndü ama ben CURL ile XML header ayarlıyorum yinede bu sorunla karşılaşıyorum.

Üstad açıkcası ben .net çiyim php ile sadece opencart için uğraşıyorum ziraat, kuveyt türk vb. bir çok bankanınkini ekledim sisteme ama vakıfbankı bir türlü sonuçlandıramadım.

Şunu sorayım;
Curl Header için
TempSuccessUrl.txt

  1. curl_setopt($ch,CURLOPT_HTTPHEADER,array("Content-Type: application/xml"));
  2. curl_setopt($ch,CURLOPT_HTTPHEADER,array("Content-Type"=>"application/xml"));
    Hangisi doğru bir yazımdır.

Sizin paketinizi opencarta eklemenin basit bir yolu yoktur sanırım. Sizden ricam sadece provizyon kısmında benim göndermiş olduğum kodda bir hata varmı rica etsem bakarmısınız. Dönüş dosyasını ekte gönderiyorum. Teşekkürler.

<!-- gh-comment-id:1494049507 --> @fx2006 commented on GitHub (Apr 3, 2023): Üstad öncelikle teşekkürler, hata mesajı olarak bişey vermiyor The requested URL was rejected. Please consult with your administrator. Your support ID is: 14562640646764622529 Şeklinde bir uyarı veriyor bankaya bilgi veriyoruz onlarda sanal posu yapan yan firmaya soruyor felan ordan dönüyorlar bankaya bankda bize cevap veriyor, zaten çok yavaş bir süreç günlerce bir support id nin ne olduğunu bulmakla geçiyor. Banka en son hata mesajında **Content-Type” headerı “application/x-www-form-urlencoded” olarak gelmektedir. İlgili header xml veri formatına uyguna olarak düzenlenmelidir.** şeklinde cevap döndü ama ben CURL ile XML header ayarlıyorum yinede bu sorunla karşılaşıyorum. Üstad açıkcası ben .net çiyim php ile sadece opencart için uğraşıyorum ziraat, kuveyt türk vb. bir çok bankanınkini ekledim sisteme ama vakıfbankı bir türlü sonuçlandıramadım. Şunu sorayım; Curl Header için [TempSuccessUrl.txt](https://github.com/mewebstudio/pos/files/11137131/TempSuccessUrl.txt) 1. curl_setopt($ch,CURLOPT_HTTPHEADER,array("Content-Type: application/xml")); 2. curl_setopt($ch,CURLOPT_HTTPHEADER,array("Content-Type"=>"application/xml")); Hangisi doğru bir yazımdır. Sizin paketinizi opencarta eklemenin basit bir yolu yoktur sanırım. Sizden ricam sadece provizyon kısmında benim göndermiş olduğum kodda bir hata varmı rica etsem bakarmısınız. Dönüş dosyasını ekte gönderiyorum. Teşekkürler.
Author
Owner

@nuryagdym commented on GitHub (Apr 3, 2023):

gonderdigim linkte kodu inceleyin lutfen,

$body = $isXML ? ['form_params' => ['prmstr' => $contents]] : ['form_params' => $contents];

xml string'i bu sekilde gonderilmesi gerekiyor: ['prmstr' => $xmlString] . Yani XML string'i form olarak gonderilecek:

https://github.com/mewebstudio/pos/blob/master/src/Gateways/VakifBankPos.php#L173
https://github.com/mewebstudio/pos/blob/master/src/Client/HttpClient.php#L70
Content type 'Content-Type' =>'application/x-www-form-urlencoded'.
En azindan kutuphane bu sekilde gonderiyor.

<!-- gh-comment-id:1494078271 --> @nuryagdym commented on GitHub (Apr 3, 2023): gonderdigim linkte kodu inceleyin lutfen, ` $body = $isXML ? ['form_params' => ['prmstr' => $contents]] : ['form_params' => $contents];` xml string'i bu sekilde gonderilmesi gerekiyor: `['prmstr' => $xmlString]` . Yani XML string'i form olarak gonderilecek: https://github.com/mewebstudio/pos/blob/master/src/Gateways/VakifBankPos.php#L173 https://github.com/mewebstudio/pos/blob/master/src/Client/HttpClient.php#L70 Content type `'Content-Type' =>'application/x-www-form-urlencoded'`. En azindan kutuphane bu sekilde gonderiyor.
Author
Owner

@fx2006 commented on GitHub (Apr 3, 2023):

Tamamdır üstad hallettim Curl parametrelerinde bir kaç bişey değiştirince problem çözüldü teşekkür ederim.

<!-- gh-comment-id:1494179409 --> @fx2006 commented on GitHub (Apr 3, 2023): Tamamdır üstad hallettim Curl parametrelerinde bir kaç bişey değiştirince problem çözüldü teşekkür ederim.
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#61
No description provided.