1
1
import logging
2
+
2
3
from django import template
3
4
from django .utils .translation import get_language
4
5
5
6
import Adyen
6
7
7
8
from djadyen import settings
8
9
from djadyen .choices import Status
10
+ from djadyen .constants import LIVE_URL_PREFIX_ERROR
9
11
10
12
register = template .Library ()
11
13
logger = logging .getLogger ("adyen" )
@@ -24,10 +26,18 @@ def adyen_payment_component(
24
26
logger .info ("Start new payment for {}" .format (str (order .reference )))
25
27
ady = Adyen .Adyen ()
26
28
29
+ if not settings .DJADYEN_ENVIRONMENT :
30
+ assert False , "Please provide an environment."
31
+
32
+ if settings .DJADYEN_ENVIRONMENT == "live" and not settings .DJADYEN_LIVE_URL_PREFIX :
33
+ assert False , LIVE_URL_PREFIX_ERROR
34
+
27
35
# Setting global values
28
36
ady .payment .client .platform = settings .DJADYEN_ENVIRONMENT
29
37
ady .payment .client .xapikey = settings .DJADYEN_SERVER_KEY
30
38
ady .payment .client .app_name = settings .DJADYEN_APPNAME
39
+ ady .payment .client .live_endpoint_prefix = settings .DJADYEN_LIVE_URL_PREFIX
40
+
31
41
# Setting request data.
32
42
request = {
33
43
"amount" : {
@@ -38,13 +48,20 @@ def adyen_payment_component(
38
48
"merchantAccount" : merchant_account ,
39
49
"returnUrl" : order .get_return_url (),
40
50
"shopperLocale" : language .lower (),
41
- "countryCode" : country_code .lower ()
42
- if country_code
43
- else settings .DJADYEN_DEFAULT_COUNTRY_CODE ,
51
+ "countryCode" : (
52
+ country_code .lower ()
53
+ if country_code
54
+ else settings .DJADYEN_DEFAULT_COUNTRY_CODE
55
+ ),
44
56
}
57
+ try :
58
+ request ["shopperEmail" ] = order .email
59
+ except Exception :
60
+ pass
61
+
45
62
logger .info (request )
46
63
# Starting the checkout.
47
- result = ady .checkout .sessions (request )
64
+ result = ady .checkout .payments_api . sessions (request )
48
65
49
66
if result .status_code == 201 :
50
67
return {
@@ -54,9 +71,9 @@ def adyen_payment_component(
54
71
"environment" : settings .DJADYEN_ENVIRONMENT ,
55
72
"redirect_url" : order .get_return_url ,
56
73
"language" : get_language (),
57
- "payment_type" : order . payment_option . adyen_name
58
- if order .payment_option
59
- else "" ,
74
+ "payment_type" : (
75
+ order . payment_option . adyen_name if order .payment_option else ""
76
+ ) ,
60
77
"issuer" : order .issuer .adyen_id if order .issuer else "" ,
61
78
}
62
79
return {}
0 commit comments