From c9d1d5f04f58fbff6ad7d00653b99f2bcf43345a Mon Sep 17 00:00:00 2001 From: David Bomba Date: Fri, 2 Aug 2024 13:07:34 +1000 Subject: [PATCH] Update paypal for fraudnet --- .../PayPalPPCPPaymentDriver.php | 27 +++++++++++++---- .../PayPalRestPaymentDriver.php | 30 ++++++++++++------- 2 files changed, 41 insertions(+), 16 deletions(-) diff --git a/app/PaymentDrivers/PayPalPPCPPaymentDriver.php b/app/PaymentDrivers/PayPalPPCPPaymentDriver.php index 8a52fe617a58..a62b24b6be8b 100644 --- a/app/PaymentDrivers/PayPalPPCPPaymentDriver.php +++ b/app/PaymentDrivers/PayPalPPCPPaymentDriver.php @@ -273,14 +273,14 @@ class PayPalPPCPPaymentDriver extends PayPalBasePaymentDriver ] ]; - - if($shipping = $this->getShippingAddress()) { + if($shipping = $this->getShippingAddress()) $order['purchase_units'][0]["shipping"] = $shipping; - } - if(isset($data['payment_source'])) { + if(isset($data['payment_source'])) $order['payment_source'] = $data['payment_source']; - } + + if(isset($data['payer'])) + $order['payer'] = $data['payer']; $r = $this->gatewayRequest('/v2/checkout/orders', 'post', $order); @@ -316,8 +316,17 @@ class PayPalPPCPPaymentDriver extends PayPalBasePaymentDriver ->firstOrFail(); $orderId = $response['orderID']; + $r = $this->gatewayRequest("/v1/checkout/orders/{$orderId}/", 'delete', ['body' => '']); + $data["payer"] = [ + "name" => [ + "given_name" => $this->client->present()->first_name(), + "surname" => $this->client->present()->last_name() + ], + "email_address" => $this->client->present()->email(), + ]; + $data['amount_with_fee'] = $this->payment_hash->data->amount_with_fee; $data["payment_source"] = [ "card" => [ @@ -393,6 +402,14 @@ class PayPalPPCPPaymentDriver extends PayPalBasePaymentDriver $data = []; $this->payment_hash = $payment_hash; + $data["payer"] = [ + "name" => [ + "given_name" => $this->client->present()->first_name(), + "surname" => $this->client->present()->last_name() + ], + "email_address" => $this->client->present()->email(), + ]; + $data['amount_with_fee'] = $this->payment_hash->data->amount_with_fee; $data["payment_source"] = [ "card" => [ diff --git a/app/PaymentDrivers/PayPalRestPaymentDriver.php b/app/PaymentDrivers/PayPalRestPaymentDriver.php index 029b185eff36..dfbf86b75943 100644 --- a/app/PaymentDrivers/PayPalRestPaymentDriver.php +++ b/app/PaymentDrivers/PayPalRestPaymentDriver.php @@ -157,10 +157,6 @@ class PayPalRestPaymentDriver extends PayPalBasePaymentDriver } - - - - public function createOrder(array $data): string { @@ -173,13 +169,6 @@ class PayPalRestPaymentDriver extends PayPalBasePaymentDriver })->implode("\n"); $order = [ - "payer" => [ - "name" => [ - "given_name" => $this->client->present()->first_name(), - "surname" => $this->client->present()->last_name() - ], - "email_address" => $this->client->present()->email(), - ], "intent" => "CAPTURE", "payment_source" => $this->getPaymentSource(), "purchase_units" => [ @@ -220,6 +209,10 @@ class PayPalRestPaymentDriver extends PayPalBasePaymentDriver $order['payment_source'] = $data['payment_source']; } + if(isset($data["payer"])){ + $order['payer'] = $data["payer"]; + } + $r = $this->gatewayRequest('/v2/checkout/orders', 'post', $order); nlog($r->json()); @@ -281,6 +274,13 @@ class PayPalRestPaymentDriver extends PayPalBasePaymentDriver nlog($r->body()); + $data["payer"] = [ + "name" => [ + "given_name" => $this->client->present()->first_name(), + "surname" => $this->client->present()->last_name() + ], + "email_address" => $this->client->present()->email(), + ]; $data['amount_with_fee'] = $this->payment_hash->data->amount_with_fee; $data["payment_source"] = [ "card" => [ @@ -356,6 +356,14 @@ class PayPalRestPaymentDriver extends PayPalBasePaymentDriver $data = []; $this->payment_hash = $payment_hash; + $data['payer'] = [ + "name" => [ + "given_name" => $this->client->present()->first_name(), + "surname" => $this->client->present()->last_name() + ], + "email_address" => $this->client->present()->email(), + ]; + $data['amount_with_fee'] = $this->payment_hash->data->amount_with_fee; $data["payment_source"] = [ "card" => [