From c0261f3f87983f4a75aa7a644826f75ac2e48fd3 Mon Sep 17 00:00:00 2001
From: Peter <peter@afosto.com>
Date: Wed, 9 Nov 2016 11:10:21 +0100
Subject: [PATCH 1/4] first name is now inserted in the intials field: solves
 the klarna bug

---
 src/Message/PurchaseRequest.php | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

diff --git a/src/Message/PurchaseRequest.php b/src/Message/PurchaseRequest.php
index d7b5c60..af9e575 100644
--- a/src/Message/PurchaseRequest.php
+++ b/src/Message/PurchaseRequest.php
@@ -45,7 +45,6 @@ public function getData() {
                 return strtoupper(substr($word, 0, 1));
             };
 
-            $initials = implode('.', array_map($firstLetterInWord, explode(' ', trim($card->getFirstName()))));
             $invoiceInitials = implode('.', array_map($firstLetterInWord, explode(' ', trim($card->getBillingFirstName()))));
 
             $addressParts = [];
@@ -53,7 +52,7 @@ public function getData() {
             $addressParts = array_filter($addressParts, 'trim');
 
             $data['enduser'] = array(
-                'initials' => $initials ? $initials.'.' : '',
+                'initials' => $card->getFirstName(), //Pay has no support for firstName, but some methods require full name. Conversion to initials is handled by Pay.nl based on the payment method.
                 'lastName' => $card->getLastName(),
                 'gender' => $card->getGender(), //Should be inserted in the CreditCard as M/F
                 'dob' => $card->getBirthday('d-m-Y'),

From 6d8e8f476c4e7603065dc617d700c8495b3b8353 Mon Sep 17 00:00:00 2001
From: Peter <peter@afosto.com>
Date: Wed, 9 Nov 2016 11:19:44 +0100
Subject: [PATCH 2/4] bufix

---
 src/Message/PurchaseRequest.php | 4 +---
 1 file changed, 1 insertion(+), 3 deletions(-)

diff --git a/src/Message/PurchaseRequest.php b/src/Message/PurchaseRequest.php
index af9e575..522e66b 100644
--- a/src/Message/PurchaseRequest.php
+++ b/src/Message/PurchaseRequest.php
@@ -45,8 +45,6 @@ public function getData() {
                 return strtoupper(substr($word, 0, 1));
             };
 
-            $invoiceInitials = implode('.', array_map($firstLetterInWord, explode(' ', trim($card->getBillingFirstName()))));
-
             $addressParts = [];
             preg_match($this->addressRegex, $card->getBillingAddress1(), $addressParts);
             $addressParts = array_filter($addressParts, 'trim');
@@ -67,7 +65,7 @@ public function getData() {
                     'countryCode' => $card->getCountry(),
                 ),
                 'invoiceAddress' => array(
-                    'initials' => $invoiceInitials ? $invoiceInitials.'.' : '',
+                    'initials' => $card->getFirstName(),
                     'lastName' => $card->getBillingLastName(),
                     'streetName' => $addressParts[1],
                     'streetNumber' => isset($addressParts[2]) ? $addressParts[2] : null,

From 6eab32a25924eb0f522a7ee2fe428f3f17c6bebb Mon Sep 17 00:00:00 2001
From: Peter <peter@afosto.com>
Date: Wed, 9 Nov 2016 11:23:55 +0100
Subject: [PATCH 3/4] bugfix

---
 src/Message/PurchaseRequest.php | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/Message/PurchaseRequest.php b/src/Message/PurchaseRequest.php
index 522e66b..2f7ccc8 100644
--- a/src/Message/PurchaseRequest.php
+++ b/src/Message/PurchaseRequest.php
@@ -65,7 +65,7 @@ public function getData() {
                     'countryCode' => $card->getCountry(),
                 ),
                 'invoiceAddress' => array(
-                    'initials' => $card->getFirstName(),
+                    'initials' => $card->getBillingFirstName(),
                     'lastName' => $card->getBillingLastName(),
                     'streetName' => $addressParts[1],
                     'streetNumber' => isset($addressParts[2]) ? $addressParts[2] : null,

From 455c781cc6ae597566747f01f51b9009332351ca Mon Sep 17 00:00:00 2001
From: Peter <peter@afosto.com>
Date: Wed, 9 Nov 2016 11:40:20 +0100
Subject: [PATCH 4/4] cleanup

---
 src/Message/PurchaseRequest.php | 4 ----
 1 file changed, 4 deletions(-)

diff --git a/src/Message/PurchaseRequest.php b/src/Message/PurchaseRequest.php
index 2f7ccc8..f3dd90d 100644
--- a/src/Message/PurchaseRequest.php
+++ b/src/Message/PurchaseRequest.php
@@ -41,10 +41,6 @@ public function getData() {
         }
 
         if ($card = $this->getCard()) {
-            $firstLetterInWord = function($word) {
-                return strtoupper(substr($word, 0, 1));
-            };
-
             $addressParts = [];
             preg_match($this->addressRegex, $card->getBillingAddress1(), $addressParts);
             $addressParts = array_filter($addressParts, 'trim');