Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
A
Adyen Magento2
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Shared Libs
Adyen Magento2
Commits
46c6758b
Commit
46c6758b
authored
Aug 19, 2016
by
Rik ter Beek
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
#61 add gender,dob and telephone number iput fields for openinvoice
parent
1d9aaa5d
Changes
14
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
360 additions
and
75 deletions
+360
-75
Block/Redirect/Pos.php
Block/Redirect/Pos.php
+4
-0
Block/Redirect/Redirect.php
Block/Redirect/Redirect.php
+16
-2
Gateway/Command/HppCommand.php
Gateway/Command/HppCommand.php
+18
-1
Gateway/Command/PayByMailCommand.php
Gateway/Command/PayByMailCommand.php
+5
-0
Helper/Data.php
Helper/Data.php
+16
-0
Helper/PaymentMethods.php
Helper/PaymentMethods.php
+5
-0
Model/Cron.php
Model/Cron.php
+3
-8
Model/Gender.php
Model/Gender.php
+75
-0
Model/Ui/AdyenHppConfigProvider.php
Model/Ui/AdyenHppConfigProvider.php
+43
-1
Observer/AdyenHppDataAssignObserver.php
Observer/AdyenHppDataAssignObserver.php
+8
-1
etc/adminhtml/system/adyen_hpp.xml
etc/adminhtml/system/adyen_hpp.xml
+34
-9
view/frontend/web/css/styles.css
view/frontend/web/css/styles.css
+5
-0
view/frontend/web/js/view/payment/method-renderer/adyen-hpp-method.js
...d/web/js/view/payment/method-renderer/adyen-hpp-method.js
+62
-46
view/frontend/web/template/payment/hpp-form.html
view/frontend/web/template/payment/hpp-form.html
+66
-7
No files found.
Block/Redirect/Pos.php
View file @
46c6758b
...
...
@@ -27,6 +27,10 @@ use Symfony\Component\Config\Definition\Exception\Exception;
class
Pos
extends
\Magento\Payment\Block\Form
{
/**
* quest prefix
*/
const
GUEST_ID
=
'customer_'
;
protected
$_orderFactory
;
/**
...
...
Block/Redirect/Redirect.php
View file @
46c6758b
...
...
@@ -28,6 +28,11 @@ use Symfony\Component\Config\Definition\Exception\Exception;
class
Redirect
extends
\Magento\Payment\Block\Form
{
/**
* quest prefix
*/
const
GUEST_ID
=
'customer_'
;
/**
* @var \Magento\Sales\Model\OrderFactory
*/
...
...
@@ -118,7 +123,9 @@ class Redirect extends \Magento\Payment\Block\Form
if
(
$this
->
getPaymentMethodSelectionOnAdyen
())
{
$url
=
'https://test.adyen.com/hpp/select.shtml'
;
}
else
{
if
(
$this
->
_order
->
getPayment
()
->
getAdditionalInformation
(
'brand_code'
)
==
'klarna'
)
{
if
(
$this
->
_adyenHelper
->
isPaymentMethodOpenInvoiceMethod
(
$this
->
_order
->
getPayment
()
->
getAdditionalInformation
(
'brand_code'
)
))
{
$url
=
"https://test.adyen.com/hpp/skipDetails.shtml"
;
}
else
{
$url
=
"https://test.adyen.com/hpp/details.shtml"
;
...
...
@@ -133,7 +140,9 @@ class Redirect extends \Magento\Payment\Block\Form
if
(
$this
->
getPaymentMethodSelectionOnAdyen
())
{
$url
=
'https://live.adyen.com/hpp/select.shtml'
;
}
else
{
if
(
$this
->
_order
->
getPayment
()
->
getAdditionalInformation
(
'brand_code'
)
==
'klarna'
)
{
if
(
$this
->
_adyenHelper
->
isPaymentMethodOpenInvoiceMethod
(
$this
->
_order
->
getPayment
()
->
getAdditionalInformation
(
'brand_code'
)
))
{
$url
=
"https://live.adyen.com/hpp/skipDetails.shtml"
;
}
else
{
$url
=
"https://live.adyen.com/hpp/details.shtml"
;
...
...
@@ -194,6 +203,7 @@ class Redirect extends \Magento\Payment\Block\Form
}
$formFields
=
[];
$formFields
[
'merchantAccount'
]
=
$merchantAccount
;
$formFields
[
'merchantReference'
]
=
$realOrderId
;
$formFields
[
'paymentAmount'
]
=
(
int
)
$amount
;
...
...
@@ -261,6 +271,10 @@ class Redirect extends \Magento\Payment\Block\Form
if
(
$this
->
_order
->
getPayment
()
->
getAdditionalInformation
(
\Adyen\Payment\Observer\AdyenHppDataAssignObserver
::
BRAND_CODE
)
==
"klarna"
)
{
// // needed for DE and AT
$formFields
[
'klarna.acceptPrivacyPolicy'
]
=
'true'
;
// don't allow editable shipping/delivery address
$formFields
[
'billingAddressType'
]
=
"1"
;
$formFields
[
'deliveryAddressType'
]
=
"1"
;
...
...
Gateway/Command/HppCommand.php
View file @
46c6758b
...
...
@@ -54,7 +54,24 @@ class HppCommand implements CommandInterface
// do not send email
$payment
=
$payment
->
getPayment
();
$payment
->
getOrder
()
->
setCanSendNewEmailFlag
(
false
);
$order
=
$payment
->
getOrder
();
$order
->
setCanSendNewEmailFlag
(
false
);
// update customer based on additionalFields
if
(
$payment
->
getAdditionalInformation
(
"gender"
))
{
$order
->
setCustomerGender
(
\Adyen\Payment\Model\Gender
::
getMagentoGenderFromAdyenGender
(
$payment
->
getAdditionalInformation
(
"gender"
))
);
}
if
(
$payment
->
getAdditionalInformation
(
"dob"
))
{
$order
->
setCustomerDob
(
$payment
->
getAdditionalInformation
(
"dob"
));
}
if
(
$payment
->
getAdditionalInformation
(
"telephone"
))
{
$order
->
getBillingAddress
()
->
setTelephone
(
$payment
->
getAdditionalInformation
(
"telephone"
));
}
// update status and state
$stateObject
->
setState
(
\Magento\Sales\Model\Order
::
STATE_NEW
);
...
...
Gateway/Command/PayByMailCommand.php
View file @
46c6758b
...
...
@@ -29,6 +29,11 @@ use Magento\Payment\Gateway\CommandInterface;
class
PayByMailCommand
implements
CommandInterface
{
/**
* quest prefix
*/
const
GUEST_ID
=
'customer_'
;
/**
* @var \Adyen\Payment\Helper\Data
*/
...
...
Helper/Data.php
View file @
46c6758b
...
...
@@ -768,6 +768,22 @@ class Data extends AbstractHelper
return
$billingAgreements
;
}
/**
* @param $paymentMethod
* @return bool
*/
public
function
isPaymentMethodOpenInvoiceMethod
(
$paymentMethod
)
{
if
(
strlen
(
$paymentMethod
)
>=
9
&&
substr
(
$paymentMethod
,
0
,
9
)
==
'afterpay_'
)
{
return
true
;
}
else
if
(
$paymentMethod
==
'klarna'
)
{
return
true
;
}
else
{
return
false
;
}
}
/**
* @return bool
*/
...
...
Helper/PaymentMethods.php
View file @
46c6758b
...
...
@@ -201,6 +201,11 @@ class PaymentMethods extends AbstractHelper
$paymentMethodCode
=
$paymentMethod
[
'brandCode'
];
$paymentMethod
=
$this
->
_fieldMapPaymentMethod
(
$paymentMethod
);
// check if payment method is an openinvoice method
$paymentMethod
[
'isPaymentMethodOpenInvoiceMethod'
]
=
$this
->
_adyenHelper
->
isPaymentMethodOpenInvoiceMethod
(
$paymentMethodCode
);
// add icon location in result
if
(
$this
->
_adyenHelper
->
showLogos
())
{
...
...
Model/Cron.php
View file @
46c6758b
...
...
@@ -1074,10 +1074,8 @@ class Cron
// if auto capture mode for openinvoice is turned on then use auto capture
if
(
$captureModeOpenInvoice
==
true
&&
(
strcmp
(
$this
->
_paymentMethod
,
'openinvoice'
)
===
0
||
strcmp
(
$this
->
_paymentMethod
,
'afterpay_default'
)
===
0
||
strcmp
(
$this
->
_paymentMethod
,
'klarna'
)
===
0
))
{
$this
->
_adyenHelper
->
isPaymentMethodOpenInvoiceMethod
(
$this
->
_paymentMethod
)
)
{
$this
->
_adyenLogger
->
addAdyenNotificationCronjob
(
'This payment method is configured to be working as auto capture '
);
...
...
@@ -1106,10 +1104,7 @@ class Cron
* online capture after delivery, use Magento backend to online invoice
* (if the option auto capture mode for openinvoice is not set)
*/
if
(
strcmp
(
$this
->
_paymentMethod
,
'openinvoice'
)
===
0
||
strcmp
(
$this
->
_paymentMethod
,
'afterpay_default'
)
===
0
||
strcmp
(
$this
->
_paymentMethod
,
'klarna'
)
===
0
)
{
if
(
$this
->
_adyenHelper
->
isPaymentMethodOpenInvoiceMethod
(
$this
->
_paymentMethod
))
{
$this
->
_adyenLogger
->
addAdyenNotificationCronjob
(
'Capture mode for klarna is by default set to manual'
);
return
false
;
}
...
...
Model/Gender.php
0 → 100644
View file @
46c6758b
<?php
/**
* ######
* ######
* ############ ####( ###### #####. ###### ############ ############
* ############# #####( ###### #####. ###### ############# #############
* ###### #####( ###### #####. ###### ##### ###### ##### ######
* ###### ###### #####( ###### #####. ###### ##### ##### ##### ######
* ###### ###### #####( ###### #####. ###### ##### ##### ######
* ############# ############# ############# ############# ##### ######
* ############ ############ ############# ############ ##### ######
* ######
* #############
* ############
*
* Adyen Payment module (https://www.adyen.com/)
*
* Copyright (c) 2015 Adyen BV (https://www.adyen.com/)
* See LICENSE.txt for license details.
*
* Author: Adyen <magento@adyen.com>
*/
namespace
Adyen\Payment\Model
;
class
Gender
{
const
MALE
=
'1'
;
const
FEMALE
=
'2'
;
const
MALE_VALUE
=
'MALE'
;
const
FEMALE_VALUE
=
'FEMALE'
;
/**
* @return array
*/
public
static
function
getGenderTypes
()
{
return
[
self
::
MALE_VALUE
=>
__
(
'Male'
),
self
::
FEMALE_VALUE
=>
__
(
'Female'
)
];
}
/**
* Get Magento Gender Value from Adyen Gender Value
*
* @param string $genderValue
* @return null|string
*/
public
static
function
getMagentoGenderFromAdyenGender
(
$genderValue
)
{
$gender
=
null
;
if
(
$genderValue
==
self
::
MALE_VALUE
)
{
$gender
=
self
::
MALE
;
}
elseif
(
$genderValue
==
self
::
FEMALE_VALUE
)
{
$gender
=
self
::
FEMALE
;
}
return
$gender
;
}
/**
* @param string $genderValue
* @return null|string
*/
public
static
function
getAdyenGenderFromMagentoGender
(
$genderValue
)
{
$gender
=
null
;
if
(
$genderValue
==
self
::
MALE
)
{
$gender
=
self
::
MALE_VALUE
;
}
elseif
(
$genderValue
==
self
::
FEMALE
)
{
$gender
=
self
::
FEMALE_VALUE
;
}
return
$gender
;
}
}
\ No newline at end of file
Model/Ui/AdyenHppConfigProvider.php
View file @
46c6758b
...
...
@@ -54,22 +54,33 @@ class AdyenHppConfigProvider implements ConfigProviderInterface
*/
protected
$_urlBuilder
;
/**
* @var \Magento\Customer\Model\Session
*/
protected
$_customerSession
;
/**
* AdyenHppConfigProvider constructor.
*
* @param PaymentHelper $paymentHelper
* @param \Adyen\Payment\Helper\Data $adyenHelper
* @param \Magento\Framework\App\RequestInterface $request
* @param \Magento\Framework\UrlInterface $urlBuilder
* @param \Magento\Customer\Model\Session $customerSession
*/
public
function
__construct
(
PaymentHelper
$paymentHelper
,
\Adyen\Payment\Helper\Data
$adyenHelper
,
\Magento\Framework\App\RequestInterface
$request
,
\Magento\Framework\UrlInterface
$urlBuilder
\Magento\Framework\UrlInterface
$urlBuilder
,
\Magento\Customer\Model\Session
$customerSession
)
{
$this
->
_paymentHelper
=
$paymentHelper
;
$this
->
_adyenHelper
=
$adyenHelper
;
$this
->
_request
=
$request
;
$this
->
_urlBuilder
=
$urlBuilder
;
$this
->
_customerSession
=
$customerSession
;
}
/**
...
...
@@ -90,9 +101,40 @@ class AdyenHppConfigProvider implements ConfigProviderInterface
]
];
// get customer
if
(
$this
->
_customerSession
->
isLoggedIn
())
{
$gender
=
\Adyen\Payment\Model\Gender
::
getAdyenGenderFromMagentoGender
(
$this
->
_customerSession
->
getCustomerData
()
->
getGender
()
);
// format to calendar date
$dob
=
$this
->
_customerSession
->
getCustomerData
()
->
getDob
();
$dob
=
strtotime
(
$dob
);
$dob
=
date
(
'm/d/Y'
,
$dob
);
}
else
{
$gender
=
""
;
$dob
=
""
;
}
// add to config
$config
[
'payment'
]
[
'adyenHpp'
][
'gender'
]
=
$gender
;
$config
[
'payment'
]
[
'adyenHpp'
][
'dob'
]
=
$dob
;
// gender types
$config
[
'payment'
]
[
'adyenHpp'
][
'genderTypes'
]
=
\Adyen\Payment\Model\Gender
::
getGenderTypes
();
$paymentMethodSelectionOnAdyen
=
$this
->
_adyenHelper
->
getAdyenHppConfigDataFlag
(
'payment_selection_on_adyen'
);
$config
[
'payment'
]
[
'adyenHpp'
][
'isPaymentMethodSelectionOnAdyen'
]
=
$paymentMethodSelectionOnAdyen
;
$config
[
'payment'
]
[
'adyenHpp'
][
'showGender'
]
=
$this
->
_adyenHelper
->
getAdyenHppConfigDataFlag
(
'show_gender'
);
$config
[
'payment'
]
[
'adyenHpp'
][
'showDob'
]
=
$this
->
_adyenHelper
->
getAdyenHppConfigDataFlag
(
'show_dob'
);
$config
[
'payment'
]
[
'adyenHpp'
][
'showTelephone'
]
=
$this
->
_adyenHelper
->
getAdyenHppConfigDataFlag
(
'show_telephone'
);
return
$config
;
}
...
...
Observer/AdyenHppDataAssignObserver.php
View file @
46c6758b
...
...
@@ -33,13 +33,20 @@ class AdyenHppDataAssignObserver extends AbstractDataAssignObserver
{
const
BRAND_CODE
=
'brand_code'
;
const
ISSUER_ID
=
'issuer_id'
;
const
GENDER
=
'gender'
;
const
DOB
=
'dob'
;
const
TELEPHONE
=
'telephone'
;
/**
* @var array
*/
protected
$additionalInformationList
=
[
self
::
BRAND_CODE
,
self
::
ISSUER_ID
self
::
ISSUER_ID
,
self
::
GENDER
,
self
::
DOB
,
self
::
TELEPHONE
];
/**
...
...
etc/adminhtml/system/adyen_hpp.xml
View file @
46c6758b
...
...
@@ -55,19 +55,44 @@
<backend_model>
Magento\Config\Model\Config\Backend\Encrypted
</backend_model>
<config_path>
payment/adyen_hpp/hmac_live
</config_path>
</field>
<group
id=
"adyen_hpp_advanced_settings"
translate=
"label"
showInDefault=
"1"
showInWebsite=
"1"
sortOrder=
"200"
>
<label>
Advanced Settings
</label>
<frontend_model>
Magento\Config\Block\System\Config\Form\Fieldset
</frontend_model>
<group
id=
"adyen_hpp_openinvoice_settings"
translate=
"label"
showInDefault=
"1"
showInWebsite=
"1"
sortOrder=
"100"
>
<label>
Klarna\Afterpay Settings
</label>
<frontend_model>
Magento\Config\Block\System\Config\Form\Fieldset
</frontend_model>
<field
id=
"show_gender"
translate=
"label"
type=
"select"
sortOrder=
"10"
showInDefault=
"1"
showInWebsite=
"1"
showInStore=
"1"
>
<label>
Show Gender
</label>
<source_model>
Magento\Config\Model\Config\Source\Yesno
</source_model>
<config_path>
payment/adyen_hpp/show_gender
</config_path>
</field>
<field
id=
"show_dob"
translate=
"label"
type=
"select"
sortOrder=
"20"
showInDefault=
"1"
showInWebsite=
"1"
showInStore=
"1"
>
<label>
Show Date of Birth
</label>
<source_model>
Magento\Config\Model\Config\Source\Yesno
</source_model>
<config_path>
payment/adyen_hpp/show_dob
</config_path>
</field>
<field
id=
"show_telephone"
translate=
"label"
type=
"select"
sortOrder=
"30"
showInDefault=
"1"
showInWebsite=
"1"
showInStore=
"1"
>
<label>
Show Telephone
</label>
<source_model>
Magento\Config\Model\Config\Source\Yesno
</source_model>
<config_path>
payment/adyen_hpp/show_telephone
</config_path>
</field>
<field
id=
"ignore_second_address_field"
translate=
"label"
type=
"select"
sortOrder=
"40"
showInDefault=
"1"
showInWebsite=
"1"
showInStore=
"1"
>
<label>
Ignore the second address line field
</label>
<tooltip>
If you do not want to send the second line address field to Klarna set this setting to 'Yes'
</tooltip>
<source_model>
Magento\Config\Model\Config\Source\Yesno
</source_model>
<config_path>
payment/adyen_hpp/ignore_second_address_field
</config_path>
</field>
</group>
<group
id=
"adyen_hpp_advanced_settings"
translate=
"label"
showInDefault=
"1"
showInWebsite=
"1"
sortOrder=
"200"
>
<label>
Advanced Settings
</label>
<frontend_model>
Magento\Config\Block\System\Config\Form\Fieldset
</frontend_model>
<field
id=
"title"
translate=
"label"
type=
"text"
sortOrder=
"65"
showInDefault=
"1"
showInWebsite=
"1"
showInStore=
"1"
>
<label>
Title
</label>
<config_path>
payment/adyen_hpp/title
</config_path>
</field>
<field
id=
"delivery_days"
translate=
"label"
type=
"text"
sortOrder=
"68"
showInDefault=
"1"
showInWebsite=
"1"
showInStore=
"1"
>
<label>
Days to Delivery
</label>
<tooltip>
How many days to be added to the current date for delivery. ONLY whole numbers allowed.
</tooltip>
<frontend_class>
validate-number
</frontend_class>
<config_path>
payment/adyen_hpp/delivery_days
</config_path>
</field>
<field
id=
"delivery_days"
translate=
"label"
type=
"text"
sortOrder=
"68"
showInDefault=
"1"
showInWebsite=
"1"
showInStore=
"1"
>
<label>
Days to Delivery
</label>
<tooltip>
How many days to be added to the current date for delivery. ONLY whole numbers allowed.
</tooltip>
<frontend_class>
validate-number
</frontend_class>
<config_path>
payment/adyen_hpp/delivery_days
</config_path>
</field>
<field
id=
"payment_selection_on_adyen"
translate=
"label"
type=
"select"
sortOrder=
"70"
showInDefault=
"1"
showInWebsite=
"1"
showInStore=
"0"
>
<label>
Payment method selection on Adyen Hosted Payment Page (HPP)
</label>
<tooltip>
If you set this to 'Yes', payment methods in the checkout won't be displayed and you will be redirected to the Adyen HPP to make the selection.
</tooltip>
...
...
view/frontend/web/css/styles.css
View file @
46c6758b
...
...
@@ -61,6 +61,11 @@
background-position
:
0
-272px
;
}
.checkout-payment-method
.input-text._has-datepicker
{
width
:
20%
;
margin-right
:
10px
;
}
view/frontend/web/js/view/payment/method-renderer/adyen-hpp-method.js
View file @
46c6758b
...
...
@@ -52,7 +52,10 @@ define(
this
.
_super
()
.
observe
([
'
brandCode
'
,
'
issuerId
'
'
issuerId
'
,
'
gender
'
,
'
dob
'
,
'
telephone
'
]);
return
this
;
},
...
...
@@ -100,37 +103,43 @@ define(
var
paymentList
=
_
.
map
(
paymentMethods
,
function
(
value
)
{
if
(
value
.
brandCode
==
"
ideal
"
)
{
return
{
'
value
'
:
value
.
brandCode
,
'
name
'
:
value
,
'
method
'
:
self
.
item
.
method
,
'
issuerIds
'
:
value
.
issuers
,
'
issuerId
'
:
ko
.
observable
(
null
),
getCode
:
function
()
{
return
self
.
item
.
method
;
},
validate
:
function
()
{
return
self
.
validate
();
}
}
}
else
{
return
{
'
value
'
:
value
.
brandCode
,
'
name
'
:
value
,
'
method
'
:
self
.
item
.
method
,
getCode
:
function
()
{
return
self
.
item
.
method
;
},
validate
:
function
()
{
return
self
.
validate
();
}
}
}
var
result
=
{};
result
.
value
=
value
.
brandCode
;
result
.
name
=
value
;
result
.
method
=
self
.
item
.
method
;
result
.
getCode
=
function
()
{
return
self
.
item
.
method
;
};
result
.
validate
=
function
()
{
return
self
.
validate
();
}
);
if
(
value
.
brandCode
==
"
ideal
"
)
{
result
.
issuerIds
=
value
.
issuers
;
result
.
issuerId
=
ko
.
observable
(
null
);
}
else
if
(
value
.
isPaymentMethodOpenInvoiceMethod
)
{
result
.
telephone
=
ko
.
observable
(
quote
.
shippingAddress
().
telephone
);
result
.
gender
=
ko
.
observable
(
window
.
checkoutConfig
.
payment
.
adyenHpp
.
gender
);
result
.
dob
=
ko
.
observable
(
window
.
checkoutConfig
.
payment
.
adyenHpp
.
dob
);
result
.
datepickerValue
=
ko
.
observable
();
// needed ??
}
result
.
isPaymentMethodOpenInvoiceMethod
=
function
()
{
return
value
.
isPaymentMethodOpenInvoiceMethod
;
}
return
result
;
});
return
paymentList
;
},
getGenderTypes
:
function
()
{
// return window.checkoutConfig.payment.adyenHpp.genderTypes;
return
_
.
map
(
window
.
checkoutConfig
.
payment
.
adyenHpp
.
genderTypes
,
function
(
value
,
key
)
{
return
{
'
key
'
:
key
,
'
value
'
:
value
}
});
},
/** Redirect to adyen */
continueToAdyen
:
function
()
{
if
(
this
.
validate
()
&&
additionalValidators
.
validate
())
{
...
...
@@ -146,26 +155,24 @@ define(
if
(
this
.
validate
()
&&
additionalValidators
.
validate
())
{
// for ideal add brand_code in request
var
data
=
{};
data
.
method
=
self
.
method
;
data
.
po_number
=
null
;
var
additionalData
=
{};
additionalData
.
brand_code
=
self
.
value
;
if
(
brandCode
()
==
"
ideal
"
)
{
var
data
=
{
"
method
"
:
self
.
method
,
"
po_number
"
:
null
,
"
additional_data
"
:
{
issuer_id
:
this
.
issuerId
(),
brand_code
:
self
.
value
}
};
}
else
{
var
data
=
{
"
method
"
:
self
.
method
,
"
po_number
"
:
null
,
"
additional_data
"
:
{
brand_code
:
self
.
value
}
};
additionalData
.
issuer_id
=
this
.
issuerId
();
}
else
if
(
brandCode
()
==
"
klarna
"
)
{
additionalData
.
gender
=
this
.
gender
();
additionalData
.
dob
=
this
.
dob
();
additionalData
.
telephone
=
this
.
telephone
();
}
data
.
additional_data
=
additionalData
;
selectPaymentMethodAction
(
data
);
setPaymentMethodAction
();
}
...
...
@@ -212,6 +219,15 @@ define(
isIconEnabled
:
function
()
{
return
window
.
checkoutConfig
.
payment
.
adyen
.
showLogo
;
},
showGender
:
function
()
{
return
window
.
checkoutConfig
.
payment
.
adyenHpp
.
showGender
;
},
showDob
:
function
()
{
return
window
.
checkoutConfig
.
payment
.
adyenHpp
.
showDob
;
},
showTelephone
:
function
()
{
return
window
.
checkoutConfig
.
payment
.
adyenHpp
.
showTelephone
;
},
validate
:
function
()
{
return
true
;
}
...
...
view/frontend/web/template/payment/hpp-form.html
View file @
46c6758b
...
...
@@ -53,13 +53,11 @@
</div>
<fieldset
class=
"fieldset"
data-bind=
'attr: {id: "payment_form_" + $parent.getCode() + "_" + value}'
>
<div
class=
"payment-method-note"
>
<!-- ko if: value == 'ideal' -->
<label
data-bind=
"attr: {'for': 'issuerId'}"
class=
"label"
>
<span>
<!-- ko text: $t('Select Your Bank') --><!-- /ko -->
</span>
</label>
<!-- ko if: value == 'ideal' -->
<label
data-bind=
"attr: {'for': 'issuerId'}"
class=
"label"
>
<span>
<!-- ko text: $t('Select Your Bank') --><!-- /ko -->
</span>
</label>
<select
name=
"payment[issuer_id]"
data-bind=
"
options: name.issuers,
...
...
@@ -68,11 +66,72 @@
value: issuerId,
optionsCaption: $t('Choose Your Bank')"
>
</select>
<!--/ko-->
<!-- ko if: isPaymentMethodOpenInvoiceMethod() -->
<!-- ko if: $parent.showGender() -->
<div
class=
"field gender_type type required"
>
<label
data-bind=
"attr: {for: getCode() + '_gender_type'}"
class=
"label"
>
<span>
<!-- ko text: $t('Gender')--><!-- /ko -->
</span>
</label>
<div
class=
"control"
>
<select
class=
"select select-gender-type"
name=
"payment[gender]"
data-bind=
"attr: {id: getCode() + '_gender_type', 'data-container': getCode() + '-gender-type', 'data-validate': JSON.stringify({required:true})},
options: $parent.getGenderTypes(),
optionsValue: 'key',
optionsText: 'value',
optionsCaption: $t('-Please select-'),
value: gender"
data-validate=
"{required:true}"
>
</select>
</div>
</div>
<!--/ko-->
<!-- ko if: $parent.showDob() -->
<div
class=
"field required"
>
<label
data-bind=
"attr: {for: getCode() + '_dob'}"
class=
"label"
>
<span>
<!-- ko text: $t('Date of Birth')--><!-- /ko -->
</span>
</label>
<div
class=
"control"
>
<input
type=
"text"
class=
"input-text"
name=
"payment[dob]"
data-bind=
"
datepicker: { storage: datepickerValue, options: { showOn: 'both' } },
attr: {
title: $t('Date of Birth'),
'data-container': getCode() + '-dob',
'data-validate': JSON.stringify({'required':true })
},
value: dob"
/>
</div>
</div>
<!--/ko-->
</div>
<!-- ko if: $parent.showTelephone() -->
<div
class=
"field required"
>
<label
data-bind=
"attr: {for: getCode() + '_telephone'}"
class=
"label"
>
<span>
<!-- ko text: $t('Telephone')--><!-- /ko -->
</span>
</label>
<div
class=
"control"
>
<input
type=
"number"
class=
"input-text"
name=
"payment[telephone]"
data-bind=
"
attr: {
id: getCode() + '_telephone',
title: $t('Telephone'),
'data-container': getCode() + '-telephone',
'data-validate': JSON.stringify({'required-number':true })
},
value: telephone"
/>
</div>
</div>
<!--/ko-->
<!--/ko-->
</fieldset>
<div
class=
"checkout-agreements-block"
>
<!-- ko foreach: $parents[1].getRegion('before-place-order') -->
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment