From dbb45e705e3dd6dfe8a7b5554221224a1b82e294 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Thu, 23 Sep 2021 17:50:58 +1000 Subject: [PATCH] PayFast API token billing --- app/PaymentDrivers/PayFast/Token.php | 36 +++++++++++++++++----------- 1 file changed, 22 insertions(+), 14 deletions(-) diff --git a/app/PaymentDrivers/PayFast/Token.php b/app/PaymentDrivers/PayFast/Token.php index 2bd79f209b71..f263d6885098 100644 --- a/app/PaymentDrivers/PayFast/Token.php +++ b/app/PaymentDrivers/PayFast/Token.php @@ -77,24 +77,32 @@ class Token $amount = array_sum(array_column($payment_hash->invoices(), 'amount')) + $payment_hash->fee_total; $amount = round(($amount * pow(10, $this->payfast->client->currency()->precision)),0); - $header =[ - 'merchant-id' => $this->payfast->company_gateway->getConfigField('merchantId'), - 'timestamp' => now()->format('c'), - 'version' => 'v1', - ]; + // $header =[ + // 'merchant-id' => $this->payfast->company_gateway->getConfigField('merchantId'), + // 'timestamp' => now()->format('c'), + // 'version' => 'v1', + // ]; - $body = [ - 'amount' => $amount, - 'item_name' => 'purchase', - 'item_description' => ctrans('texts.invoices') . ': ' . collect($payment_hash->invoices())->pluck('invoice_number'), - // 'm_payment_id' => $payment_hash->hash, - ]; + // $body = [ + // 'amount' => $amount, + // 'item_name' => 'purchase', + // 'item_description' => ctrans('texts.invoices') . ': ' . collect($payment_hash->invoices())->pluck('invoice_number'), + // // 'm_payment_id' => $payment_hash->hash, + // ]; - $header['signature'] = md5( $this->generate_parameter_string(array_merge($header, $body), false) ); + // $header['signature'] = md5( $this->generate_parameter_string(array_merge($header, $body), false) ); - $result = $this->send($header, $body, $cgt->token); + // $result = $this->send($header, $body, $cgt->token); - nlog($result); + + $adhocArray = $this->payfast + ->init() + ->payfast + ->subscriptions + ->adhoc($cgt->token, ['amount' => $amount, 'item_name' => 'purchase']); + + + nlog($adhocArray); // /*Refactor and push to BaseDriver*/ // if ($data['response'] != null && $data['response']->getMessages()->getResultCode() == 'Ok') {