From 7092d66ecd41c0eeef8302de6c6adabc5d8e0058 Mon Sep 17 00:00:00 2001 From: David Bomba Date: Mon, 16 Aug 2021 10:58:57 +1000 Subject: [PATCH] Apple Pay --- app/PaymentDrivers/Stripe/ApplePay.php | 28 ++++++++++++++++++- .../gateways/stripe/applepay/pay.blade.php | 12 +++++++- 2 files changed, 38 insertions(+), 2 deletions(-) diff --git a/app/PaymentDrivers/Stripe/ApplePay.php b/app/PaymentDrivers/Stripe/ApplePay.php index 3b32ede65b7e..7b03510bd766 100644 --- a/app/PaymentDrivers/Stripe/ApplePay.php +++ b/app/PaymentDrivers/Stripe/ApplePay.php @@ -22,6 +22,7 @@ use App\Models\PaymentType; use App\Models\SystemLog; use App\PaymentDrivers\StripePaymentDriver; use App\PaymentDrivers\Stripe\CreditCard; +use App\Utils\Ninja; class ApplePay { @@ -35,6 +36,8 @@ class ApplePay public function paymentView(array $data) { + $this->registerDomain(); + $data['gateway'] = $this->stripe_driver; $data['payment_hash'] = $this->stripe_driver->payment_hash->hash; $data['payment_method_id'] = GatewayType::APPLE_PAY; @@ -75,7 +78,7 @@ class ApplePay $server_response = $this->stripe_driver->payment_hash->data->server_response; $response_handler = new CreditCard($this->stripe_driver); - + if ($server_response->status == 'succeeded') { $this->stripe_driver->logSuccessfulGatewayResponse(['response' => json_decode($request->gateway_response), 'data' => $this->stripe_driver->payment_hash], SystemLog::TYPE_STRIPE); @@ -88,4 +91,27 @@ class ApplePay } + + private function registerDomain() + { + if(Ninja::isHosted()) + { + + $domain = isset($this->stripe_driver->company_gateway->company->portal_domain) ? $this->stripe_driver->company_gateway->company->portal_domain : $this->stripe_driver->company_gateway->company->domain(); + + \Stripe\ApplePayDomain::create([ + 'domain_name' => $domain, + ], $this->stripe_driver->stripe_connect_auth); + + } + else { + + \Stripe\ApplePayDomain::create([ + 'domain_name' => config('ninja.app_url'), + ]); + + } + + } } + diff --git a/resources/views/portal/ninja2020/gateways/stripe/applepay/pay.blade.php b/resources/views/portal/ninja2020/gateways/stripe/applepay/pay.blade.php index 3ef1568f6dd3..76e72631df7c 100644 --- a/resources/views/portal/ninja2020/gateways/stripe/applepay/pay.blade.php +++ b/resources/views/portal/ninja2020/gateways/stripe/applepay/pay.blade.php @@ -1,4 +1,4 @@ -@extends('portal.ninja2020.layout.payments', ['gateway_title' => 'Alipay', 'card_title' => 'Alipay']) +@extends('portal.ninja2020.layout.payments', ['gateway_title' => 'Apple Pay', 'card_title' => 'Apple Pay']) @section('gateway_head') @@ -88,6 +88,7 @@ stripe.confirmCardPayment(clientSecret).then(function(result) { if (result.error) { // The payment failed -- ask your customer for a new payment method. + handleFailure(result.error) } else { // The payment has succeeded. handleSuccess(result); @@ -108,5 +109,14 @@ document.getElementById('server-response').submit(); } + handleFailure(message) { + let errors = document.getElementById('errors'); + + errors.textContent = ''; + errors.textContent = message; + errors.hidden = false; + + } + @endpush \ No newline at end of file