[interchange/gateway_log] Use full cart for cart_md5 hash

Mark Johnson interchange-cvs at icdevgroup.org
Tue Nov 28 20:34:38 UTC 2017


commit 699d89f52e8cba8b55408ccb9ca3673b04aa52ab
Author: Mark Johnson <mark at endpoint.com>
Date:   Tue Nov 28 00:05:11 2017 -0500

    Use full cart for cart_md5 hash

 lib/Vend/Payment/AuthorizeNet.pm  |   11 +++++++----
 lib/Vend/Payment/Braintree.pm     |   11 +++++++----
 lib/Vend/Payment/CyberSource.pm   |   11 +++++++----
 lib/Vend/Payment/PayflowPro.pm    |   11 +++++++----
 lib/Vend/Payment/PaypalExpress.pm |   11 +++++++----
 5 files changed, 35 insertions(+), 20 deletions(-)
---
diff --git a/lib/Vend/Payment/AuthorizeNet.pm b/lib/Vend/Payment/AuthorizeNet.pm
index 61a3bda..22e772f 100644
--- a/lib/Vend/Payment/AuthorizeNet.pm
+++ b/lib/Vend/Payment/AuthorizeNet.pm
@@ -717,11 +717,14 @@ sub log_it {
     );
 
     if (@$Vend::Items) {
-        $fields{cart_md5} =
-            Digest::MD5::md5_hex(
-                map { ($_->{code}, $_->{quantity}) } @$Vend::Items
-            )
+        my $dump = Data::Dumper
+            -> new($Vend::Items)
+            -> Indent(0)
+            -> Terse(1)
+            -> Deepcopy(1)
+            -> Sortkeys(1)
         ;
+        $fields{cart_md5} = Digest::MD5::md5_hex($dump->Dump);
     }
 
     $self->write(\%fields);
diff --git a/lib/Vend/Payment/Braintree.pm b/lib/Vend/Payment/Braintree.pm
index f409f77..8561474 100644
--- a/lib/Vend/Payment/Braintree.pm
+++ b/lib/Vend/Payment/Braintree.pm
@@ -1250,11 +1250,14 @@ sub log_it {
     );
 
     if (@$Vend::Items) {
-        $fields{cart_md5} =
-            Digest::MD5::md5_hex(
-                map { ($_->{code}, $_->{quantity}) } @$Vend::Items
-            )
+        my $dump = Data::Dumper
+            -> new($Vend::Items)
+            -> Indent(0)
+            -> Terse(1)
+            -> Deepcopy(1)
+            -> Sortkeys(1)
         ;
+        $fields{cart_md5} = Digest::MD5::md5_hex($dump->Dump);
     }
 
     $self->write(\%fields);
diff --git a/lib/Vend/Payment/CyberSource.pm b/lib/Vend/Payment/CyberSource.pm
index 76b39e6..923ad78 100644
--- a/lib/Vend/Payment/CyberSource.pm
+++ b/lib/Vend/Payment/CyberSource.pm
@@ -2631,11 +2631,14 @@ sub log_it {
     );
 
     if (@$Vend::Items) {
-        $fields{cart_md5} =
-            Digest::MD5::md5_hex(
-                map { ($_->{code}, $_->{quantity}) } @$Vend::Items
-            )
+        my $dump = Data::Dumper
+            -> new($Vend::Items)
+            -> Indent(0)
+            -> Terse(1)
+            -> Deepcopy(1)
+            -> Sortkeys(1)
         ;
+        $fields{cart_md5} = Digest::MD5::md5_hex($dump->Dump);
     }
 
     $self->write(\%fields);
diff --git a/lib/Vend/Payment/PayflowPro.pm b/lib/Vend/Payment/PayflowPro.pm
index 830f186..7ae64ef 100644
--- a/lib/Vend/Payment/PayflowPro.pm
+++ b/lib/Vend/Payment/PayflowPro.pm
@@ -920,11 +920,14 @@ sub log_it {
     );
 
     if (@$Vend::Items) {
-        $fields{cart_md5} =
-            Digest::MD5::md5_hex(
-                map { ($_->{code}, $_->{quantity}) } @$Vend::Items
-            )
+        my $dump = Data::Dumper
+            -> new($Vend::Items)
+            -> Indent(0)
+            -> Terse(1)
+            -> Deepcopy(1)
+            -> Sortkeys(1)
         ;
+        $fields{cart_md5} = Digest::MD5::md5_hex($dump->Dump);
     }
 
     $self->write(\%fields);
diff --git a/lib/Vend/Payment/PaypalExpress.pm b/lib/Vend/Payment/PaypalExpress.pm
index 794c656..ca709be 100644
--- a/lib/Vend/Payment/PaypalExpress.pm
+++ b/lib/Vend/Payment/PaypalExpress.pm
@@ -2121,11 +2121,14 @@ sub log_it {
     );
 
     if (@$Vend::Items) {
-        $fields{cart_md5} =
-            Digest::MD5::md5_hex(
-                map { ($_->{code}, $_->{quantity}) } @$Vend::Items
-            )
+        my $dump = Data::Dumper
+            -> new($Vend::Items)
+            -> Indent(0)
+            -> Terse(1)
+            -> Deepcopy(1)
+            -> Sortkeys(1)
         ;
+        $fields{cart_md5} = Digest::MD5::md5_hex($dump->Dump);
     }
 
     $self->write(\%fields);



More information about the interchange-cvs mailing list