Skip to content

Commit e7024a6

Browse files
authored
Add MealVoucherCardTokenizationAdapter (#188)
* Add MealVoucherCardTokenizationAdapter with init, regenerate, and complete methods and related sample scripts * Update sample script with placeholder values for session and validation code in `complete_meal_voucher_card_tokenization.php` * Remove deprecated BKM Express payment retrieval sample script * Update callback URL placeholder and session variable in meal voucher tokenization samples
1 parent 6e7f818 commit e7024a6

7 files changed

Lines changed: 75 additions & 13 deletions
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
<?php
2+
3+
require_once('config/sample_config.php');
4+
5+
$sessionId = '$sessionId';
6+
7+
$request = array(
8+
'validationCode' => '111111'
9+
);
10+
11+
$response = SampleConfig::craftgate()->mealVoucherCardTokenization()->complete($sessionId, $request);
12+
13+
print_r($response);
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
<?php
2+
3+
require_once('config/sample_config.php');
4+
5+
use Craftgate\Model\ApmType;
6+
7+
$request = array(
8+
'apmType' => ApmType::SETCARD,
9+
'mealVoucherCardTokenizationData' => array(
10+
'callbackUrl' => 'https://www.yourdomain.com/callback'
11+
)
12+
);
13+
14+
$response = SampleConfig::craftgate()->mealVoucherCardTokenization()->init($request);
15+
16+
print_r($response);
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
<?php
2+
3+
require_once('config/sample_config.php');
4+
5+
$sessionId = 'session-id';
6+
7+
$request = array(
8+
'mealVoucherCardTokenizationData' => array(
9+
'callbackUrl' => 'https://www.yourdomain.com/callback'
10+
)
11+
);
12+
13+
$response = SampleConfig::craftgate()->mealVoucherCardTokenization()->regenerate(session-id, $request);
14+
15+
print_r($response);

samples/retrieve_bkm_express_payment.php

Lines changed: 0 additions & 7 deletions
This file was deleted.

src/Adapter/BkmExpressPaymentAdapter.php

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,6 @@ public function complete(array $request)
1616
return $this->httpPost($path, $request);
1717
}
1818

19-
public function retrievePayment($ticketId)
20-
{
21-
$path = "/payment/v1/bkm-express/payments/" . $ticketId;
22-
return $this->httpGet($path);
23-
}
24-
2519
public function retrievePaymentByToken($token)
2620
{
2721
$path = "/payment/v1/bkm-express/" . $token;
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
<?php
2+
3+
namespace Craftgate\Adapter;
4+
5+
6+
class MealVoucherCardTokenizationAdapter extends BaseAdapter
7+
{
8+
public function init(array $request)
9+
{
10+
$path = "/payment/v1/meal-voucher/card-tokenizations/init";
11+
return $this->httpPost($path, $request);
12+
}
13+
14+
public function regenerate(string $sessionId, array $request)
15+
{
16+
$path = "/payment/v1/meal-voucher/card-tokenizations/{$sessionId}/regenerate";
17+
return $this->httpPost($path, $request);
18+
}
19+
20+
public function complete(string $sessionId, array $request)
21+
{
22+
$path = "/payment/v1/meal-voucher/card-tokenizations/{$sessionId}/complete";
23+
return $this->httpPost($path, $request);
24+
}
25+
}

src/Craftgate.php

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
use Craftgate\Adapter\InstallmentAdapter;
1111
use Craftgate\Adapter\JuzdanPaymentAdapter;
1212
use Craftgate\Adapter\MasterpassPaymentAdapter;
13+
use Craftgate\Adapter\MealVoucherCardTokenizationAdapter;
1314
use Craftgate\Adapter\MerchantAdapter;
1415
use Craftgate\Adapter\MerchantApmAdapter;
1516
use Craftgate\Adapter\OnboardingAdapter;
@@ -136,4 +137,9 @@ public function bkmExpress()
136137
{
137138
return new BkmExpressPaymentAdapter($this->options);
138139
}
140+
141+
public function mealVoucherCardTokenization()
142+
{
143+
return new MealVoucherCardTokenizationAdapter($this->options);
144+
}
139145
}

0 commit comments

Comments
 (0)