From 6864c491ba1514ab25cf895b0fe5b30833fb5c55 Mon Sep 17 00:00:00 2001 From: shaunpreston Date: Thu, 17 Jul 2014 15:11:34 +0100 Subject: [PATCH 1/3] Removed billing/shipping state children from xml Netbanx gives a parse error if the state value is blank or not US --- src/Message/AuthorizeRequest.php | 2 -- 1 file changed, 2 deletions(-) diff --git a/src/Message/AuthorizeRequest.php b/src/Message/AuthorizeRequest.php index af3bdc2..04c1f10 100644 --- a/src/Message/AuthorizeRequest.php +++ b/src/Message/AuthorizeRequest.php @@ -99,7 +99,6 @@ protected function getXmlString() $billingDetails->addChild('street', $card->getBillingAddress1()); $billingDetails->addChild('street2', $card->getBillingAddress2()); $billingDetails->addChild('city', $card->getBillingCity()); - $billingDetails->addChild('state', $card->getBillingState()); $billingDetails->addChild('country', $card->getBillingCountry()); $billingDetails->addChild('zip', $card->getBillingPostcode()); $billingDetails->addChild('phone', $card->getBillingPhone()); @@ -112,7 +111,6 @@ protected function getXmlString() $shippingDetails->addChild('street', $card->getShippingAddress1()); $shippingDetails->addChild('street2', $card->getShippingAddress2()); $shippingDetails->addChild('city', $card->getShippingCity()); - $shippingDetails->addChild('state', $card->getShippingState()); $shippingDetails->addChild('country', $card->getShippingCountry()); $shippingDetails->addChild('zip', $card->getShippingPostcode()); $shippingDetails->addChild('phone', $card->getShippingPhone()); From 99e5713b75f9415269d7386c11de4e9a41d1daff Mon Sep 17 00:00:00 2001 From: Shaun Preston Date: Thu, 17 Jul 2014 17:09:00 +0100 Subject: [PATCH 2/3] Revert "Removed billing/shipping state children from xml" This reverts commit 6864c491ba1514ab25cf895b0fe5b30833fb5c55. --- src/Message/AuthorizeRequest.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Message/AuthorizeRequest.php b/src/Message/AuthorizeRequest.php index 04c1f10..af3bdc2 100644 --- a/src/Message/AuthorizeRequest.php +++ b/src/Message/AuthorizeRequest.php @@ -99,6 +99,7 @@ protected function getXmlString() $billingDetails->addChild('street', $card->getBillingAddress1()); $billingDetails->addChild('street2', $card->getBillingAddress2()); $billingDetails->addChild('city', $card->getBillingCity()); + $billingDetails->addChild('state', $card->getBillingState()); $billingDetails->addChild('country', $card->getBillingCountry()); $billingDetails->addChild('zip', $card->getBillingPostcode()); $billingDetails->addChild('phone', $card->getBillingPhone()); @@ -111,6 +112,7 @@ protected function getXmlString() $shippingDetails->addChild('street', $card->getShippingAddress1()); $shippingDetails->addChild('street2', $card->getShippingAddress2()); $shippingDetails->addChild('city', $card->getShippingCity()); + $shippingDetails->addChild('state', $card->getShippingState()); $shippingDetails->addChild('country', $card->getShippingCountry()); $shippingDetails->addChild('zip', $card->getShippingPostcode()); $shippingDetails->addChild('phone', $card->getShippingPhone()); From cafd9b43ae68cc9373f7ecc9d8bbe184222ae427 Mon Sep 17 00:00:00 2001 From: Shaun Preston Date: Thu, 17 Jul 2014 17:12:57 +0100 Subject: [PATCH 3/3] Check if country code is US If Country is US then we include the state in the request. Otherwise ignore for international. This stops the parse error received from netbanx. --- src/Message/AuthorizeRequest.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Message/AuthorizeRequest.php b/src/Message/AuthorizeRequest.php index af3bdc2..ff6271b 100644 --- a/src/Message/AuthorizeRequest.php +++ b/src/Message/AuthorizeRequest.php @@ -99,7 +99,9 @@ protected function getXmlString() $billingDetails->addChild('street', $card->getBillingAddress1()); $billingDetails->addChild('street2', $card->getBillingAddress2()); $billingDetails->addChild('city', $card->getBillingCity()); - $billingDetails->addChild('state', $card->getBillingState()); + if ($card->getBillingCountry() === 'US') { + $billingDetails->addChild('state', $card->getBillingState()); + } $billingDetails->addChild('country', $card->getBillingCountry()); $billingDetails->addChild('zip', $card->getBillingPostcode()); $billingDetails->addChild('phone', $card->getBillingPhone()); @@ -112,7 +114,9 @@ protected function getXmlString() $shippingDetails->addChild('street', $card->getShippingAddress1()); $shippingDetails->addChild('street2', $card->getShippingAddress2()); $shippingDetails->addChild('city', $card->getShippingCity()); - $shippingDetails->addChild('state', $card->getShippingState()); + if ($card->getShippingCountry() === 'US') { + $shippingDetails->addChild('state', $card->getShippingState()); + } $shippingDetails->addChild('country', $card->getShippingCountry()); $shippingDetails->addChild('zip', $card->getShippingPostcode()); $shippingDetails->addChild('phone', $card->getShippingPhone());