Skip to content
This repository was archived by the owner on Sep 29, 2024. It is now read-only.

Commit 2e8ceae

Browse files
authored
Merge pull request #5 from decoderid/dev-psr4
fix static and dynamic qr
2 parents d732f84 + 96eedbc commit 2e8ceae

File tree

1 file changed

+26
-20
lines changed

1 file changed

+26
-20
lines changed

src/GojekApi.php

+26-20
Original file line numberDiff line numberDiff line change
@@ -281,24 +281,28 @@ public function validateQRCode($data) {
281281
]);
282282
}
283283

284-
public function payStaticQR($payee, $additionalData, $metaData, $orderSignature, $amount, $pin) {
285-
286-
$inquiry = $this->request('POST', EP_PAYMENTS_V1, [
287-
'additional_data' => $additionalData,
284+
public function paymentQR($validateQRCode, $amount) {
285+
return $this->request('POST', EP_PAYMENTS_V1, [
286+
'additional_data' => $validateQRCode->data->additional_data,
288287
'amount' => [
289288
'currency' => 'IDR',
290289
'value' => $amount
291290
],
292291
'channel_type' => 'STATIC_QR',
293-
'checksum' => json_decode($metaData->checksum),
292+
'checksum' => json_decode($validateQRCode->data->metadata->checksum),
294293
'fetch_promotion_details' => false,
295-
'metadata' => $metaData,
296-
'order_signature' => $orderSignature,
297-
'payee' => $payee,
298-
'payment_intent' => $metaData->payment_widget_intent
294+
'metadata' => $validateQRCode->data->metadata,
295+
'order_signature' => $validateQRCode->data->order_signature,
296+
'payee' => $validateQRCode->data->payee,
297+
'payment_intent' => $validateQRCode->data->metadata->payment_widget_intent
299298
], [
300299
'Idempotency-Key: ' . $this->uuid()
301300
]);
301+
}
302+
303+
public function payStaticQR($validateQRCode, $amount, $pin) {
304+
305+
$inquiry = $this->paymentQR($validateQRCode, $amount);
302306

303307
if (!$inquiry->success) {
304308
return 'Error Inquiry';
@@ -318,13 +322,13 @@ public function payStaticQR($payee, $additionalData, $metaData, $orderSignature,
318322
$paymentOptionsToken = $paymentOptions->data->payment_options[0]->token;
319323

320324
return $this->request('PATCH', str_replace('{{PAYMENT_ID}}', $inquiry->data->payment_id, EP_PAYMENTS_V3), [
321-
'additional_data' => $additionalData,
325+
'additional_data' => $validateQRCode->data->additional_data,
322326
'applied_promo_code' => [
323327
'NO_PROMO_APPLIED'
324328
],
325-
'checksum' => json_decode($metaData->checksum),
326-
'metadata' => $metaData,
327-
'order_signature' => $orderSignature,
329+
'checksum' => json_decode($validateQRCode->data->metadata->checksum),
330+
'metadata' => $validateQRCode->data->metadata,
331+
'order_signature' => $validateQRCode->data->order_signature,
328332
'payment_instructions' => [
329333
[
330334
'amount' => [
@@ -341,13 +345,15 @@ public function payStaticQR($payee, $additionalData, $metaData, $orderSignature,
341345
]);
342346
}
343347

344-
public function payDynamicQR($paymentId, $additionalData, $metaData, $orderSignature, $amount, $pin) {
348+
public function payDynamicQR($validateQRCode, $amount, $pin) {
349+
350+
$payment = $this->paymentQR($validateQRCode, $amount);
345351

346352
$query = http_build_query([
347353
'fetch_promotion_details' => false
348354
]);
349355

350-
$inquiry = $this->request('GET', EP_PAYMENTS_V1 . '/' . $paymentId . '?' . $query);
356+
$inquiry = $this->request('GET', EP_PAYMENTS_V1 . '/' . $payment->data->payment_id . '?' . $query);
351357

352358
if (!$inquiry->success) {
353359
return 'Error Inquiry';
@@ -366,15 +372,15 @@ public function payDynamicQR($paymentId, $additionalData, $metaData, $orderSigna
366372

367373
$paymentOptionsToken = $paymentOptions->data->payment_options[0]->token;
368374

369-
return $this->request('PATCH', str_replace('{{PAYMENT_ID}}', $inquiry->data->payment_id, EP_PAYMENTS_V3), [
370-
'additional_data' => $additionalData,
375+
return $this->request('PATCH', str_replace('{{PAYMENT_ID}}', $payment->data->payment_id, EP_PAYMENTS_V3), [
376+
'additional_data' => $validateQRCode->data->additional_data,
371377
'applied_promo_code' => [
372378
'NO_PROMO_APPLIED'
373379
],
374380
'channel_type' => 'DYNAMIC_QR',
375-
'checksum' => json_decode($metaData->checksum),
376-
'metadata' => $metaData,
377-
'order_signature' => $orderSignature,
381+
'checksum' => json_decode($validateQRCode->data->metadata->checksum),
382+
'metadata' => $validateQRCode->data->metadata,
383+
'order_signature' => $validateQRCode->data->order_signature,
378384
'payment_instructions' => [
379385
[
380386
'amount' => [

0 commit comments

Comments
 (0)