Skip to content

Commit bf6559d

Browse files
committed
ParamPos: extracted 3D Host Payment to a new Param3DHostPos gateway.
Having 3D host payment support in ParamPos complicates the code base, because it 3D Host request requires different API url, form Url and request structure.
1 parent fabda0f commit bf6559d

45 files changed

Lines changed: 1989 additions & 477 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,8 @@ sistemlerinin kullanılabilmesidir.
1313
| Gateway | Desktekleyen<br/>bankalar | Desteklenen<br/>Ödeme Tipleri | Desteklenen Sorgular |
1414
|----------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------|
1515
| Tosla<br><sup>(eski AKÖde)</sup> | ? | NonSecure<br/>3DPay<br/>3DHost | İptal<br/>İade<br/>Durum sorgulama<br/>Sipariş Tarihçesini sorgulama<br/>Özel Sorgu |
16-
| ParamPos | ? | NonSecure<br/>3DSecure<br/>3DPay<br/>3DHost <sup>(test edilmesi gerekiyor)</sup> | İptal<br/>İade<br/>Durum sorgulama<br/>Geçmiş İşlemleri sorgulama<br/>Özel Sorgu |
16+
| ParamPos | ? | NonSecure<br/>3DSecure<br/>3DPay<br/><sup>(test edilmesi gerekiyor)</sup> | İptal<br/>İade<br/>Durum sorgulama<br/>Geçmiş İşlemleri sorgulama<br/>Özel Sorgu |
17+
| Param3DHostPos | ? | 3DHost<br/><sup>(test edilmesi gerekiyor)</sup> | |
1718
| AkbankPos <br/><sup>(Akbankın yeni altyapısı)</sup> | Akbank | NonSecure<br/>3DSecur<br/>3DPay<br/>3DHost<br/>Tekrarlanan Ödeme | İptal<br/>İade<br/>Sipariş Tarihçesini sorgulama<br/>Geçmiş İşlemleri sorgulama<br/>Özel Sorgu |
1819
| EstV3Pos<br/><sup>(Asseco/Payten)</sup><br/><sup>Eski `EstPos` altyapının<br/>sha512 hash algoritmasıyla uygulaması.</sup> | Akbank<br/>TEB<br/>İşbank<br/>Şekerbank<br/>Halkbank<br/>Finansbank<br/>Ziraat | NonSecure<br/>3DSecure<br/>3DPay<br/>3DHost<br/>3DPayHost<br/>Tekrarlanan Ödeme | İptal<br/>İade<br/>Durum sorgulama<br/>Sipariş Tarihçesini sorgulama<br/>Özel Sorgu |
1920
| PayFlex MPI VPOS V4 | Ziraat<br/>Vakıfbank VPOS 7/24<br/>İşbank | NonSecure<br/>3DSecure<br/>Tekrarlanan Ödeme | İptal<br/>İade<br/>Durum sorgulama<br/>Özel Sorgu |

config/pos_production.php

Lines changed: 90 additions & 85 deletions
Original file line numberDiff line numberDiff line change
@@ -15,164 +15,164 @@
1515
],
1616
],
1717
'akbankv3' => [
18-
'name' => 'AKBANK T.A.S.',
19-
'class' => Mews\Pos\Gateways\EstV3Pos::class,
20-
'gateway_endpoints' => [
18+
'name' => 'AKBANK T.A.S.',
19+
'class' => Mews\Pos\Gateways\EstV3Pos::class,
20+
'gateway_endpoints' => [
2121
'payment_api' => 'https://www.sanalakpos.com/fim/api',
2222
'gateway_3d' => 'https://www.sanalakpos.com/fim/est3Dgate',
2323
'gateway_3d_host' => 'https://sanalpos.sanalakpos.com.tr/fim/est3Dgate',
2424
],
2525
],
2626
'akbank' => [
27-
'name' => 'AKBANK T.A.S.',
28-
'class' => Mews\Pos\Gateways\EstV3Pos::class,
29-
'gateway_endpoints' => [
27+
'name' => 'AKBANK T.A.S.',
28+
'class' => Mews\Pos\Gateways\EstV3Pos::class,
29+
'gateway_endpoints' => [
3030
'payment_api' => 'https://www.sanalakpos.com/fim/api',
3131
'gateway_3d' => 'https://www.sanalakpos.com/fim/est3Dgate',
3232
'gateway_3d_host' => 'https://sanalpos.sanalakpos.com.tr/fim/est3Dgate',
3333
],
3434
],
35-
'tosla' => [
36-
'name' => 'AkÖde A.Ş.',
37-
'class' => Mews\Pos\Gateways\ToslaPos::class,
38-
'gateway_endpoints' => [
35+
'tosla' => [
36+
'name' => 'AkÖde A.Ş.',
37+
'class' => Mews\Pos\Gateways\ToslaPos::class,
38+
'gateway_endpoints' => [
3939
'payment_api' => 'https://entegrasyon.tosla.com/api/Payment',
4040
'gateway_3d' => 'https://entegrasyon.tosla.com/api/Payment/ProcessCardForm',
4141
'gateway_3d_host' => 'https://entegrasyon.tosla.com/api/Payment/threeDSecure',
4242
],
4343
],
4444
'finansbank' => [
45-
'name' => 'QNB Finansbank',
46-
'class' => Mews\Pos\Gateways\EstV3Pos::class,
47-
'gateway_endpoints' => [
48-
'payment_api' => 'https://www.fbwebpos.com/fim/api',
49-
'gateway_3d' => 'https://www.fbwebpos.com/fim/est3dgate',
45+
'name' => 'QNB Finansbank',
46+
'class' => Mews\Pos\Gateways\EstV3Pos::class,
47+
'gateway_endpoints' => [
48+
'payment_api' => 'https://www.fbwebpos.com/fim/api',
49+
'gateway_3d' => 'https://www.fbwebpos.com/fim/est3dgate',
5050
],
5151
],
5252
'halkbank' => [
53-
'name' => 'Halkbank',
54-
'class' => Mews\Pos\Gateways\EstV3Pos::class,
55-
'gateway_endpoints' => [
56-
'payment_api' => 'https://sanalpos.halkbank.com.tr/fim/api',
57-
'gateway_3d' => 'https://sanalpos.halkbank.com.tr/fim/est3dgate',
53+
'name' => 'Halkbank',
54+
'class' => Mews\Pos\Gateways\EstV3Pos::class,
55+
'gateway_endpoints' => [
56+
'payment_api' => 'https://sanalpos.halkbank.com.tr/fim/api',
57+
'gateway_3d' => 'https://sanalpos.halkbank.com.tr/fim/est3dgate',
5858
],
5959
],
6060
'teb' => [
61-
'name' => 'TEB',
62-
'class' => Mews\Pos\Gateways\EstV3Pos::class,
63-
'gateway_endpoints' => [
64-
'payment_api' => 'https://sanalpos.teb.com.tr/fim/api',
65-
'gateway_3d' => 'https://sanalpos.teb.com.tr/fim/est3Dgate',
61+
'name' => 'TEB',
62+
'class' => Mews\Pos\Gateways\EstV3Pos::class,
63+
'gateway_endpoints' => [
64+
'payment_api' => 'https://sanalpos.teb.com.tr/fim/api',
65+
'gateway_3d' => 'https://sanalpos.teb.com.tr/fim/est3Dgate',
6666
],
6767
],
6868
'isbank' => [
69-
'name' => 'İşbank T.A.S.',
70-
'class' => Mews\Pos\Gateways\EstV3Pos::class,
71-
'gateway_endpoints' => [
72-
'payment_api' => 'https://sanalpos.isbank.com.tr/fim/api',
73-
'gateway_3d' => 'https://sanalpos.isbank.com.tr/fim/est3Dgate',
69+
'name' => 'İşbank T.A.S.',
70+
'class' => Mews\Pos\Gateways\EstV3Pos::class,
71+
'gateway_endpoints' => [
72+
'payment_api' => 'https://sanalpos.isbank.com.tr/fim/api',
73+
'gateway_3d' => 'https://sanalpos.isbank.com.tr/fim/est3Dgate',
7474
],
7575
],
7676
'sekerbank' => [
77-
'name' => 'Şeker Bank',
78-
'class' => Mews\Pos\Gateways\EstV3Pos::class,
79-
'gateway_endpoints' => [
80-
'payment_api' => 'https://sanalpos.sekerbank.com.tr/fim/api',
81-
'gateway_3d' => 'https://sanalpos.sekerbank.com.tr/fim/est3Dgate',
77+
'name' => 'Şeker Bank',
78+
'class' => Mews\Pos\Gateways\EstV3Pos::class,
79+
'gateway_endpoints' => [
80+
'payment_api' => 'https://sanalpos.sekerbank.com.tr/fim/api',
81+
'gateway_3d' => 'https://sanalpos.sekerbank.com.tr/fim/est3Dgate',
8282
],
8383
],
8484
'yapikredi' => [
85-
'name' => 'Yapıkredi',
86-
'class' => Mews\Pos\Gateways\PosNet::class,
87-
'gateway_endpoints' => [
88-
'payment_api' => 'https://posnet.yapikredi.com.tr/PosnetWebService/XML',
89-
'gateway_3d' => 'https://posnet.yapikredi.com.tr/3DSWebService/YKBPaymentService',
85+
'name' => 'Yapıkredi',
86+
'class' => Mews\Pos\Gateways\PosNet::class,
87+
'gateway_endpoints' => [
88+
'payment_api' => 'https://posnet.yapikredi.com.tr/PosnetWebService/XML',
89+
'gateway_3d' => 'https://posnet.yapikredi.com.tr/3DSWebService/YKBPaymentService',
9090
],
9191
],
9292
'albaraka' => [
93-
'name' => 'Albaraka',
94-
'class' => Mews\Pos\Gateways\PosNetV1Pos::class,
95-
'gateway_endpoints' => [
96-
'payment_api' => 'https://epos.albarakaturk.com.tr/ALBMerchantService/MerchantJSONAPI.svc',
97-
'gateway_3d' => 'https://epos.albarakaturk.com.tr/ALBSecurePaymentUI/SecureProcess/SecureVerification.aspx',
93+
'name' => 'Albaraka',
94+
'class' => Mews\Pos\Gateways\PosNetV1Pos::class,
95+
'gateway_endpoints' => [
96+
'payment_api' => 'https://epos.albarakaturk.com.tr/ALBMerchantService/MerchantJSONAPI.svc',
97+
'gateway_3d' => 'https://epos.albarakaturk.com.tr/ALBSecurePaymentUI/SecureProcess/SecureVerification.aspx',
9898
],
9999
],
100100
'garanti' => [
101-
'name' => 'Garanti',
102-
'class' => Mews\Pos\Gateways\GarantiPos::class,
103-
'gateway_endpoints' => [
104-
'payment_api' => 'https://sanalposprov.garanti.com.tr/VPServlet',
105-
'gateway_3d' => 'https://sanalposprov.garanti.com.tr/servlet/gt3dengine',
101+
'name' => 'Garanti',
102+
'class' => Mews\Pos\Gateways\GarantiPos::class,
103+
'gateway_endpoints' => [
104+
'payment_api' => 'https://sanalposprov.garanti.com.tr/VPServlet',
105+
'gateway_3d' => 'https://sanalposprov.garanti.com.tr/servlet/gt3dengine',
106106
],
107107
],
108108
'qnbfinansbank-payfor' => [
109-
'name' => 'QNBFinansbank-PayFor',
110-
'class' => Mews\Pos\Gateways\PayForPos::class,
111-
'gateway_endpoints' => [
109+
'name' => 'QNBFinansbank-PayFor',
110+
'class' => Mews\Pos\Gateways\PayForPos::class,
111+
'gateway_endpoints' => [
112112
'payment_api' => 'https://vpos.qnbfinansbank.com/Gateway/XMLGate.aspx',
113113
'gateway_3d' => 'https://vpos.qnbfinansbank.com/Gateway/Default.aspx',
114114
'gateway_3d_host' => 'https://vpos.qnbfinansbank.com/Gateway/3DHost.aspx',
115115
],
116116
],
117117
'vakifbank' => [
118-
'name' => 'VakifBank-VPOS',
119-
'class' => Mews\Pos\Gateways\PayFlexV4Pos::class,
120-
'gateway_endpoints' => [
121-
'payment_api' => 'https://onlineodeme.vakifbank.com.tr:4443/VposService/v3/Vposreq.aspx',
122-
'gateway_3d' => 'https://3dsecure.vakifbank.com.tr:4443/MPIAPI/MPI_Enrollment.aspx',
123-
'query_api' => 'https://onlineodeme.vakifbank.com.tr:4443/UIService/Search.aspx',
118+
'name' => 'VakifBank-VPOS',
119+
'class' => Mews\Pos\Gateways\PayFlexV4Pos::class,
120+
'gateway_endpoints' => [
121+
'payment_api' => 'https://onlineodeme.vakifbank.com.tr:4443/VposService/v3/Vposreq.aspx',
122+
'gateway_3d' => 'https://3dsecure.vakifbank.com.tr:4443/MPIAPI/MPI_Enrollment.aspx',
123+
'query_api' => 'https://onlineodeme.vakifbank.com.tr:4443/UIService/Search.aspx',
124124
],
125125
],
126126
'ziraat-vpos' => [
127-
'name' => 'Ziraat Bankası',
128-
'class' => Mews\Pos\Gateways\PayFlexV4Pos::class,
129-
'gateway_endpoints' => [
130-
'payment_api' => 'https://sanalpos.ziraatbank.com.tr/v4/v3/Vposreq.aspx',
131-
'gateway_3d' => 'https://mpi.ziraatbank.com.tr/Enrollment.aspx',
132-
'query_api' => 'https://sanalpos.ziraatbank.com.tr/v4/UIWebService/Search.aspx',
127+
'name' => 'Ziraat Bankası',
128+
'class' => Mews\Pos\Gateways\PayFlexV4Pos::class,
129+
'gateway_endpoints' => [
130+
'payment_api' => 'https://sanalpos.ziraatbank.com.tr/v4/v3/Vposreq.aspx',
131+
'gateway_3d' => 'https://mpi.ziraatbank.com.tr/Enrollment.aspx',
132+
'query_api' => 'https://sanalpos.ziraatbank.com.tr/v4/UIWebService/Search.aspx',
133133
],
134134
],
135-
'ziraat-estpos' => [
136-
'name' => 'Ziraat Bankası Payten',
137-
'class' => Mews\Pos\Gateways\EstV3Pos::class,
138-
'gateway_endpoints' => [
139-
'payment_api' => 'https://sanalpos2.ziraatbank.com.tr/fim/api',
140-
'gateway_3d' => 'https://sanalpos2.ziraatbank.com.tr/fim/est3Dgate',
135+
'ziraat-estpos' => [
136+
'name' => 'Ziraat Bankası Payten',
137+
'class' => Mews\Pos\Gateways\EstV3Pos::class,
138+
'gateway_endpoints' => [
139+
'payment_api' => 'https://sanalpos2.ziraatbank.com.tr/fim/api',
140+
'gateway_3d' => 'https://sanalpos2.ziraatbank.com.tr/fim/est3Dgate',
141141
],
142142
],
143143
'vakifbank-cp' => [
144-
'name' => 'VakifBank-PayFlex-Common-Payment',
145-
'class' => Mews\Pos\Gateways\PayFlexCPV4Pos::class,
146-
'gateway_endpoints' => [
144+
'name' => 'VakifBank-PayFlex-Common-Payment',
145+
'class' => Mews\Pos\Gateways\PayFlexCPV4Pos::class,
146+
'gateway_endpoints' => [
147147
'payment_api' => 'https://cpweb.vakifbank.com.tr/CommonPayment/api/VposTransaction',
148148
'gateway_3d' => 'https://cpweb.vakifbank.com.tr/CommonPayment/api/RegisterTransaction',
149149
],
150150
],
151151
'denizbank' => [
152-
'name' => 'DenizBank-InterPos',
153-
'class' => Mews\Pos\Gateways\InterPos::class,
154-
'gateway_endpoints' => [
152+
'name' => 'DenizBank-InterPos',
153+
'class' => Mews\Pos\Gateways\InterPos::class,
154+
'gateway_endpoints' => [
155155
'payment_api' => 'https://inter-vpos.com.tr/mpi/Default.aspx',
156156
'gateway_3d' => 'https://inter-vpos.com.tr/mpi/Default.aspx',
157157
'gateway_3d_host' => 'https://inter-vpos.com.tr/mpi/3DHost.aspx',
158158
],
159159
],
160160
'kuveytpos' => [
161-
'name' => 'kuveyt-pos',
162-
'class' => Mews\Pos\Gateways\KuveytPos::class,
163-
'gateway_endpoints' => [
161+
'name' => 'kuveyt-pos',
162+
'class' => Mews\Pos\Gateways\KuveytPos::class,
163+
'gateway_endpoints' => [
164164
'payment_api' => 'https://sanalpos.kuveytturk.com.tr/ServiceGateWay/Home',
165165
'gateway_3d' => 'https://sanalpos.kuveytturk.com.tr/ServiceGateWay/Home/ThreeDModelPayGate',
166166
],
167167
],
168-
'kuveytsoappos' => [
168+
'kuveytsoappos' => [
169169
'name' => 'KuveytSoapApiPos',
170170
'class' => Mews\Pos\Gateways\KuveytSoapApiPos::class,
171171
'gateway_endpoints' => [
172172
'payment_api' => 'https://boa.kuveytturk.com.tr/BOA.Integration.WCFService/BOA.Integration.VirtualPos/VirtualPosService.svc?wsdl',
173173
],
174174
],
175-
'vakif-katilim' => [
175+
'vakif-katilim' => [
176176
'name' => 'Vakıf Katılım',
177177
'class' => Mews\Pos\Gateways\VakifKatilimPos::class,
178178
'gateway_endpoints' => [
@@ -185,9 +185,14 @@
185185
'name' => 'TURK Elektronik Para A.Ş',
186186
'class' => Mews\Pos\Gateways\ParamPos::class,
187187
'gateway_endpoints' => [
188-
'payment_api' => 'https://posws.param.com.tr/turkpos.ws/service_turkpos_prod.asmx',
189-
// API URL for 3D host payment
190-
'payment_api_2' => 'https://pos.param.com.tr/Tahsilat/to.ws/Service_Odeme.asmx',
188+
'payment_api' => 'https://posws.param.com.tr/turkpos.ws/service_turkpos_prod.asmx',
189+
],
190+
],
191+
'param-3d-host-pos' => [
192+
'name' => 'TURK Elektronik Para A.Ş',
193+
'class' => Mews\Pos\Gateways\Param3DHostPos::class,
194+
'gateway_endpoints' => [
195+
'payment_api' => 'https://pos.param.com.tr/Tahsilat/to.ws/Service_Odeme.asmx',
191196
'gateway_3d_host' => 'https://pos.param.com.tr/Tahsilat/Default.aspx',
192197
],
193198
],

config/pos_test.php

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,13 @@
1616
'class' => Mews\Pos\Gateways\ParamPos::class,
1717
'gateway_endpoints' => [
1818
'payment_api' => 'https://test-dmz.param.com.tr/turkpos.ws/service_turkpos_test.asmx',
19-
// API URL for 3D host payment
20-
'payment_api_2' => 'https://test-pos.param.com.tr/to.ws/Service_Odeme.asmx',
19+
],
20+
],
21+
'param-3d-host-pos' => [
22+
'name' => 'TURK Elektronik Para A.Ş',
23+
'class' => Mews\Pos\Gateways\Param3DHostPos::class,
24+
'gateway_endpoints' => [
25+
'payment_api' => 'https://test-pos.param.com.tr/to.ws/Service_Odeme.asmx',
2126
'gateway_3d_host' => 'https://test-pos.param.com.tr/default.aspx',
2227
],
2328
],

examples/_templates/_header.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,9 @@
3131
<li class="nav-item">
3232
<a class="nav-link <?= $posClass === \Mews\Pos\Gateways\ParamPos::class ? 'active' : ''; ?>" href="<?= $hostUrl ?>/parampos/index.php">Param POS</a>
3333
</li>
34+
<li class="nav-item">
35+
<a class="nav-link <?= $posClass === \Mews\Pos\Gateways\Param3DHostPos::class ? 'active' : ''; ?>" href="<?= $hostUrl ?>/parampos-3d-host/index.php">Param POS (3D Host)</a>
36+
</li>
3437
<li class="nav-item">
3538
<a class="nav-link <?= $posClass === \Mews\Pos\Gateways\EstV3Pos::class ? 'active' : ''; ?>" href="<?= $hostUrl ?>/payten/index.php">Payten V3</a>
3639
</li>

examples/parampos/3d-host/_config.php renamed to examples/parampos-3d-host/3d-host/_config.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
$baseUrl = $bankTestsUrl.'/3d-host/';
88
//account bilgileri kendi account bilgilerinizle degistiriniz
99
$account = \Mews\Pos\Factory\AccountFactory::createParamPosAccount(
10-
'param-pos',
10+
'param-3d-host-pos',
1111
10738,
1212
'Test',
1313
'Test',
File renamed without changes.
File renamed without changes.

0 commit comments

Comments
 (0)