diff --git a/modules/ppcp-wc-gateway/src/Processor/ThreeDSecureHandlingTrait.php b/modules/ppcp-wc-gateway/src/Processor/CreditCardOrderInfoHandlingTrait.php
similarity index 53%
rename from modules/ppcp-wc-gateway/src/Processor/ThreeDSecureHandlingTrait.php
rename to modules/ppcp-wc-gateway/src/Processor/CreditCardOrderInfoHandlingTrait.php
index e98c66862..1c65130e8 100644
--- a/modules/ppcp-wc-gateway/src/Processor/ThreeDSecureHandlingTrait.php
+++ b/modules/ppcp-wc-gateway/src/Processor/CreditCardOrderInfoHandlingTrait.php
@@ -1,6 +1,6 @@
payment_source();
+ if ( ! $payment_source || $payment_source->name() !== 'card' ) {
+ return;
+ }
+
+
+ $fraud_responses = $fraud->to_array();
+ $avs_response_order_note_title = __( 'Address Verification Result', 'woocommerce-paypal-payments' );
+ /* translators: %1$s is AVS order note title, %2$s is AVS order note result markup */
+ $avs_response_order_note_format = __( '%1$s %2$s', 'woocommerce-paypal-payments' );
+ $avs_response_order_note_result_format = '
';
+ $avs_response_order_note_result = sprintf(
+ $avs_response_order_note_result_format,
+ /* translators: %s is fraud AVS code */
+ sprintf( __( 'AVS: %s', 'woocommerce-paypal-payments' ), esc_html( $fraud_responses['avs_code'] ) ),
+ /* translators: %s is fraud AVS address match */
+ sprintf( __( 'Address Match: %s', 'woocommerce-paypal-payments' ), esc_html( $fraud_responses['address_match'] ) ),
+ /* translators: %s is fraud AVS postal match */
+ sprintf( __( 'Postal Match: %s', 'woocommerce-paypal-payments' ), esc_html( $fraud_responses['postal_match'] ) )
+ );
+ $avs_response_order_note = sprintf(
+ $avs_response_order_note_format,
+ esc_html( $avs_response_order_note_title ),
+ wp_kses_post( $avs_response_order_note_result )
+ );
+ $wc_order->add_order_note( $avs_response_order_note );
+
+ $cvv_response_order_note_format = '';
+ $cvv_response_order_note = sprintf(
+ $cvv_response_order_note_format,
+ /* translators: %s is fraud CVV match */
+ sprintf( __( 'CVV2 Match: %s', 'woocommerce-paypal-payments' ), esc_html( $fraud_responses['cvv_match'] ) )
+ );
+ $wc_order->add_order_note( $cvv_response_order_note );
+ }
}
diff --git a/modules/ppcp-wc-gateway/src/WCGatewayModule.php b/modules/ppcp-wc-gateway/src/WCGatewayModule.php
index fb3168803..d47301787 100644
--- a/modules/ppcp-wc-gateway/src/WCGatewayModule.php
+++ b/modules/ppcp-wc-gateway/src/WCGatewayModule.php
@@ -15,7 +15,7 @@ use WooCommerce\PayPalCommerce\ApiClient\Entity\Authorization;
use WooCommerce\PayPalCommerce\ApiClient\Exception\RuntimeException;
use WooCommerce\PayPalCommerce\ApiClient\Helper\Cache;
use WooCommerce\PayPalCommerce\WcGateway\Endpoint\RefreshFeatureStatusEndpoint;
-use WooCommerce\PayPalCommerce\WcGateway\Processor\ThreeDSecureHandlingTrait;
+use WooCommerce\PayPalCommerce\WcGateway\Processor\CreditCardOrderInfoHandlingTrait;
use WooCommerce\PayPalCommerce\Vendor\Dhii\Container\ServiceProvider;
use WooCommerce\PayPalCommerce\Vendor\Dhii\Modular\Module\ModuleInterface;
use WC_Order;
@@ -57,7 +57,7 @@ use WooCommerce\PayPalCommerce\Vendor\Psr\Container\ContainerInterface;
*/
class WCGatewayModule implements ModuleInterface {
- use ThreeDSecureHandlingTrait;
+ use CreditCardOrderInfoHandlingTrait;
/**
* {@inheritDoc}
@@ -107,45 +107,11 @@ class WCGatewayModule implements ModuleInterface {
$wc_order->save_meta_data();
}
+ $order = $c->get( 'session.handler' )->order();
$fraud = $capture->fraud_processor_response();
if ( $fraud ) {
- $fraud_responses = $fraud->to_array();
- $avs_response_order_note_title = __( 'Address Verification Result', 'woocommerce-paypal-payments' );
- /* translators: %1$s is AVS order note title, %2$s is AVS order note result markup */
- $avs_response_order_note_format = __( '%1$s %2$s', 'woocommerce-paypal-payments' );
- $avs_response_order_note_result_format = '';
- $avs_response_order_note_result = sprintf(
- $avs_response_order_note_result_format,
- /* translators: %s is fraud AVS code */
- sprintf( __( 'AVS: %s', 'woocommerce-paypal-payments' ), esc_html( $fraud_responses['avs_code'] ) ),
- /* translators: %s is fraud AVS address match */
- sprintf( __( 'Address Match: %s', 'woocommerce-paypal-payments' ), esc_html( $fraud_responses['address_match'] ) ),
- /* translators: %s is fraud AVS postal match */
- sprintf( __( 'Postal Match: %s', 'woocommerce-paypal-payments' ), esc_html( $fraud_responses['postal_match'] ) )
- );
- $avs_response_order_note = sprintf(
- $avs_response_order_note_format,
- esc_html( $avs_response_order_note_title ),
- wp_kses_post( $avs_response_order_note_result )
- );
- $wc_order->add_order_note( $avs_response_order_note );
-
- $cvv_response_order_note_format = '';
- $cvv_response_order_note = sprintf(
- $cvv_response_order_note_format,
- /* translators: %s is fraud CVV match */
- sprintf( __( 'CVV2 Match: %s', 'woocommerce-paypal-payments' ), esc_html( $fraud_responses['cvv_match'] ) )
- );
- $wc_order->add_order_note( $cvv_response_order_note );
+ $this->handle_fraud( $fraud, $order, $wc_order );
}
-
- $order = $c->get( 'session.handler' )->order();
$this->handle_three_d_secure( $order, $wc_order );
},
10,
@@ -156,6 +122,10 @@ class WCGatewayModule implements ModuleInterface {
'woocommerce_paypal_payments_order_authorized',
function ( WC_Order $wc_order, Authorization $authorization ) use ( $c ) {
$order = $c->get( 'session.handler' )->order();
+ $fraud = $authorization->fraud_processor_response();
+ if ( $fraud ) {
+ $this->handle_fraud( $fraud, $order, $wc_order );
+ }
$this->handle_three_d_secure( $order, $wc_order );
},
10,