Skip to content

Commit

Permalink
Merge branch 'master' into garanti-pos-history-support
Browse files Browse the repository at this point in the history
# Conflicts:
#	src/DataMapper/RequestDataMapper/GarantiPosRequestDataMapper.php
#	src/Gateways/GarantiPos.php
  • Loading branch information
nuryagdym committed Jul 1, 2024
2 parents e202b3e + a907693 commit 87ac777
Show file tree
Hide file tree
Showing 80 changed files with 964 additions and 630 deletions.
12 changes: 9 additions & 3 deletions docs/CANCEL-EXAMPLE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ require './vendor/autoload.php';

// API kullanıcı bilgileri
// AccountFactory'de kullanılacak method Gateway'e göre değişir!!!
// /examples altındaki örnek kodlara bakınız.
// /examples altındaki _config.php dosyalara bakınız
// (örn: /examples/akbankpos/3d/_config.php)
$account = \Mews\Pos\Factory\AccountFactory::createEstPosAccount(
'akbank', //pos config'deki ayarın index name'i
'yourClientID',
Expand All @@ -30,7 +31,7 @@ try {

$pos = \Mews\Pos\Factory\PosFactory::createPosGateway($account, $config, $eventDispatcher);

// GarantiPos ve KuveytPos'u test ortamda test edebilmek için zorunlu.
// GarantiPos'u test ortamda test edebilmek için zorunlu.
$pos->setTestMode(true);
} catch (\Mews\Pos\Exceptions\BankNotFoundException | \Mews\Pos\Exceptions\BankClassNullException $e) {
var_dump($e));
Expand Down Expand Up @@ -116,7 +117,12 @@ $lastResponse = $session->get('last_response');
$ip = '127.0.0.1';
$order = createCancelOrder(get_class($pos), $lastResponse, $ip);

$pos->cancel($order);
try {
$pos->cancel($order);
} catch (\Error $e) {
var_dump($e);
exit;
}
$response = $pos->getResponse();
var_dump($response);
```
12 changes: 9 additions & 3 deletions docs/HISTORY-EXAMPLE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ require './vendor/autoload.php';

// API kullanıcı bilgileri
// AccountFactory'de kullanılacak method Gateway'e göre değişir!!!
// /examples altındaki örnek kodlara bakınız.
// /examples altındaki _config.php dosyalara bakınız
// (örn: /examples/akbankpos/3d/_config.php)
$account = \Mews\Pos\Factory\AccountFactory::createEstPosAccount(
'akbank', //pos config'deki ayarın index name'i
'yourClientID',
Expand All @@ -30,7 +31,7 @@ try {

$pos = \Mews\Pos\Factory\PosFactory::createPosGateway($account, $config, $eventDispatcher);

// GarantiPos ve KuveytPos'u test ortamda test edebilmek için zorunlu.
// GarantiPos'u test ortamda test edebilmek için zorunlu.
$pos->setTestMode(true);
} catch (\Mews\Pos\Exceptions\BankNotFoundException | \Mews\Pos\Exceptions\BankClassNullException $e) {
var_dump($e));
Expand Down Expand Up @@ -85,7 +86,12 @@ function createHistoryOrder(string $gatewayClass, array $extraData, string $ip):

$order = createHistoryOrder(get_class($pos), [], '127.0.0.1');

$pos->history($order);
try {
$pos->history($order);
} catch (\Error $e) {
var_dump($e);
exit;
}
$response = $pos->getResponse();
var_dump($response);
```
28 changes: 17 additions & 11 deletions docs/NON-SECURE-PAYMENT-EXAMPLE.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,8 @@ $transactionType = \Mews\Pos\PosInterface::TX_TYPE_PAY_AUTH;

// API kullanıcı bilgileri
// AccountFactory'de kullanılacak method Gateway'e göre değişir!!!
// /examples altındaki örnek kodlara bakınız.
// /examples altındaki _config.php dosyalara bakınız
// (örn: /examples/akbankpos/3d/_config.php)
$account = \Mews\Pos\Factory\AccountFactory::createEstPosAccount(
'akbank', //pos config'deki ayarın index name'i
'yourClientID',
Expand All @@ -33,7 +34,7 @@ try {

$pos = \Mews\Pos\Factory\PosFactory::createPosGateway($account, $config, $eventDispatcher);

// GarantiPos ve KuveytPos'u test ortamda test edebilmek için zorunlu.
// GarantiPos'u test ortamda test edebilmek için zorunlu.
$pos->setTestMode(true);
} catch (\Mews\Pos\Exceptions\BankNotFoundException | \Mews\Pos\Exceptions\BankClassNullException $e) {
var_dump($e));
Expand All @@ -50,7 +51,7 @@ require 'config.php';

// Sipariş bilgileri
$order = [
'id' => 'BENZERSIZ-SIPERIS-ID',
'id' => 'BENZERSIZ-SIPARIS-ID',
'amount' => 1.01,
'currency' => \Mews\Pos\PosInterface::CURRENCY_TRY, //optional. default: TRY
'installment' => 0, //0 ya da 1'den büyük değer, optional. default: 0
Expand Down Expand Up @@ -80,20 +81,25 @@ $card = \Mews\Pos\Factory\CreditCardFactory::createForGateway(
}

// Ödeme tamamlanıyor
$pos->payment(
$paymentModel,
$order,
$transactionType,
$card
);
try {
$pos->payment(
$paymentModel,
$order,
$transactionType,
$card
);
} catch (\Error $e) {
var_dump($e);
exit;
}

// Ödeme başarılı mı?
$pos->isSuccess();
// Sonuç çıktısı
$response = $pos->getResponse();

var_dump($response);
// response içeriği için /examples/template/_payment_response.php dosyaya bakınız.

// Ödeme başarılı mı?
if ($pos->isSuccess()) {
// NOT: Ödeme durum sorgulama, iptal ve iade işlemleri yapacaksanız $response değerini saklayınız.
}
Expand Down
5 changes: 3 additions & 2 deletions docs/ORDER-HISTORY-EXAMPLE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ require './vendor/autoload.php';

// API kullanıcı bilgileri
// AccountFactory'de kullanılacak method Gateway'e göre değişir!!!
// /examples altındaki örnek kodlara bakınız.
// /examples altındaki _config.php dosyalara bakınız
// (örn: /examples/akbankpos/3d/_config.php)
$account = \Mews\Pos\Factory\AccountFactory::createEstPosAccount(
'akbank', //pos config'deki ayarın index name'i
'yourClientID',
Expand All @@ -30,7 +31,7 @@ try {

$pos = \Mews\Pos\Factory\PosFactory::createPosGateway($account, $config, $eventDispatcher);

// GarantiPos ve KuveytPos'u test ortamda test edebilmek için zorunlu.
// GarantiPos'u test ortamda test edebilmek için zorunlu.
$pos->setTestMode(true);
} catch (\Mews\Pos\Exceptions\BankNotFoundException | \Mews\Pos\Exceptions\BankClassNullException $e) {
var_dump($e));
Expand Down
7 changes: 4 additions & 3 deletions docs/PRE-AUTH-POST-EXAMPLE.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ $transactionType = \Mews\Pos\PosInterface::TX_TYPE_PAY_PRE_AUTH;

// API kullanıcı bilgileri
// AccountFactory'de kullanılacak method Gateway'e göre değişir!!!
// /examples altındaki örnek kodlara bakınız.
// /examples altındaki _config.php dosyalara bakınız
// (örn: /examples/akbankpos/3d/_config.php)
$account = \Mews\Pos\Factory\AccountFactory::createEstPosAccount(
'akbank', //pos config'deki ayarın index name'i
'yourClientID',
Expand All @@ -41,7 +42,7 @@ try {

$pos = \Mews\Pos\Factory\PosFactory::createPosGateway($account, $config, $eventDispatcher);

// GarantiPos ve KuveytPos'u test ortamda test edebilmek için zorunlu.
// GarantiPos'u test ortamda test edebilmek için zorunlu.
$pos->setTestMode(true);
} catch (\Mews\Pos\Exceptions\BankNotFoundException | \Mews\Pos\Exceptions\BankClassNullException $e) {
var_dump($e));
Expand All @@ -61,7 +62,7 @@ require 'config.php';

// Sipariş bilgileri
$order = [
'id' => 'BENZERSIZ-SIPERIS-ID',
'id' => 'BENZERSIZ-SIPARIS-ID',
'amount' => 1.01,
'currency' => \Mews\Pos\PosInterface::CURRENCY_TRY, //optional. default: TRY
'installment' => 0, //0 ya da 1'den büyük değer, optional. default: 0
Expand Down
13 changes: 10 additions & 3 deletions docs/REFUND-EXAMPLE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ require './vendor/autoload.php';

// API kullanıcı bilgileri
// AccountFactory'de kullanılacak method Gateway'e göre değişir!!!
// /examples altındaki örnek kodlara bakınız.
// /examples altındaki _config.php dosyalara bakınız
// (örn: /examples/akbankpos/3d/_config.php)
$account = \Mews\Pos\Factory\AccountFactory::createEstPosAccount(
'akbank', //pos config'deki ayarın index name'i
'yourClientID',
Expand All @@ -30,7 +31,7 @@ try {

$pos = \Mews\Pos\Factory\PosFactory::createPosGateway($account, $config, $eventDispatcher);

// GarantiPos ve KuveytPos'u test ortamda test edebilmek için zorunlu.
// GarantiPos'u test ortamda test edebilmek için zorunlu.
$pos->setTestMode(true);
} catch (\Mews\Pos\Exceptions\BankNotFoundException | \Mews\Pos\Exceptions\BankClassNullException $e) {
var_dump($e));
Expand Down Expand Up @@ -102,7 +103,13 @@ $refundAmount = $lastResponse['amount'] - 2;
$ip = '127.0.0.1';
$order = createRefundOrder(get_class($pos), $lastResponse, $ip, $refundAmount);

$pos->refund($order);
try {
$pos->refund($order);
} catch (\Error $e) {
var_dump($e);
exit;
}

$response = $pos->getResponse();
var_dump($response);
```
12 changes: 9 additions & 3 deletions docs/STATUS-EXAMPLE.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,8 @@ require './vendor/autoload.php';

// API kullanıcı bilgileri
// AccountFactory'de kullanılacak method Gateway'e göre değişir!!!
// /examples altındaki örnek kodlara bakınız.
// /examples altındaki _config.php dosyalara bakınız
// (örn: /examples/akbankpos/3d/_config.php)
$account = \Mews\Pos\Factory\AccountFactory::createEstPosAccount(
'akbank', //pos config'deki ayarın index name'i
'yourClientID',
Expand All @@ -30,7 +31,7 @@ try {

$pos = \Mews\Pos\Factory\PosFactory::createPosGateway($account, $config, $eventDispatcher);

// GarantiPos ve KuveytPos'u test ortamda test edebilmek için zorunlu.
// GarantiPos'u test ortamda test edebilmek için zorunlu.
$pos->setTestMode(true);
} catch (\Mews\Pos\Exceptions\BankNotFoundException | \Mews\Pos\Exceptions\BankClassNullException $e) {
var_dump($e));
Expand Down Expand Up @@ -79,7 +80,12 @@ $lastResponse = $session->get('last_response');
$ip = '127.0.0.1';
$order = createStatusOrder(get_class($pos), $lastResponse, $ip);

$pos->status($order);
try {
$pos->status($order);
} catch (\Error $e) {
var_dump($e);
exit;
}
$response = $pos->getResponse();
var_dump($response);
```
31 changes: 14 additions & 17 deletions docs/THREED-PAYMENT-EXAMPLE.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,8 @@ $transactionType = \Mews\Pos\PosInterface::TX_TYPE_PAY_AUTH;

// API kullanıcı bilgileri
// AccountFactory'de kullanılacak method Gateway'e göre değişir!!!
// /examples altındaki örnek kodlara bakınız.
// /examples altındaki _config.php dosyalara bakınız
// (örn: /examples/akbankpos/3d/_config.php)
$account = \Mews\Pos\Factory\AccountFactory::createEstPosAccount(
'akbank', //pos config'deki ayarın index name'i
'yourClientID',
Expand All @@ -49,7 +50,7 @@ try {

$pos = \Mews\Pos\Factory\PosFactory::createPosGateway($account, $config, $eventDispatcher);

// GarantiPos ve KuveytPos'u test ortamda test edebilmek için zorunlu.
// GarantiPos'u test ortamda test edebilmek için zorunlu.
$pos->setTestMode(true);
} catch (\Mews\Pos\Exceptions\BankNotFoundException | \Mews\Pos\Exceptions\BankClassNullException $e) {
var_dump($e);
Expand All @@ -66,7 +67,7 @@ require 'config.php';

// Sipariş bilgileri
$order = [
'id' => 'BENZERSIZ-SIPERIS-ID',
'id' => 'BENZERSIZ-SIPARIS-ID',
'amount' => 1.01,
'currency' => \Mews\Pos\PosInterface::CURRENCY_TRY, //optional. default: TRY
'installment' => 0, //0 ya da 1'den büyük değer, optional. default: 0
Expand Down Expand Up @@ -210,6 +211,9 @@ try {
$requestDataPreparedEvent->setRequestData($requestData);
});

// ============================================================================================
// OZEL DURUMLAR ICIN KODLAR END
// ============================================================================================
$formData = $pos->get3DFormData(
$order,
$paymentModel,
Expand All @@ -220,9 +224,6 @@ try {
var_dump($e);
exit;
}
// ============================================================================================
// OZEL DURUMLAR ICIN KODLAR END
// ============================================================================================
```
```html
<!-- $formData içeriği HTML forma render ediyoruz ve kullanıcıyı banka gateway'ine yönlendiriyoruz. -->
Expand All @@ -237,13 +238,11 @@ try {
</div>
</form>
<script>
$(function () {
// Formu JS ile otomatik submit ederek kullaniciyi banka gatewayine yonlendiriyoruz.
let redirectForm = $('form.redirect-form')
if (redirectForm.length) {
redirectForm.submit()
}
})
// Formu JS ile otomatik submit ederek kullaniciyi banka gatewayine yonlendiriyoruz.
let redirectForm = document.querySelector('form.redirect-form');
if (redirectForm) {
redirectForm.submit();
}
</script>
```
**response.php (gateway'den döndükten sonra çalışacak kod)**
Expand Down Expand Up @@ -300,20 +299,18 @@ try {
$card
);

// Ödeme başarılı mı?
$pos->isSuccess();

// Sonuç çıktısı
$response = $pos->getResponse();
var_dump($response);
// response içeriği için /examples/template/_payment_response.php dosyaya bakınız.

// Ödeme başarılı mı?
if ($pos->isSuccess()) {
// NOT: Ödeme durum sorgulama, iptal ve iade işlemleri yapacaksanız $response değerini saklayınız.
}
} catch (\Mews\Pos\Exceptions\HashMismatchException $e) {
// Bankadan gelen verilerin bankaya ait olmadığında bu exception oluşur.
// Banka API bilgileriniz hatalı ise de oluşur.
// veya Banka API bilgileriniz hatalı ise de oluşur.
} catch (\Error $e) {
var_dump($e);
exit;
Expand Down
Loading

0 comments on commit 87ac777

Please sign in to comment.