Skip to content

Commit 99420f5

Browse files
authored
Merge pull request #24 from alipay/feature-241224
1. CKP二期支持商户传入可选支付方式列表
2 parents e43626d + 0e9009b commit 99420f5

File tree

9 files changed

+97
-3
lines changed

9 files changed

+97
-3
lines changed

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
# Changelog
22

3+
## 1.4.0 - 2024-12-24
4+
* [#24](https://github.com/alipay/global-open-sdk-python/pull/24) feature-241224
5+
- CKP二期支持商户传入可选支付方式列表
6+
- AMS独立绑卡支持MIT交易
7+
38
## 1.3.9 - 2024-12-18
49
* [#23](https://github.com/alipay/global-open-sdk-python/pull/23) feature-update-version
510
- update version

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
```
22
Language:Python
33
Python version:2.7+
4-
Releass ^1.3.9
4+
Releass ^1.4.0
55
Copyright:Ant financial services group
66
```
77

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
from com.alipay.ams.api.model.payment_method_type_item import PaymentMethodTypeItem
2+
3+
4+
class AvailablePaymentMethod:
5+
6+
def __init__(self):
7+
self.__payment_method_type_list = None #type: list[PaymentMethodTypeItem]
8+
9+
10+
@property
11+
def payment_method_type_list(self):
12+
return self.__payment_method_type_list
13+
14+
@payment_method_type_list.setter
15+
def payment_method_type_list(self, payment_method_type_list):
16+
if not isinstance(payment_method_type_list, list):
17+
raise TypeError("payment_method_type_list should be list[PaymentMethodTypeItem]")
18+
19+
for item in payment_method_type_list:
20+
if not isinstance(item, PaymentMethodTypeItem):
21+
raise TypeError("item should be type of PaymentMethodTypeItem")
22+
23+
self.__payment_method_type_list = payment_method_type_list
24+
25+
26+
def to_ams_dict(self):
27+
params = dict()
28+
if self.__payment_method_type_list is not None:
29+
params['paymentMethodTypeList'] = [item.to_ams_dict() for item in self.__payment_method_type_list]
30+
31+
return params

com/alipay/ams/api/model/card_payment_method_detail.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ def __init__(self):
4242
self.__cpf = None
4343
self.__payer_email = None
4444
self.__network_transaction_id = None
45+
self.__is_3DS_authentication = None
4546

4647
@property
4748
def card_token(self):
@@ -279,6 +280,14 @@ def network_transaction_id(self):
279280
def network_transaction_id(self, value):
280281
self.__network_transaction_id = value
281282

283+
@property
284+
def is_3DS_authentication(self):
285+
return self.__is_3DS_authentication
286+
287+
@is_3DS_authentication.setter
288+
def is_3DS_authentication(self, value):
289+
self.__is_3DS_authentication = value
290+
282291

283292
def parse_rsp_body(self, card_payment_method_detail_body):
284293
if type(card_payment_method_detail_body) == str:
@@ -378,6 +387,8 @@ def parse_rsp_body(self, card_payment_method_detail_body):
378387
self.__payer_email = card_payment_method_detail_body['payerEmail']
379388
if 'networkTransactionId' in card_payment_method_detail_body:
380389
self.__network_transaction_id = card_payment_method_detail_body['networkTransactionId']
390+
if 'is3DSAuthentication' in card_payment_method_detail_body:
391+
self.__is_3DS_authentication = card_payment_method_detail_body['is3DSAuthentication']
381392

382393
def to_ams_dict(self):
383394
params = dict()
@@ -441,4 +452,6 @@ def to_ams_dict(self):
441452
params['payerEmail'] = self.payer_email
442453
if self.network_transaction_id:
443454
params['networkTransactionId'] = self.network_transaction_id
455+
if self.is_3DS_authentication:
456+
params['is3DSAuthentication'] = self.is_3DS_authentication
444457
return params

com/alipay/ams/api/model/payment_method_detail.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ def __init__(self):
2121
self.__extend_info = None
2222
self.__payment_method_type = None
2323

24+
2425
@property
2526
def payment_method_detail_type(self):
2627
return self.__payment_method_detail_type
@@ -105,6 +106,7 @@ def parse_rsp_body(self, external_payment_method_detail_body):
105106
if 'paymentMethodType' in external_payment_method_detail_body:
106107
self.__payment_method_type = external_payment_method_detail_body['paymentMethodType']
107108

109+
108110
def to_ams_dict(self):
109111
params = dict()
110112
if self.payment_method_detail_type:
@@ -123,4 +125,5 @@ def to_ams_dict(self):
123125
if self.payment_method_type:
124126
params['paymentMethodType'] = self.payment_method_type
125127

128+
126129
return params
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
class PaymentMethodTypeItem:
2+
3+
def __init__(self):
4+
self.__payment_method_type = None
5+
self.__payment_method_order = None
6+
self.__express_checkout = None
7+
8+
@property
9+
def payment_method_type(self):
10+
return self.__payment_method_type
11+
12+
@payment_method_type.setter
13+
def payment_method_type(self, value):
14+
self.__payment_method_type = value
15+
16+
@property
17+
def payment_method_order(self):
18+
return self.__payment_method_order
19+
20+
@payment_method_order.setter
21+
def payment_method_order(self, value):
22+
self.__payment_method_order = value
23+
24+
@property
25+
def express_checkout(self):
26+
return self.__express_checkout
27+
28+
@express_checkout.setter
29+
def express_checkout(self, value):
30+
self.__express_checkout = value
31+
32+
def to_ams_dict(self):
33+
params = dict()
34+
if hasattr(self, "payment_method_type") and self.payment_method_type:
35+
params['paymentMethodType'] = self.payment_method_type
36+
if hasattr(self, "payment_method_order") and self.payment_method_order:
37+
params['paymentMethodOrder'] = self.payment_method_order
38+
if hasattr(self, "express_checkout") and self.express_checkout:
39+
params['expressCheckout'] = self.express_checkout.to_ams_dict()
40+
return params

com/alipay/ams/api/request/pay/alipay_create_session_request.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import json
22

3+
from com.alipay.ams.api.model.available_payment_method import AvailablePaymentMethod
34
from com.alipay.ams.api.model.agreement_info import AgreementInfo
45
from com.alipay.ams.api.model.amount import Amount
56
from com.alipay.ams.api.model.antom_path_constants import AntomPathConstants
@@ -33,6 +34,7 @@ def __init__(self):
3334
self.__product_scene = None
3435
self.__saved_payment_methods = None # type: list[PaymentMethod]
3536
self.__locale = None
37+
self.__available_payment_method = None # type: list[AvailablePaymentMethod]
3638

3739
@property
3840
def product_code(self):

setup.cfg

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[metadata]
22
name = global-alipay-sdk-python
3-
version = 1.3.9
3+
version = 1.4.0
44

55
[options]
66
packages = find:

setup.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
AUTHOR = "guodong.wzj"
1313
AUTHOR_EMAIL = "[email protected]"
1414
URL = "https://github.com/alipay/global-open-sdk-python"
15-
VERSION = "1.3.9"
15+
VERSION = "1.4.0"
1616
'''
1717
only python2 need enum34、pytz
1818
'''

0 commit comments

Comments
 (0)