Skip to content
This repository was archived by the owner on Mar 19, 2024. It is now read-only.

Commit 81413d1

Browse files
Release 3.38.0.
1 parent d0d634e commit 81413d1

File tree

6 files changed

+124
-5
lines changed

6 files changed

+124
-5
lines changed

conf.py

+3-3
Original file line numberDiff line numberDiff line change
@@ -62,9 +62,9 @@
6262
# built documents.
6363
#
6464
# The short X.Y version.
65-
version = u'3.37.0'
65+
version = u'3.38.0'
6666
# The full version, including alpha/beta/rc tags.
67-
release = u'3.37.0'
67+
release = u'3.38.0'
6868

6969
# The language for content autogenerated by Sphinx. Refer to documentation
7070
# for a list of supported languages.
@@ -138,7 +138,7 @@
138138
# The name for this set of Sphinx documents.
139139
# "<project> v<release> documentation" by default.
140140
#
141-
# html_title = u'Python SDK v3.37.0'
141+
# html_title = u'Python SDK v3.38.0'
142142

143143
# A shorter title for the navigation bar. Default is the same as html_title.
144144
#

index.rst

+7
Original file line numberDiff line numberDiff line change
@@ -1892,6 +1892,13 @@ API Reference
18921892
:special-members:
18931893
:exclude-members: __dict__,__weakref__,__module__,__get__
18941894

1895+
.. automodule:: ingenico.connect.sdk.domain.payment.definitions.scheme_token_data
1896+
:members:
1897+
:show-inheritance:
1898+
:undoc-members:
1899+
:special-members:
1900+
:exclude-members: __dict__,__weakref__,__module__,__get__
1901+
18951902
.. automodule:: ingenico.connect.sdk.domain.payment.definitions.sdk_data_input
18961903
:members:
18971904
:show-inheritance:

ingenico/connect/sdk/domain/payment/definitions/card_payment_method_specific_input.py

+22
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
from ingenico.connect.sdk.domain.definitions.card import Card
77
from ingenico.connect.sdk.domain.payment.definitions.abstract_card_payment_method_specific_input import AbstractCardPaymentMethodSpecificInput
88
from ingenico.connect.sdk.domain.payment.definitions.external_cardholder_authentication_data import ExternalCardholderAuthenticationData
9+
from ingenico.connect.sdk.domain.payment.definitions.scheme_token_data import SchemeTokenData
910
from ingenico.connect.sdk.domain.payment.definitions.three_d_secure import ThreeDSecure
1011

1112

@@ -15,6 +16,7 @@ class CardPaymentMethodSpecificInput(AbstractCardPaymentMethodSpecificInput):
1516
__external_cardholder_authentication_data = None
1617
__is_recurring = None
1718
__merchant_initiated_reason_indicator = None
19+
__network_token_data = None
1820
__return_url = None
1921
__three_d_secure = None
2022

@@ -79,6 +81,19 @@ def merchant_initiated_reason_indicator(self):
7981
def merchant_initiated_reason_indicator(self, value):
8082
self.__merchant_initiated_reason_indicator = value
8183

84+
@property
85+
def network_token_data(self):
86+
"""
87+
| Object holding data that describes a network token
88+
89+
Type: :class:`ingenico.connect.sdk.domain.payment.definitions.scheme_token_data.SchemeTokenData`
90+
"""
91+
return self.__network_token_data
92+
93+
@network_token_data.setter
94+
def network_token_data(self, value):
95+
self.__network_token_data = value
96+
8297
@property
8398
def return_url(self):
8499
"""
@@ -119,6 +134,8 @@ def to_dictionary(self):
119134
dictionary['isRecurring'] = self.is_recurring
120135
if self.merchant_initiated_reason_indicator is not None:
121136
dictionary['merchantInitiatedReasonIndicator'] = self.merchant_initiated_reason_indicator
137+
if self.network_token_data is not None:
138+
dictionary['networkTokenData'] = self.network_token_data.to_dictionary()
122139
if self.return_url is not None:
123140
dictionary['returnUrl'] = self.return_url
124141
if self.three_d_secure is not None:
@@ -141,6 +158,11 @@ def from_dictionary(self, dictionary):
141158
self.is_recurring = dictionary['isRecurring']
142159
if 'merchantInitiatedReasonIndicator' in dictionary:
143160
self.merchant_initiated_reason_indicator = dictionary['merchantInitiatedReasonIndicator']
161+
if 'networkTokenData' in dictionary:
162+
if not isinstance(dictionary['networkTokenData'], dict):
163+
raise TypeError('value \'{}\' is not a dictionary'.format(dictionary['networkTokenData']))
164+
value = SchemeTokenData()
165+
self.network_token_data = value.from_dictionary(dictionary['networkTokenData'])
144166
if 'returnUrl' in dictionary:
145167
self.return_url = dictionary['returnUrl']
146168
if 'threeDSecure' in dictionary:
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,90 @@
1+
# -*- coding: utf-8 -*-
2+
#
3+
# This class was auto-generated from the API references found at
4+
# https://epayments-api.developer-ingenico.com/s2sapi/v1/
5+
#
6+
from ingenico.connect.sdk.data_object import DataObject
7+
8+
9+
class SchemeTokenData(DataObject):
10+
11+
__cryptogram = None
12+
__eci = None
13+
__network_token = None
14+
__token_expiry_date = None
15+
16+
@property
17+
def cryptogram(self):
18+
"""
19+
| The Token Cryptogram is a dynamic one-time use value that is used to verify the authenticity of the transaction and the integrity of the data used in the generation of the Token Cryptogram. Visa calls this the Token Authentication Verification Value (TAVV) cryptogram.
20+
21+
Type: str
22+
"""
23+
return self.__cryptogram
24+
25+
@cryptogram.setter
26+
def cryptogram(self, value):
27+
self.__cryptogram = value
28+
29+
@property
30+
def eci(self):
31+
"""
32+
| The Electronic Commerce Indicator you got with the Token Cryptogram
33+
34+
Type: str
35+
"""
36+
return self.__eci
37+
38+
@eci.setter
39+
def eci(self, value):
40+
self.__eci = value
41+
42+
@property
43+
def network_token(self):
44+
"""
45+
| The network token. Note: This is called Payment Token in the EMVCo documentation
46+
47+
Type: str
48+
"""
49+
return self.__network_token
50+
51+
@network_token.setter
52+
def network_token(self, value):
53+
self.__network_token = value
54+
55+
@property
56+
def token_expiry_date(self):
57+
"""
58+
| The expiry date of the network token
59+
60+
Type: str
61+
"""
62+
return self.__token_expiry_date
63+
64+
@token_expiry_date.setter
65+
def token_expiry_date(self, value):
66+
self.__token_expiry_date = value
67+
68+
def to_dictionary(self):
69+
dictionary = super(SchemeTokenData, self).to_dictionary()
70+
if self.cryptogram is not None:
71+
dictionary['cryptogram'] = self.cryptogram
72+
if self.eci is not None:
73+
dictionary['eci'] = self.eci
74+
if self.network_token is not None:
75+
dictionary['networkToken'] = self.network_token
76+
if self.token_expiry_date is not None:
77+
dictionary['tokenExpiryDate'] = self.token_expiry_date
78+
return dictionary
79+
80+
def from_dictionary(self, dictionary):
81+
super(SchemeTokenData, self).from_dictionary(dictionary)
82+
if 'cryptogram' in dictionary:
83+
self.cryptogram = dictionary['cryptogram']
84+
if 'eci' in dictionary:
85+
self.eci = dictionary['eci']
86+
if 'networkToken' in dictionary:
87+
self.network_token = dictionary['networkToken']
88+
if 'tokenExpiryDate' in dictionary:
89+
self.token_expiry_date = dictionary['tokenExpiryDate']
90+
return self

ingenico/connect/sdk/meta_data_provider.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ class MetaDataProvider:
2121
"""
2222
Provides meta info about the server.
2323
"""
24-
__SDK_VERSION = "3.37.0"
24+
__SDK_VERSION = "3.38.0"
2525
__SERVER_META_INFO_HEADER = "X-GCS-ServerMetaInfo"
2626
__prohibited_headers = [__SERVER_META_INFO_HEADER, "X-GCS-Idempotence-Key",
2727
"Date", "Content-Type", "Authorization"]

setup.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def test_collector():
2121

2222
setup(
2323
name="connect-sdk-python2",
24-
version="3.37.0",
24+
version="3.38.0",
2525
author="Ingenico ePayments",
2626
author_email="github@epay.ingenico.com",
2727
description="SDK to communicate with the Ingenico ePayments platform using the Ingenico Connect Server API",

0 commit comments

Comments
 (0)