global-open-sdk-python 1.7.2__py3-none-any.whl → 1.7.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- com/alipay/ams/api/_version.py +1 -1
- com/alipay/ams/api/model/inquire_payment_method_card.py +176 -0
- com/alipay/ams/api/model/inquire_payment_method_detail.py +54 -0
- com/alipay/ams/api/model/payment_method.py +15 -0
- com/alipay/ams/api/model/payment_method_detail.py +17 -1
- com/alipay/ams/api/model/payment_method_meta_data.py +37 -0
- com/alipay/ams/api/request/notify/alipay_card_transaction_event_notify.py +287 -0
- com/alipay/ams/api/request/pay/alipay_inquire_payment_method_request.py +42 -0
- com/alipay/ams/api/request/pay/alipay_vaulting_session_request.py +17 -0
- com/alipay/ams/api/response/pay/alipay_inquire_payment_method_response.py +61 -0
- {global_open_sdk_python-1.7.2.dist-info → global_open_sdk_python-1.7.3.dist-info}/METADATA +1 -1
- {global_open_sdk_python-1.7.2.dist-info → global_open_sdk_python-1.7.3.dist-info}/RECORD +15 -9
- {global_open_sdk_python-1.7.2.dist-info → global_open_sdk_python-1.7.3.dist-info}/WHEEL +1 -1
- {global_open_sdk_python-1.7.2.dist-info → global_open_sdk_python-1.7.3.dist-info}/licenses/LICENSE +0 -0
- {global_open_sdk_python-1.7.2.dist-info → global_open_sdk_python-1.7.3.dist-info}/top_level.txt +0 -0
com/alipay/ams/api/_version.py
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
VERSION = "1.7.
|
|
1
|
+
VERSION = "1.7.3"
|
|
2
2
|
USER_AGENT = "global-open-sdk-python/" + VERSION
|
|
@@ -0,0 +1,176 @@
|
|
|
1
|
+
import json
|
|
2
|
+
from com.alipay.ams.api.model.user_name import UserName
|
|
3
|
+
from com.alipay.ams.api.model.address import Address
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class InquirePaymentMethodCard:
|
|
9
|
+
def __init__(self):
|
|
10
|
+
|
|
11
|
+
self.__card_token = None # type: str
|
|
12
|
+
self.__card_no = None # type: str
|
|
13
|
+
self.__mask = None # type: str
|
|
14
|
+
self.__brand = None # type: str
|
|
15
|
+
self.__country_issue = None # type: str
|
|
16
|
+
self.__card_issuer = None # type: str
|
|
17
|
+
self.__expiry_month = None # type: str
|
|
18
|
+
self.__expiry_year = None # type: str
|
|
19
|
+
self.__inst_user_name = None # type: UserName
|
|
20
|
+
self.__billing_address = None # type: Address
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@property
|
|
24
|
+
def card_token(self):
|
|
25
|
+
"""
|
|
26
|
+
The card token, consistent with the request.
|
|
27
|
+
"""
|
|
28
|
+
return self.__card_token
|
|
29
|
+
|
|
30
|
+
@card_token.setter
|
|
31
|
+
def card_token(self, value):
|
|
32
|
+
self.__card_token = value
|
|
33
|
+
@property
|
|
34
|
+
def card_no(self):
|
|
35
|
+
"""
|
|
36
|
+
The full bank card number (PAN). This is the core capability of this API.
|
|
37
|
+
"""
|
|
38
|
+
return self.__card_no
|
|
39
|
+
|
|
40
|
+
@card_no.setter
|
|
41
|
+
def card_no(self, value):
|
|
42
|
+
self.__card_no = value
|
|
43
|
+
@property
|
|
44
|
+
def mask(self):
|
|
45
|
+
"""
|
|
46
|
+
The masked card number, for example 411734******7890.
|
|
47
|
+
"""
|
|
48
|
+
return self.__mask
|
|
49
|
+
|
|
50
|
+
@mask.setter
|
|
51
|
+
def mask(self, value):
|
|
52
|
+
self.__mask = value
|
|
53
|
+
@property
|
|
54
|
+
def brand(self):
|
|
55
|
+
"""
|
|
56
|
+
The card brand, for example VISA or MASTER. Queried in real time from the card BIN.
|
|
57
|
+
"""
|
|
58
|
+
return self.__brand
|
|
59
|
+
|
|
60
|
+
@brand.setter
|
|
61
|
+
def brand(self, value):
|
|
62
|
+
self.__brand = value
|
|
63
|
+
@property
|
|
64
|
+
def country_issue(self):
|
|
65
|
+
"""
|
|
66
|
+
The issuing country or region as a two-letter country code. Queried in real time from the card BIN.
|
|
67
|
+
"""
|
|
68
|
+
return self.__country_issue
|
|
69
|
+
|
|
70
|
+
@country_issue.setter
|
|
71
|
+
def country_issue(self, value):
|
|
72
|
+
self.__country_issue = value
|
|
73
|
+
@property
|
|
74
|
+
def card_issuer(self):
|
|
75
|
+
"""
|
|
76
|
+
The card issuer name from the stored card binding. Returned only when a value exists; the field is absent when no value is available.
|
|
77
|
+
"""
|
|
78
|
+
return self.__card_issuer
|
|
79
|
+
|
|
80
|
+
@card_issuer.setter
|
|
81
|
+
def card_issuer(self, value):
|
|
82
|
+
self.__card_issuer = value
|
|
83
|
+
@property
|
|
84
|
+
def expiry_month(self):
|
|
85
|
+
"""
|
|
86
|
+
The card expiry month as two digits, from the stored card binding.
|
|
87
|
+
"""
|
|
88
|
+
return self.__expiry_month
|
|
89
|
+
|
|
90
|
+
@expiry_month.setter
|
|
91
|
+
def expiry_month(self, value):
|
|
92
|
+
self.__expiry_month = value
|
|
93
|
+
@property
|
|
94
|
+
def expiry_year(self):
|
|
95
|
+
"""
|
|
96
|
+
The card expiry year as two digits, from the stored card binding.
|
|
97
|
+
"""
|
|
98
|
+
return self.__expiry_year
|
|
99
|
+
|
|
100
|
+
@expiry_year.setter
|
|
101
|
+
def expiry_year(self, value):
|
|
102
|
+
self.__expiry_year = value
|
|
103
|
+
@property
|
|
104
|
+
def inst_user_name(self):
|
|
105
|
+
"""Gets the inst_user_name of this InquirePaymentMethodCard.
|
|
106
|
+
|
|
107
|
+
"""
|
|
108
|
+
return self.__inst_user_name
|
|
109
|
+
|
|
110
|
+
@inst_user_name.setter
|
|
111
|
+
def inst_user_name(self, value):
|
|
112
|
+
self.__inst_user_name = value
|
|
113
|
+
@property
|
|
114
|
+
def billing_address(self):
|
|
115
|
+
"""Gets the billing_address of this InquirePaymentMethodCard.
|
|
116
|
+
|
|
117
|
+
"""
|
|
118
|
+
return self.__billing_address
|
|
119
|
+
|
|
120
|
+
@billing_address.setter
|
|
121
|
+
def billing_address(self, value):
|
|
122
|
+
self.__billing_address = value
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
|
|
127
|
+
def to_ams_dict(self):
|
|
128
|
+
params = dict()
|
|
129
|
+
if hasattr(self, "card_token") and self.card_token is not None:
|
|
130
|
+
params['cardToken'] = self.card_token
|
|
131
|
+
if hasattr(self, "card_no") and self.card_no is not None:
|
|
132
|
+
params['cardNo'] = self.card_no
|
|
133
|
+
if hasattr(self, "mask") and self.mask is not None:
|
|
134
|
+
params['mask'] = self.mask
|
|
135
|
+
if hasattr(self, "brand") and self.brand is not None:
|
|
136
|
+
params['brand'] = self.brand
|
|
137
|
+
if hasattr(self, "country_issue") and self.country_issue is not None:
|
|
138
|
+
params['countryIssue'] = self.country_issue
|
|
139
|
+
if hasattr(self, "card_issuer") and self.card_issuer is not None:
|
|
140
|
+
params['cardIssuer'] = self.card_issuer
|
|
141
|
+
if hasattr(self, "expiry_month") and self.expiry_month is not None:
|
|
142
|
+
params['expiryMonth'] = self.expiry_month
|
|
143
|
+
if hasattr(self, "expiry_year") and self.expiry_year is not None:
|
|
144
|
+
params['expiryYear'] = self.expiry_year
|
|
145
|
+
if hasattr(self, "inst_user_name") and self.inst_user_name is not None:
|
|
146
|
+
params['instUserName'] = self.inst_user_name
|
|
147
|
+
if hasattr(self, "billing_address") and self.billing_address is not None:
|
|
148
|
+
params['billingAddress'] = self.billing_address
|
|
149
|
+
return params
|
|
150
|
+
|
|
151
|
+
|
|
152
|
+
def parse_rsp_body(self, response_body):
|
|
153
|
+
if isinstance(response_body, str):
|
|
154
|
+
response_body = json.loads(response_body)
|
|
155
|
+
if 'cardToken' in response_body:
|
|
156
|
+
self.__card_token = response_body['cardToken']
|
|
157
|
+
if 'cardNo' in response_body:
|
|
158
|
+
self.__card_no = response_body['cardNo']
|
|
159
|
+
if 'mask' in response_body:
|
|
160
|
+
self.__mask = response_body['mask']
|
|
161
|
+
if 'brand' in response_body:
|
|
162
|
+
self.__brand = response_body['brand']
|
|
163
|
+
if 'countryIssue' in response_body:
|
|
164
|
+
self.__country_issue = response_body['countryIssue']
|
|
165
|
+
if 'cardIssuer' in response_body:
|
|
166
|
+
self.__card_issuer = response_body['cardIssuer']
|
|
167
|
+
if 'expiryMonth' in response_body:
|
|
168
|
+
self.__expiry_month = response_body['expiryMonth']
|
|
169
|
+
if 'expiryYear' in response_body:
|
|
170
|
+
self.__expiry_year = response_body['expiryYear']
|
|
171
|
+
if 'instUserName' in response_body:
|
|
172
|
+
self.__inst_user_name = UserName()
|
|
173
|
+
self.__inst_user_name.parse_rsp_body(response_body['instUserName'])
|
|
174
|
+
if 'billingAddress' in response_body:
|
|
175
|
+
self.__billing_address = Address()
|
|
176
|
+
self.__billing_address.parse_rsp_body(response_body['billingAddress'])
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import json
|
|
2
|
+
from com.alipay.ams.api.model.inquire_payment_method_card import InquirePaymentMethodCard
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class InquirePaymentMethodDetail:
|
|
8
|
+
def __init__(self):
|
|
9
|
+
|
|
10
|
+
self.__payment_method_detail_type = None # type: str
|
|
11
|
+
self.__card = None # type: InquirePaymentMethodCard
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@property
|
|
15
|
+
def payment_method_detail_type(self):
|
|
16
|
+
"""
|
|
17
|
+
The payment method detail type. The value is CARD; only credit card assets are supported.
|
|
18
|
+
"""
|
|
19
|
+
return self.__payment_method_detail_type
|
|
20
|
+
|
|
21
|
+
@payment_method_detail_type.setter
|
|
22
|
+
def payment_method_detail_type(self, value):
|
|
23
|
+
self.__payment_method_detail_type = value
|
|
24
|
+
@property
|
|
25
|
+
def card(self):
|
|
26
|
+
"""Gets the card of this InquirePaymentMethodDetail.
|
|
27
|
+
|
|
28
|
+
"""
|
|
29
|
+
return self.__card
|
|
30
|
+
|
|
31
|
+
@card.setter
|
|
32
|
+
def card(self, value):
|
|
33
|
+
self.__card = value
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def to_ams_dict(self):
|
|
39
|
+
params = dict()
|
|
40
|
+
if hasattr(self, "payment_method_detail_type") and self.payment_method_detail_type is not None:
|
|
41
|
+
params['paymentMethodDetailType'] = self.payment_method_detail_type
|
|
42
|
+
if hasattr(self, "card") and self.card is not None:
|
|
43
|
+
params['card'] = self.card
|
|
44
|
+
return params
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
def parse_rsp_body(self, response_body):
|
|
48
|
+
if isinstance(response_body, str):
|
|
49
|
+
response_body = json.loads(response_body)
|
|
50
|
+
if 'paymentMethodDetailType' in response_body:
|
|
51
|
+
self.__payment_method_detail_type = response_body['paymentMethodDetailType']
|
|
52
|
+
if 'card' in response_body:
|
|
53
|
+
self.__card = InquirePaymentMethodCard()
|
|
54
|
+
self.__card.parse_rsp_body(response_body['card'])
|
|
@@ -14,6 +14,7 @@ class PaymentMethod:
|
|
|
14
14
|
self.__extend_info = None # type: str
|
|
15
15
|
self.__require_issuer_authentication = None # type: bool
|
|
16
16
|
self.__payment_method_meta_data = None # type: {str: ({str: (bool, date, datetime, dict, float, int, list, str, none_type)},)}
|
|
17
|
+
self.__card_brand = None # type: str
|
|
17
18
|
|
|
18
19
|
|
|
19
20
|
@property
|
|
@@ -86,6 +87,16 @@ class PaymentMethod:
|
|
|
86
87
|
@payment_method_meta_data.setter
|
|
87
88
|
def payment_method_meta_data(self, value):
|
|
88
89
|
self.__payment_method_meta_data = value
|
|
90
|
+
@property
|
|
91
|
+
def card_brand(self):
|
|
92
|
+
"""
|
|
93
|
+
The card brand returned for card subscription payments, or UNKNOWN if it cannot be determined.
|
|
94
|
+
"""
|
|
95
|
+
return self.__card_brand
|
|
96
|
+
|
|
97
|
+
@card_brand.setter
|
|
98
|
+
def card_brand(self, value):
|
|
99
|
+
self.__card_brand = value
|
|
89
100
|
|
|
90
101
|
|
|
91
102
|
|
|
@@ -106,6 +117,8 @@ class PaymentMethod:
|
|
|
106
117
|
params['requireIssuerAuthentication'] = self.require_issuer_authentication
|
|
107
118
|
if hasattr(self, "payment_method_meta_data") and self.payment_method_meta_data is not None:
|
|
108
119
|
params['paymentMethodMetaData'] = self.payment_method_meta_data
|
|
120
|
+
if hasattr(self, "card_brand") and self.card_brand is not None:
|
|
121
|
+
params['cardBrand'] = self.card_brand
|
|
109
122
|
return params
|
|
110
123
|
|
|
111
124
|
|
|
@@ -127,3 +140,5 @@ class PaymentMethod:
|
|
|
127
140
|
self.__require_issuer_authentication = response_body['requireIssuerAuthentication']
|
|
128
141
|
if 'paymentMethodMetaData' in response_body:
|
|
129
142
|
self.__payment_method_meta_data = response_body['paymentMethodMetaData']
|
|
143
|
+
if 'cardBrand' in response_body:
|
|
144
|
+
self.__card_brand = response_body['cardBrand']
|
|
@@ -5,6 +5,7 @@ from com.alipay.ams.api.model.external_payment_method_detail import ExternalPaym
|
|
|
5
5
|
from com.alipay.ams.api.model.discount_payment_method_detail import DiscountPaymentMethodDetail
|
|
6
6
|
from com.alipay.ams.api.model.coupon_payment_method_detail import CouponPaymentMethodDetail
|
|
7
7
|
from com.alipay.ams.api.model.wallet import Wallet
|
|
8
|
+
from com.alipay.ams.api.model.payment_method_meta_data import PaymentMethodMetaData
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
|
|
@@ -21,6 +22,7 @@ class PaymentMethodDetail:
|
|
|
21
22
|
self.__extend_info = None # type: str
|
|
22
23
|
self.__wallet = None # type: Wallet
|
|
23
24
|
self.__interaction_type = None # type: str
|
|
25
|
+
self.__payment_method_meta_data = None # type: PaymentMethodMetaData
|
|
24
26
|
|
|
25
27
|
|
|
26
28
|
@property
|
|
@@ -76,7 +78,7 @@ class PaymentMethodDetail:
|
|
|
76
78
|
@property
|
|
77
79
|
def payment_method_type(self):
|
|
78
80
|
"""
|
|
79
|
-
The type of payment method to be vaulted. The value of this parameter is fixed to CARD. More information: Maximum length: 64 characters
|
|
81
|
+
The type of payment method to be vaulted. The value of this parameter is fixed to CARD. More information: Maximum length: 64 characters
|
|
80
82
|
"""
|
|
81
83
|
return self.__payment_method_type
|
|
82
84
|
|
|
@@ -113,6 +115,15 @@ class PaymentMethodDetail:
|
|
|
113
115
|
@interaction_type.setter
|
|
114
116
|
def interaction_type(self, value):
|
|
115
117
|
self.__interaction_type = value
|
|
118
|
+
@property
|
|
119
|
+
def payment_method_meta_data(self):
|
|
120
|
+
"""Gets the payment_method_meta_data of this PaymentMethodDetail.
|
|
121
|
+
"""
|
|
122
|
+
return self.__payment_method_meta_data
|
|
123
|
+
|
|
124
|
+
@payment_method_meta_data.setter
|
|
125
|
+
def payment_method_meta_data(self, value):
|
|
126
|
+
self.__payment_method_meta_data = value
|
|
116
127
|
|
|
117
128
|
|
|
118
129
|
|
|
@@ -137,6 +148,8 @@ class PaymentMethodDetail:
|
|
|
137
148
|
params['wallet'] = self.wallet
|
|
138
149
|
if hasattr(self, "interaction_type") and self.interaction_type is not None:
|
|
139
150
|
params['interactionType'] = self.interaction_type
|
|
151
|
+
if hasattr(self, "payment_method_meta_data") and self.payment_method_meta_data is not None:
|
|
152
|
+
params['paymentMethodMetaData'] = self.payment_method_meta_data
|
|
140
153
|
return params
|
|
141
154
|
|
|
142
155
|
|
|
@@ -167,3 +180,6 @@ class PaymentMethodDetail:
|
|
|
167
180
|
self.__wallet.parse_rsp_body(response_body['wallet'])
|
|
168
181
|
if 'interactionType' in response_body:
|
|
169
182
|
self.__interaction_type = response_body['interactionType']
|
|
183
|
+
if 'paymentMethodMetaData' in response_body:
|
|
184
|
+
self.__payment_method_meta_data = PaymentMethodMetaData()
|
|
185
|
+
self.__payment_method_meta_data.parse_rsp_body(response_body['paymentMethodMetaData'])
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import json
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
class PaymentMethodMetaData:
|
|
7
|
+
def __init__(self):
|
|
8
|
+
|
|
9
|
+
self.__recurring_type = None # type: str
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
@property
|
|
13
|
+
def recurring_type(self):
|
|
14
|
+
"""
|
|
15
|
+
The recurring type of subsequent deductions on the vaulted card: SCHEDULED for fixed-schedule deductions or UNSCHEDULED for on-demand deductions. Optional; if omitted, no recurring type is declared, and any other value returns PARAM_ILLEGAL.
|
|
16
|
+
"""
|
|
17
|
+
return self.__recurring_type
|
|
18
|
+
|
|
19
|
+
@recurring_type.setter
|
|
20
|
+
def recurring_type(self, value):
|
|
21
|
+
self.__recurring_type = value
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def to_ams_dict(self):
|
|
27
|
+
params = dict()
|
|
28
|
+
if hasattr(self, "recurring_type") and self.recurring_type is not None:
|
|
29
|
+
params['recurringType'] = self.recurring_type
|
|
30
|
+
return params
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
def parse_rsp_body(self, response_body):
|
|
34
|
+
if isinstance(response_body, str):
|
|
35
|
+
response_body = json.loads(response_body)
|
|
36
|
+
if 'recurringType' in response_body:
|
|
37
|
+
self.__recurring_type = response_body['recurringType']
|
|
@@ -0,0 +1,287 @@
|
|
|
1
|
+
import json
|
|
2
|
+
|
|
3
|
+
from com.alipay.ams.api.model.amount import Amount
|
|
4
|
+
from com.alipay.ams.api.model.event_merchant_info import EventMerchantInfo
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
class AlipayCardTransactionEventNotify:
|
|
8
|
+
"""One flat ABA VCC card transaction event callback (notification profile v2.1, document v2.13).
|
|
9
|
+
|
|
10
|
+
Verify the raw-body signature before constructing this object. The merchant handles
|
|
11
|
+
durable acceptance, eventId deduplication and ACK. Amount values remain quoted
|
|
12
|
+
minor-unit strings of up to 20 digits. Parsing does not enforce business validation.
|
|
13
|
+
"""
|
|
14
|
+
|
|
15
|
+
def __init__(self, notify_body):
|
|
16
|
+
self.__event_id = None # type: str
|
|
17
|
+
self.__lifecycle_id = None # type: str
|
|
18
|
+
self.__event_type = None # type: str
|
|
19
|
+
self.__auth_time = None # type: str
|
|
20
|
+
self.__auth_expire_time = None # type: str
|
|
21
|
+
self.__auth_type = None # type: str
|
|
22
|
+
self.__auth_code = None # type: str
|
|
23
|
+
self.__failure_reason = None # type: str
|
|
24
|
+
self.__status = None # type: str
|
|
25
|
+
self.__balance_type = None # type: str
|
|
26
|
+
self.__transaction_time = None # type: str
|
|
27
|
+
self.__bill_type = None # type: str
|
|
28
|
+
self.__out_amount = None # type: Amount
|
|
29
|
+
self.__in_amount = None # type: Amount
|
|
30
|
+
self.__exchange_currency_pair = None # type: str
|
|
31
|
+
self.__exchange_rate = None # type: str
|
|
32
|
+
self.__transaction_amount = None # type: Amount
|
|
33
|
+
self.__asset_id = None # type: str
|
|
34
|
+
self.__masked_card_no = None # type: str
|
|
35
|
+
self.__card_product = None # type: str
|
|
36
|
+
self.__merchant_info = None # type: EventMerchantInfo
|
|
37
|
+
self.__metadata = None # type: dict
|
|
38
|
+
self.__parse_notify_body(notify_body)
|
|
39
|
+
|
|
40
|
+
@property
|
|
41
|
+
def event_id(self):
|
|
42
|
+
"""Stable event ID and the only callback idempotency key. Required; maximum 64 characters."""
|
|
43
|
+
return self.__event_id
|
|
44
|
+
|
|
45
|
+
@event_id.setter
|
|
46
|
+
def event_id(self, value):
|
|
47
|
+
self.__event_id = value
|
|
48
|
+
|
|
49
|
+
@property
|
|
50
|
+
def lifecycle_id(self):
|
|
51
|
+
"""Spend-group ID shared with inquiry. Required; maximum 64 characters."""
|
|
52
|
+
return self.__lifecycle_id
|
|
53
|
+
|
|
54
|
+
@lifecycle_id.setter
|
|
55
|
+
def lifecycle_id(self, value):
|
|
56
|
+
self.__lifecycle_id = value
|
|
57
|
+
|
|
58
|
+
@property
|
|
59
|
+
def event_type(self):
|
|
60
|
+
"""Required event type: AUTH, AUTH_CANCEL, CAPTURE, REFUND, CHARGEBACK or REPAYMENT. Preserve unknown future values."""
|
|
61
|
+
return self.__event_type
|
|
62
|
+
|
|
63
|
+
@event_type.setter
|
|
64
|
+
def event_type(self, value):
|
|
65
|
+
self.__event_type = value
|
|
66
|
+
|
|
67
|
+
@property
|
|
68
|
+
def auth_time(self):
|
|
69
|
+
"""Optional ISO 8601 time of the channel-correlated authorization, maximum 32 characters. Omitted for AUTH or when unavailable; never inferred from transactionTime or authExpireTime."""
|
|
70
|
+
return self.__auth_time
|
|
71
|
+
|
|
72
|
+
@auth_time.setter
|
|
73
|
+
def auth_time(self, value):
|
|
74
|
+
self.__auth_time = value
|
|
75
|
+
|
|
76
|
+
@property
|
|
77
|
+
def auth_expire_time(self):
|
|
78
|
+
"""Optional ISO 8601 authorization expiry time, maximum 32 characters. Sent only for AUTH when available."""
|
|
79
|
+
return self.__auth_expire_time
|
|
80
|
+
|
|
81
|
+
@auth_expire_time.setter
|
|
82
|
+
def auth_expire_time(self, value):
|
|
83
|
+
self.__auth_expire_time = value
|
|
84
|
+
|
|
85
|
+
@property
|
|
86
|
+
def auth_type(self):
|
|
87
|
+
"""Optional AUTH or PRE_AUTH, maximum 32 characters. Sent only for AUTH when available."""
|
|
88
|
+
return self.__auth_type
|
|
89
|
+
|
|
90
|
+
@auth_type.setter
|
|
91
|
+
def auth_type(self, value):
|
|
92
|
+
self.__auth_type = value
|
|
93
|
+
|
|
94
|
+
@property
|
|
95
|
+
def auth_code(self):
|
|
96
|
+
"""Optional network approval code, maximum 64 characters. Sent only for AUTH when available."""
|
|
97
|
+
return self.__auth_code
|
|
98
|
+
|
|
99
|
+
@auth_code.setter
|
|
100
|
+
def auth_code(self, value):
|
|
101
|
+
self.__auth_code = value
|
|
102
|
+
|
|
103
|
+
@property
|
|
104
|
+
def failure_reason(self):
|
|
105
|
+
"""Optional Antom-normalized failure code, maximum 64 characters. Sent only for FAIL when a mapped code exists."""
|
|
106
|
+
return self.__failure_reason
|
|
107
|
+
|
|
108
|
+
@failure_reason.setter
|
|
109
|
+
def failure_reason(self, value):
|
|
110
|
+
self.__failure_reason = value
|
|
111
|
+
|
|
112
|
+
@property
|
|
113
|
+
def status(self):
|
|
114
|
+
"""Required terminal status: SUCCESS or FAIL. CAPTURE is SUCCESS-only. The accepted status never changes."""
|
|
115
|
+
return self.__status
|
|
116
|
+
|
|
117
|
+
@status.setter
|
|
118
|
+
def status(self, value):
|
|
119
|
+
self.__status = value
|
|
120
|
+
|
|
121
|
+
@property
|
|
122
|
+
def balance_type(self):
|
|
123
|
+
"""ANTOM_BIZ_ACCOUNT or ANTOM_FUND_ACCOUNT, maximum 32 characters. Required with a directional amount; CAPTURE sends ANTOM_BIZ_ACCOUNT."""
|
|
124
|
+
return self.__balance_type
|
|
125
|
+
|
|
126
|
+
@balance_type.setter
|
|
127
|
+
def balance_type(self, value):
|
|
128
|
+
self.__balance_type = value
|
|
129
|
+
|
|
130
|
+
@property
|
|
131
|
+
def transaction_time(self):
|
|
132
|
+
"""Required business-event time in ISO 8601 format with timezone; maximum 32 characters."""
|
|
133
|
+
return self.__transaction_time
|
|
134
|
+
|
|
135
|
+
@transaction_time.setter
|
|
136
|
+
def transaction_time(self, value):
|
|
137
|
+
self.__transaction_time = value
|
|
138
|
+
|
|
139
|
+
@property
|
|
140
|
+
def bill_type(self):
|
|
141
|
+
"""Required CARD_PAYMENT for AUTH, CAPTURE and REPAYMENT, or CARD_REFUND for AUTH_CANCEL, REFUND and CHARGEBACK."""
|
|
142
|
+
return self.__bill_type
|
|
143
|
+
|
|
144
|
+
@bill_type.setter
|
|
145
|
+
def bill_type(self, value):
|
|
146
|
+
self.__bill_type = value
|
|
147
|
+
|
|
148
|
+
@property
|
|
149
|
+
def out_amount(self):
|
|
150
|
+
"""Required for successful AUTH, CAPTURE and REPAYMENT. CAPTURE carries value "0" and billing currency, not another debit; omitted otherwise."""
|
|
151
|
+
return self.__out_amount
|
|
152
|
+
|
|
153
|
+
@out_amount.setter
|
|
154
|
+
def out_amount(self, value):
|
|
155
|
+
self.__out_amount = value
|
|
156
|
+
|
|
157
|
+
@property
|
|
158
|
+
def in_amount(self):
|
|
159
|
+
"""Optional billing-currency inflow for successful AUTH_CANCEL, REFUND or CHARGEBACK when available. Omitted for CAPTURE."""
|
|
160
|
+
return self.__in_amount
|
|
161
|
+
|
|
162
|
+
@in_amount.setter
|
|
163
|
+
def in_amount(self, value):
|
|
164
|
+
self.__in_amount = value
|
|
165
|
+
|
|
166
|
+
@property
|
|
167
|
+
def exchange_currency_pair(self):
|
|
168
|
+
"""Optional BASE/QUOTE currency pair, maximum 8 characters. Sent with exchangeRate for a cross-currency transaction when both are available."""
|
|
169
|
+
return self.__exchange_currency_pair
|
|
170
|
+
|
|
171
|
+
@exchange_currency_pair.setter
|
|
172
|
+
def exchange_currency_pair(self, value):
|
|
173
|
+
self.__exchange_currency_pair = value
|
|
174
|
+
|
|
175
|
+
@property
|
|
176
|
+
def exchange_rate(self):
|
|
177
|
+
"""Optional positive quoted decimal string, maximum 32 characters. One major BASE unit equals this many QUOTE units; paired with exchangeCurrencyPair."""
|
|
178
|
+
return self.__exchange_rate
|
|
179
|
+
|
|
180
|
+
@exchange_rate.setter
|
|
181
|
+
def exchange_rate(self, value):
|
|
182
|
+
self.__exchange_rate = value
|
|
183
|
+
|
|
184
|
+
@property
|
|
185
|
+
def transaction_amount(self):
|
|
186
|
+
"""Required current-event amount in original transaction currency. For CAPTURE this is the captured amount, not the zero additional outflow."""
|
|
187
|
+
return self.__transaction_amount
|
|
188
|
+
|
|
189
|
+
@transaction_amount.setter
|
|
190
|
+
def transaction_amount(self, value):
|
|
191
|
+
self.__transaction_amount = value
|
|
192
|
+
|
|
193
|
+
@property
|
|
194
|
+
def asset_id(self):
|
|
195
|
+
"""Required merchant-owned card asset ID; maximum 32 characters."""
|
|
196
|
+
return self.__asset_id
|
|
197
|
+
|
|
198
|
+
@asset_id.setter
|
|
199
|
+
def asset_id(self, value):
|
|
200
|
+
self.__asset_id = value
|
|
201
|
+
|
|
202
|
+
@property
|
|
203
|
+
def masked_card_no(self):
|
|
204
|
+
"""Optional PCI-safe card mask exposing at most the last four digits; maximum 32 characters."""
|
|
205
|
+
return self.__masked_card_no
|
|
206
|
+
|
|
207
|
+
@masked_card_no.setter
|
|
208
|
+
def masked_card_no(self, value):
|
|
209
|
+
self.__masked_card_no = value
|
|
210
|
+
|
|
211
|
+
@property
|
|
212
|
+
def card_product(self):
|
|
213
|
+
"""Optional original-transaction program code matching ^[A-Z0-9]{3}$. Extensible string, not a fixed enum or rebate rate; later card-profile changes do not rewrite it."""
|
|
214
|
+
return self.__card_product
|
|
215
|
+
|
|
216
|
+
@card_product.setter
|
|
217
|
+
def card_product(self, value):
|
|
218
|
+
self.__card_product = value
|
|
219
|
+
|
|
220
|
+
@property
|
|
221
|
+
def merchant_info(self):
|
|
222
|
+
"""Optional approved merchant context. Name maximum 256 characters, region exactly 2 and mcc exactly 4; parent omitted when no child is available."""
|
|
223
|
+
return self.__merchant_info
|
|
224
|
+
|
|
225
|
+
@merchant_info.setter
|
|
226
|
+
def merchant_info(self, value):
|
|
227
|
+
self.__merchant_info = value
|
|
228
|
+
|
|
229
|
+
@property
|
|
230
|
+
def metadata(self):
|
|
231
|
+
"""Optional approved context: at most 30 entries, keys at most 32 characters, values at most 128 and serialized JSON at most 3096. No key is approved in notification profile v2.1, so it is omitted."""
|
|
232
|
+
return self.__metadata
|
|
233
|
+
|
|
234
|
+
@metadata.setter
|
|
235
|
+
def metadata(self, value):
|
|
236
|
+
self.__metadata = value
|
|
237
|
+
|
|
238
|
+
def __parse_notify_body(self, notify_body):
|
|
239
|
+
notify = json.loads(notify_body)
|
|
240
|
+
if "eventId" in notify:
|
|
241
|
+
self.__event_id = notify["eventId"]
|
|
242
|
+
if "lifecycleId" in notify:
|
|
243
|
+
self.__lifecycle_id = notify["lifecycleId"]
|
|
244
|
+
if "eventType" in notify:
|
|
245
|
+
self.__event_type = notify["eventType"]
|
|
246
|
+
if "authTime" in notify:
|
|
247
|
+
self.__auth_time = notify["authTime"]
|
|
248
|
+
if "authExpireTime" in notify:
|
|
249
|
+
self.__auth_expire_time = notify["authExpireTime"]
|
|
250
|
+
if "authType" in notify:
|
|
251
|
+
self.__auth_type = notify["authType"]
|
|
252
|
+
if "authCode" in notify:
|
|
253
|
+
self.__auth_code = notify["authCode"]
|
|
254
|
+
if "failureReason" in notify:
|
|
255
|
+
self.__failure_reason = notify["failureReason"]
|
|
256
|
+
if "status" in notify:
|
|
257
|
+
self.__status = notify["status"]
|
|
258
|
+
if "balanceType" in notify:
|
|
259
|
+
self.__balance_type = notify["balanceType"]
|
|
260
|
+
if "transactionTime" in notify:
|
|
261
|
+
self.__transaction_time = notify["transactionTime"]
|
|
262
|
+
if "billType" in notify:
|
|
263
|
+
self.__bill_type = notify["billType"]
|
|
264
|
+
if notify.get("outAmount") is not None:
|
|
265
|
+
self.__out_amount = Amount()
|
|
266
|
+
self.__out_amount.parse_rsp_body(notify["outAmount"])
|
|
267
|
+
if notify.get("inAmount") is not None:
|
|
268
|
+
self.__in_amount = Amount()
|
|
269
|
+
self.__in_amount.parse_rsp_body(notify["inAmount"])
|
|
270
|
+
if "exchangeCurrencyPair" in notify:
|
|
271
|
+
self.__exchange_currency_pair = notify["exchangeCurrencyPair"]
|
|
272
|
+
if "exchangeRate" in notify:
|
|
273
|
+
self.__exchange_rate = notify["exchangeRate"]
|
|
274
|
+
if notify.get("transactionAmount") is not None:
|
|
275
|
+
self.__transaction_amount = Amount()
|
|
276
|
+
self.__transaction_amount.parse_rsp_body(notify["transactionAmount"])
|
|
277
|
+
if "assetId" in notify:
|
|
278
|
+
self.__asset_id = notify["assetId"]
|
|
279
|
+
if "maskedCardNo" in notify:
|
|
280
|
+
self.__masked_card_no = notify["maskedCardNo"]
|
|
281
|
+
if "cardProduct" in notify:
|
|
282
|
+
self.__card_product = notify["cardProduct"]
|
|
283
|
+
if notify.get("merchantInfo") is not None:
|
|
284
|
+
self.__merchant_info = EventMerchantInfo()
|
|
285
|
+
self.__merchant_info.parse_rsp_body(notify["merchantInfo"])
|
|
286
|
+
if "metadata" in notify:
|
|
287
|
+
self.__metadata = notify["metadata"]
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import json
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
from com.alipay.ams.api.request.alipay_request import AlipayRequest
|
|
6
|
+
|
|
7
|
+
class AlipayInquirePaymentMethodRequest(AlipayRequest):
|
|
8
|
+
def __init__(self):
|
|
9
|
+
super(AlipayInquirePaymentMethodRequest, self).__init__("/ams/api/v1/paymentMethods/inquirePaymentMethod")
|
|
10
|
+
|
|
11
|
+
self.__card_token = None # type: str
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
@property
|
|
15
|
+
def card_token(self):
|
|
16
|
+
"""
|
|
17
|
+
The permanent card token provided to the merchant after payment.
|
|
18
|
+
"""
|
|
19
|
+
return self.__card_token
|
|
20
|
+
|
|
21
|
+
@card_token.setter
|
|
22
|
+
def card_token(self, value):
|
|
23
|
+
self.__card_token = value
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
def to_ams_json(self):
|
|
27
|
+
json_str = json.dumps(obj=self.to_ams_dict(), default=lambda o: o.to_ams_dict(), indent=3)
|
|
28
|
+
return json_str
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
def to_ams_dict(self):
|
|
32
|
+
params = dict()
|
|
33
|
+
if hasattr(self, "card_token") and self.card_token is not None:
|
|
34
|
+
params['cardToken'] = self.card_token
|
|
35
|
+
return params
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
def parse_rsp_body(self, response_body):
|
|
39
|
+
if isinstance(response_body, str):
|
|
40
|
+
response_body = json.loads(response_body)
|
|
41
|
+
if 'cardToken' in response_body:
|
|
42
|
+
self.__card_token = response_body['cardToken']
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import json
|
|
2
|
+
from com.alipay.ams.api.model.payment_method_meta_data import PaymentMethodMetaData
|
|
2
3
|
|
|
3
4
|
|
|
4
5
|
|
|
@@ -14,6 +15,7 @@ class AlipayVaultingSessionRequest(AlipayRequest):
|
|
|
14
15
|
self.__redirect_url = None # type: str
|
|
15
16
|
self.__merchant_region = None # type: str
|
|
16
17
|
self.__is3_ds_authentication = None # type: bool
|
|
18
|
+
self.__payment_method_meta_data = None # type: PaymentMethodMetaData
|
|
17
19
|
|
|
18
20
|
|
|
19
21
|
@property
|
|
@@ -76,6 +78,16 @@ class AlipayVaultingSessionRequest(AlipayRequest):
|
|
|
76
78
|
@is3_ds_authentication.setter
|
|
77
79
|
def is3_ds_authentication(self, value):
|
|
78
80
|
self.__is3_ds_authentication = value
|
|
81
|
+
@property
|
|
82
|
+
def payment_method_meta_data(self):
|
|
83
|
+
"""Gets the payment_method_meta_data of this AlipayVaultingSessionRequest.
|
|
84
|
+
|
|
85
|
+
"""
|
|
86
|
+
return self.__payment_method_meta_data
|
|
87
|
+
|
|
88
|
+
@payment_method_meta_data.setter
|
|
89
|
+
def payment_method_meta_data(self, value):
|
|
90
|
+
self.__payment_method_meta_data = value
|
|
79
91
|
|
|
80
92
|
|
|
81
93
|
def to_ams_json(self):
|
|
@@ -97,6 +109,8 @@ class AlipayVaultingSessionRequest(AlipayRequest):
|
|
|
97
109
|
params['merchantRegion'] = self.merchant_region
|
|
98
110
|
if hasattr(self, "is3_ds_authentication") and self.is3_ds_authentication is not None:
|
|
99
111
|
params['is3DSAuthentication'] = self.is3_ds_authentication
|
|
112
|
+
if hasattr(self, "payment_method_meta_data") and self.payment_method_meta_data is not None:
|
|
113
|
+
params['paymentMethodMetaData'] = self.payment_method_meta_data
|
|
100
114
|
return params
|
|
101
115
|
|
|
102
116
|
|
|
@@ -115,3 +129,6 @@ class AlipayVaultingSessionRequest(AlipayRequest):
|
|
|
115
129
|
self.__merchant_region = response_body['merchantRegion']
|
|
116
130
|
if 'is3DSAuthentication' in response_body:
|
|
117
131
|
self.__is3_ds_authentication = response_body['is3DSAuthentication']
|
|
132
|
+
if 'paymentMethodMetaData' in response_body:
|
|
133
|
+
self.__payment_method_meta_data = PaymentMethodMetaData()
|
|
134
|
+
self.__payment_method_meta_data.parse_rsp_body(response_body['paymentMethodMetaData'])
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import json
|
|
2
|
+
from com.alipay.ams.api.model.result import Result
|
|
3
|
+
from com.alipay.ams.api.model.inquire_payment_method_detail import InquirePaymentMethodDetail
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
from com.alipay.ams.api.response.alipay_response import AlipayResponse
|
|
8
|
+
|
|
9
|
+
class AlipayInquirePaymentMethodResponse(AlipayResponse):
|
|
10
|
+
def __init__(self, rsp_body):
|
|
11
|
+
super(AlipayResponse, self).__init__()
|
|
12
|
+
|
|
13
|
+
self.__result = None # type: Result
|
|
14
|
+
self.__payment_method_details = None # type: [InquirePaymentMethodDetail]
|
|
15
|
+
self.parse_rsp_body(rsp_body)
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
@property
|
|
19
|
+
def result(self):
|
|
20
|
+
"""Gets the result of this AlipayInquirePaymentMethodResponse.
|
|
21
|
+
|
|
22
|
+
"""
|
|
23
|
+
return self.__result
|
|
24
|
+
|
|
25
|
+
@result.setter
|
|
26
|
+
def result(self, value):
|
|
27
|
+
self.__result = value
|
|
28
|
+
@property
|
|
29
|
+
def payment_method_details(self):
|
|
30
|
+
"""
|
|
31
|
+
The payment method details. Returned when the inquiry succeeds; one token maps to one card, so the array contains at most one element and can be empty after country filtering.
|
|
32
|
+
"""
|
|
33
|
+
return self.__payment_method_details
|
|
34
|
+
|
|
35
|
+
@payment_method_details.setter
|
|
36
|
+
def payment_method_details(self, value):
|
|
37
|
+
self.__payment_method_details = value
|
|
38
|
+
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
|
|
42
|
+
def to_ams_dict(self):
|
|
43
|
+
params = dict()
|
|
44
|
+
if hasattr(self, "result") and self.result is not None:
|
|
45
|
+
params['result'] = self.result
|
|
46
|
+
if hasattr(self, "payment_method_details") and self.payment_method_details is not None:
|
|
47
|
+
params['paymentMethodDetails'] = self.payment_method_details
|
|
48
|
+
return params
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
def parse_rsp_body(self, response_body):
|
|
52
|
+
response_body = super(AlipayInquirePaymentMethodResponse, self).parse_rsp_body(response_body)
|
|
53
|
+
if 'result' in response_body:
|
|
54
|
+
self.__result = Result()
|
|
55
|
+
self.__result.parse_rsp_body(response_body['result'])
|
|
56
|
+
if 'paymentMethodDetails' in response_body:
|
|
57
|
+
self.__payment_method_details = []
|
|
58
|
+
for item in response_body['paymentMethodDetails']:
|
|
59
|
+
obj = InquirePaymentMethodDetail()
|
|
60
|
+
obj.parse_rsp_body(item)
|
|
61
|
+
self.__payment_method_details.append(obj)
|
|
@@ -2,7 +2,7 @@ com/__init__.py,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
|
|
2
2
|
com/alipay/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
3
|
com/alipay/ams/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
4
|
com/alipay/ams/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
|
-
com/alipay/ams/api/_version.py,sha256=
|
|
5
|
+
com/alipay/ams/api/_version.py,sha256=IwCJyPJ5R8VCuInJOOIUuSIMScvH23Q3Ww8zu4UyhjE,67
|
|
6
6
|
com/alipay/ams/api/api_key_alipay_client.py,sha256=Ru39_7CXwK2VBWVJlRhCXDZOSduX1vJ2XN11R3eNlpU,2251
|
|
7
7
|
com/alipay/ams/api/api_key_auth.py,sha256=KfsTco4pVrF7QhJDWxx_p3VzV5TlXCYDDZSM7xe5oLk,2910
|
|
8
8
|
com/alipay/ams/api/default_alipay_client.py,sha256=SgOl-1-TY_vQrLfkzzmwnsWyG11K-baHNG7kyrvJWas,10172
|
|
@@ -173,6 +173,8 @@ com/alipay/ams/api/model/http_method.py,sha256=mqKEMLchjeEH3zFUPfYlNrzxqEr4mzVi6
|
|
|
173
173
|
com/alipay/ams/api/model/identity_check_result.py,sha256=SSu-PyuTGw61_fUemAAM2s-vGnBfvqbsyLTvwPECh4w,186
|
|
174
174
|
com/alipay/ams/api/model/in_store_payment_scenario.py,sha256=AMmhlk2cwyki_o3xAXWMRoq85TY91mwLhy4N94X7XNE,970
|
|
175
175
|
com/alipay/ams/api/model/individual.py,sha256=A7rdvH1KdbZtcZegVqRyJgsk2eYpfpZnKgqGVpMyy4Q,5340
|
|
176
|
+
com/alipay/ams/api/model/inquire_payment_method_card.py,sha256=mVOVo2iZF7JWO8diejVf9lgLfbQyQ5J-k4KnXU5p0so,5967
|
|
177
|
+
com/alipay/ams/api/model/inquire_payment_method_detail.py,sha256=hxCrxgxkFn8TyTTctMcpV1unR_8m-LPgD0cwenekglg,1692
|
|
176
178
|
com/alipay/ams/api/model/inquiry_rate_condition.py,sha256=A8RtycI9J6RAwU3l_odyZwH8qMqUGiGucgUKTrKUv_M,1411
|
|
177
179
|
com/alipay/ams/api/model/installment.py,sha256=qkDVvePSXfrNOSacH435WR9bABugymON2TGPobwh5i4,1940
|
|
178
180
|
com/alipay/ams/api/model/interaction_type.py,sha256=w4ELdzPkrR_ytKymrzuMKxzckQLcJlBoK91hAjGlNPY,1427
|
|
@@ -219,11 +221,12 @@ com/alipay/ams/api/model/payment_attempt.py,sha256=cnnMSU7883mo4z0mIxdpdPCu7nRTA
|
|
|
219
221
|
com/alipay/ams/api/model/payment_detail.py,sha256=CE629wNeZcWrRT0FdjZm7eQgYwqjy_tDlbwsBLS8w7s,858
|
|
220
222
|
com/alipay/ams/api/model/payment_evaluation.py,sha256=WS46IDrOdyOcPe99bRpGpp4cVLydAD0d2eUIy2fjtCE,1127
|
|
221
223
|
com/alipay/ams/api/model/payment_factor.py,sha256=kaBkc_yz52jeRuCXLkD6hKdMOvOfP7fjxDBR7FMdSzg,6021
|
|
222
|
-
com/alipay/ams/api/model/payment_method.py,sha256=
|
|
224
|
+
com/alipay/ams/api/model/payment_method.py,sha256=vyI2IECjFdflmrq61gawEE-hxCBPlVlimdo4jbbkY3k,6578
|
|
223
225
|
com/alipay/ams/api/model/payment_method_category_type.py,sha256=yL2AVJHrf9gt8m3lCUCoxPJpD42gWLPK_vKKT8yMzb0,1899
|
|
224
|
-
com/alipay/ams/api/model/payment_method_detail.py,sha256=
|
|
226
|
+
com/alipay/ams/api/model/payment_method_detail.py,sha256=FqmBGmoHLsmqJJT84cUMVL-GUL6ZdTi2k3g7f5o1JIw,7281
|
|
225
227
|
com/alipay/ams/api/model/payment_method_detail_type.py,sha256=_sjpeppyjtdMhuMkest6w7DkJrTY8nyropaPmpl5Pp8,1129
|
|
226
228
|
com/alipay/ams/api/model/payment_method_info.py,sha256=afEv2UsCEkxwb3tpaBmZa-fl_RG7Z5NxwQPVlmTpcxk,3105
|
|
229
|
+
com/alipay/ams/api/model/payment_method_meta_data.py,sha256=g1gIhOD4vCYolxmfsxQA4q80AXnSKHos2Sos9HLF04w,1072
|
|
227
230
|
com/alipay/ams/api/model/payment_method_scope.py,sha256=QEwFKNgqqwJUir0DGRsUHZ9HnIzq85XqfnSTtWpyeUI,718
|
|
228
231
|
com/alipay/ams/api/model/payment_method_type.py,sha256=jmC9IIVWzp2_XPndZAbizO-7vPfPVgfiZmiK0U_il2U,366
|
|
229
232
|
com/alipay/ams/api/model/payment_method_type_item.py,sha256=mZt5r1LKhXlx4Qmsf0-JHJ6tp33mhn7nF-i05xWuJwM,2847
|
|
@@ -500,6 +503,7 @@ com/alipay/ams/api/request/notify/alipay_bill_notify.py,sha256=NDh-HxOrcf53GwFwY
|
|
|
500
503
|
com/alipay/ams/api/request/notify/alipay_billing_subscription_notify.py,sha256=_fTzOeduoZTDuca17R_BpdIOMIKoRjHyaDKatB8dBnI,3607
|
|
501
504
|
com/alipay/ams/api/request/notify/alipay_capture_result_notify.py,sha256=wUGD0dl2sy-14YZ1GthQ99_C7_WKnZLBAXlexdETobE,2602
|
|
502
505
|
com/alipay/ams/api/request/notify/alipay_card_status_change_notify.py,sha256=T-zd75vnDtt7ZLso-Q0zd2Nzut5OrIhpWMsxzdtR2g8,2149
|
|
506
|
+
com/alipay/ams/api/request/notify/alipay_card_transaction_event_notify.py,sha256=_m8vbsKNkpGQUNqhVBO9wyccQ1q3ESutLNDDP_-2SXg,10827
|
|
503
507
|
com/alipay/ams/api/request/notify/alipay_credit_note_notify.py,sha256=I4ZpFo59IgPqIWaKXdtlzxPmMgxjm1c68pQj20jvrfE,5916
|
|
504
508
|
com/alipay/ams/api/request/notify/alipay_defense_document_notify.py,sha256=_BcQuQV78dyk-UPdx4Y2hrvIwEKXXf8xOA0ICSvNEI0,2332
|
|
505
509
|
com/alipay/ams/api/request/notify/alipay_defense_strategy_suggestion_notify.py,sha256=k2upgncwLuCVGNaDBOHt6gQ8Uw5gZw5uvLjB9t11IiM,2455
|
|
@@ -527,6 +531,7 @@ com/alipay/ams/api/request/pay/alipay_inquire_batch_payment_request.py,sha256=--
|
|
|
527
531
|
com/alipay/ams/api/request/pay/alipay_inquire_exchange-rate_request.py,sha256=8l66nRaEGhqlqzZ2xjP-WtjNAkoqBzS_B-cTUPDwMt0,3142
|
|
528
532
|
com/alipay/ams/api/request/pay/alipay_inquire_exchange_rate_request.py,sha256=68_mBlH0WAneuOqOd8XLNVNj55CUXcaJNl7bi54P3Z4,5199
|
|
529
533
|
com/alipay/ams/api/request/pay/alipay_inquire_hold_list_request.py,sha256=83mCK1QedT7roJ3Ael_zeBtAKCyxDtuNBsIkBfvXSn0,4028
|
|
534
|
+
com/alipay/ams/api/request/pay/alipay_inquire_payment_method_request.py,sha256=NBUMH4N_iEgsEm1v9kvqTCf-YYurxMzlyDDkwZCpxPU,1194
|
|
530
535
|
com/alipay/ams/api/request/pay/alipay_inquire_release_request.py,sha256=0gofGLIXpvvRlOlK3KKeQFJS6HGbn16cbIQEvYpPVq0,1898
|
|
531
536
|
com/alipay/ams/api/request/pay/alipay_inquire_rule_list_request.py,sha256=QU1FFoSjNMWZUgbh3FJPHmPxk2lbCTgtIYbHNriPFWc,4565
|
|
532
537
|
com/alipay/ams/api/request/pay/alipay_inquiry_refund_request.py,sha256=e2AF3D4fIAWeqDhqHyHMEBbNZGGI5Ym7xVSXmd0Be0Q,2855
|
|
@@ -544,7 +549,7 @@ com/alipay/ams/api/request/pay/alipay_update_rule_request.py,sha256=4kL6ljBXYUQV
|
|
|
544
549
|
com/alipay/ams/api/request/pay/alipay_upload_invoice_shipping_file_request.py,sha256=gff2Iz66m4LKUHhSECBhW2u6BGIGf5NmLlBYFMiO1os,2140
|
|
545
550
|
com/alipay/ams/api/request/pay/alipay_vaulting_payment_method_request.py,sha256=7LE4F23K-6HcU9qFAfhYFBxApNyX_Gn3oWB1IWBat3w,7959
|
|
546
551
|
com/alipay/ams/api/request/pay/alipay_vaulting_query_request.py,sha256=AEGJ9A1XfcpYoX9SbhZV1LpN4pDJBZ2p3xYaec7gzl4,2307
|
|
547
|
-
com/alipay/ams/api/request/pay/alipay_vaulting_session_request.py,sha256=
|
|
552
|
+
com/alipay/ams/api/request/pay/alipay_vaulting_session_request.py,sha256=osg-tuRXe9r63jVq_km12m7OYqaKQ6kiOyHeFUBQ1ps,6274
|
|
548
553
|
com/alipay/ams/api/request/pay/alipay_vaults_fetch_nonce_request.py,sha256=Goqnvkf8absWcG3mEnFmaCiHRFOclne4pAtMfpOBT_Y,1176
|
|
549
554
|
com/alipay/ams/api/request/pay/alipay_verify_and_complete_payment_request.py,sha256=29uOVvxZgxw470tR0V2Il68n7FMQeOu-boNC0RPd9ZY,2538
|
|
550
555
|
com/alipay/ams/api/request/pay/ams_api_v1_payments_capture_post_request.py,sha256=tXmCghgJVpvDqjCQAP5XoDB3sKMHV2M8DGEives9aqo,5622
|
|
@@ -719,6 +724,7 @@ com/alipay/ams/api/response/pay/alipay_create_session_response.py,sha256=DS_SCuU
|
|
|
719
724
|
com/alipay/ams/api/response/pay/alipay_inquire_batch_payment_response.py,sha256=aSXN9GPQ6nO3N1WUInm1afq8ZLjGR9q47YyJjP2AkxU,8414
|
|
720
725
|
com/alipay/ams/api/response/pay/alipay_inquire_exchange_rate_response.py,sha256=-1ch0aTFRmYqhP8Ir2acdEPk93NBawzab6JbAHKI8C0,2558
|
|
721
726
|
com/alipay/ams/api/response/pay/alipay_inquire_hold_list_response.py,sha256=v8fSz0zSmxE9JXhg8zhbZRaeGE_64m33DcoxK9-NfFw,2556
|
|
727
|
+
com/alipay/ams/api/response/pay/alipay_inquire_payment_method_response.py,sha256=B6SiR9tMV1aYk4m-_mTD-Ue-LC-OFU0kHI-aVX7kxuQ,2169
|
|
722
728
|
com/alipay/ams/api/response/pay/alipay_inquire_release_response.py,sha256=DEtcXP1KC2xlydcRSr02NvKlCuJ8h5DqudFlNovadEw,4148
|
|
723
729
|
com/alipay/ams/api/response/pay/alipay_inquire_rule_list_response.py,sha256=RIObYPahGWNZ1HfjDSi5kgiA2ROlswVZOHj28vC-cwc,2301
|
|
724
730
|
com/alipay/ams/api/response/pay/alipay_inquiry_refund_response.py,sha256=ivuYQCdqlsDHsYVASFH8grgJ16bWOn5b3VZhXQPQzMY,12132
|
|
@@ -774,8 +780,8 @@ com/alipay/ams/api/tools/signature_tool.py,sha256=BPkhyBjoelK14fdFnWzJCSBw3DDpi2
|
|
|
774
780
|
com/alipay/ams/api/tools/webhook_tool.py,sha256=egmjmWl_fiCc3Dh2Md1IZ6A_JH_6he5obFKcZy4ZVHM,613
|
|
775
781
|
com/alipay/ams/api/tools/resources/__init__.py,sha256=bKHpCZYZY3O29jAYctDwJPtIpHg-PS57lE67nBkmfgs,56
|
|
776
782
|
com/alipay/ams/api/tools/resources/amount-currency-rules.json,sha256=Sx9Ip1E8XJOwjMTRIa0Sk84PzIPV7IaFagEM3rlLg7o,1360
|
|
777
|
-
global_open_sdk_python-1.7.
|
|
778
|
-
global_open_sdk_python-1.7.
|
|
779
|
-
global_open_sdk_python-1.7.
|
|
780
|
-
global_open_sdk_python-1.7.
|
|
781
|
-
global_open_sdk_python-1.7.
|
|
783
|
+
global_open_sdk_python-1.7.3.dist-info/licenses/LICENSE,sha256=76Wscr16XZ-XStXIsmXgcsxutSSumPK2kJZj8C6bhJg,1063
|
|
784
|
+
global_open_sdk_python-1.7.3.dist-info/METADATA,sha256=2T9d1P25iZOi5HuJARR_f4rYD17-gD4xJdn1yRfxxPo,1267
|
|
785
|
+
global_open_sdk_python-1.7.3.dist-info/WHEEL,sha256=aeYiig01lYGDzBgS8HxWXOg3uV61G9ijOsup-k9o1sk,91
|
|
786
|
+
global_open_sdk_python-1.7.3.dist-info/top_level.txt,sha256=A7eVUp0bsHtbJ7vD4f_Ju79_mDJojU9deED6-LV9_s0,4
|
|
787
|
+
global_open_sdk_python-1.7.3.dist-info/RECORD,,
|
{global_open_sdk_python-1.7.2.dist-info → global_open_sdk_python-1.7.3.dist-info}/licenses/LICENSE
RENAMED
|
File without changes
|
{global_open_sdk_python-1.7.2.dist-info → global_open_sdk_python-1.7.3.dist-info}/top_level.txt
RENAMED
|
File without changes
|