12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Braintree\Gateway\Request;
- use Magento\Payment\Gateway\Request\BuilderInterface;
- use Magento\Braintree\Gateway\SubjectReader;
- /**
- * Class CustomerDataBuilder
- */
- class CustomerDataBuilder implements BuilderInterface
- {
- /**
- * Customer block name
- */
- const CUSTOMER = 'customer';
- /**
- * The first name value must be less than or equal to 255 characters.
- */
- const FIRST_NAME = 'firstName';
- /**
- * The last name value must be less than or equal to 255 characters.
- */
- const LAST_NAME = 'lastName';
- /**
- * The customer’s company. 255 character maximum.
- */
- const COMPANY = 'company';
- /**
- * The customer’s email address, comprised of ASCII characters.
- */
- const EMAIL = 'email';
- /**
- * Phone number. Phone must be 10-14 characters and can
- * only contain numbers, dashes, parentheses and periods.
- */
- const PHONE = 'phone';
- /**
- * @var SubjectReader
- */
- private $subjectReader;
- /**
- * Constructor
- *
- * @param SubjectReader $subjectReader
- */
- public function __construct(SubjectReader $subjectReader)
- {
- $this->subjectReader = $subjectReader;
- }
- /**
- * @inheritdoc
- */
- public function build(array $buildSubject)
- {
- $paymentDO = $this->subjectReader->readPayment($buildSubject);
- $order = $paymentDO->getOrder();
- $billingAddress = $order->getBillingAddress();
- return [
- self::CUSTOMER => [
- self::FIRST_NAME => $billingAddress->getFirstname(),
- self::LAST_NAME => $billingAddress->getLastname(),
- self::COMPANY => $billingAddress->getCompany(),
- self::PHONE => $billingAddress->getTelephone(),
- self::EMAIL => $billingAddress->getEmail(),
- ]
- ];
- }
- }
|