global-open-sdk-python 1.4.1__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.
Files changed (297) hide show
  1. com/__init__.py +1 -0
  2. com/alipay/__init__.py +0 -0
  3. com/alipay/ams/__init__.py +0 -0
  4. com/alipay/ams/api/__init__.py +0 -0
  5. com/alipay/ams/api/default_alipay_client.py +114 -0
  6. com/alipay/ams/api/exception/__init__.py +0 -0
  7. com/alipay/ams/api/exception/exception.py +6 -0
  8. com/alipay/ams/api/model/__init__.py +0 -0
  9. com/alipay/ams/api/model/account_balance.py +49 -0
  10. com/alipay/ams/api/model/account_holder_type.py +10 -0
  11. com/alipay/ams/api/model/account_type.py +11 -0
  12. com/alipay/ams/api/model/acquirer_info.py +86 -0
  13. com/alipay/ams/api/model/address.py +121 -0
  14. com/alipay/ams/api/model/agreement_info.py +35 -0
  15. com/alipay/ams/api/model/amount.py +39 -0
  16. com/alipay/ams/api/model/amount_limit.py +44 -0
  17. com/alipay/ams/api/model/amount_limit_info.py +44 -0
  18. com/alipay/ams/api/model/antom_path_constants.py +56 -0
  19. com/alipay/ams/api/model/apple_pay_configuration.py +56 -0
  20. com/alipay/ams/api/model/association_type.py +15 -0
  21. com/alipay/ams/api/model/attachment.py +54 -0
  22. com/alipay/ams/api/model/attachment_type.py +26 -0
  23. com/alipay/ams/api/model/auth_code_form.py +20 -0
  24. com/alipay/ams/api/model/auth_meta_data.py +32 -0
  25. com/alipay/ams/api/model/authentication_channel_type.py +12 -0
  26. com/alipay/ams/api/model/authentication_type.py +11 -0
  27. com/alipay/ams/api/model/authorization_error.py +27 -0
  28. com/alipay/ams/api/model/authorization_phase.py +10 -0
  29. com/alipay/ams/api/model/available_payment_method.py +31 -0
  30. com/alipay/ams/api/model/browser_info.py +65 -0
  31. com/alipay/ams/api/model/business_info.py +89 -0
  32. com/alipay/ams/api/model/business_type.py +13 -0
  33. com/alipay/ams/api/model/buyer.py +59 -0
  34. com/alipay/ams/api/model/cancellation_type.py +9 -0
  35. com/alipay/ams/api/model/capture_mode.py +10 -0
  36. com/alipay/ams/api/model/card_brand.py +54 -0
  37. com/alipay/ams/api/model/card_brand_type.py +13 -0
  38. com/alipay/ams/api/model/card_payment_method_detail.py +457 -0
  39. com/alipay/ams/api/model/card_verification_result.py +76 -0
  40. com/alipay/ams/api/model/certificate.py +65 -0
  41. com/alipay/ams/api/model/certificate_type.py +15 -0
  42. com/alipay/ams/api/model/challenge_action_form.py +63 -0
  43. com/alipay/ams/api/model/challenge_trigger_source_type.py +13 -0
  44. com/alipay/ams/api/model/challenge_type.py +14 -0
  45. com/alipay/ams/api/model/china_extra_trans_info.py +130 -0
  46. com/alipay/ams/api/model/class_type.py +11 -0
  47. com/alipay/ams/api/model/clearing_channel.py +7 -0
  48. com/alipay/ams/api/model/code_detail.py +53 -0
  49. com/alipay/ams/api/model/code_value_type.py +24 -0
  50. com/alipay/ams/api/model/company.py +141 -0
  51. com/alipay/ams/api/model/companyType.py +20 -0
  52. com/alipay/ams/api/model/company_unit_type.py +10 -0
  53. com/alipay/ams/api/model/contact.py +27 -0
  54. com/alipay/ams/api/model/contact_info.py +30 -0
  55. com/alipay/ams/api/model/coupon_payment_method_detail.py +107 -0
  56. com/alipay/ams/api/model/credit_pay_fee_type.py +9 -0
  57. com/alipay/ams/api/model/credit_pay_plan.py +41 -0
  58. com/alipay/ams/api/model/customer_belongs_to.py +47 -0
  59. com/alipay/ams/api/model/customer_id_type.py +14 -0
  60. com/alipay/ams/api/model/customs_info.py +28 -0
  61. com/alipay/ams/api/model/declaration_record.py +178 -0
  62. com/alipay/ams/api/model/delivery_method_type.py +10 -0
  63. com/alipay/ams/api/model/disable_reason_type.py +17 -0
  64. com/alipay/ams/api/model/discount.py +76 -0
  65. com/alipay/ams/api/model/discount_payment_method_detail.py +94 -0
  66. com/alipay/ams/api/model/display_type.py +33 -0
  67. com/alipay/ams/api/model/dispute_accept_reason_type.py +11 -0
  68. com/alipay/ams/api/model/dispute_evidence_format_type.py +10 -0
  69. com/alipay/ams/api/model/dispute_evidence_type.py +10 -0
  70. com/alipay/ams/api/model/dispute_judged_result.py +10 -0
  71. com/alipay/ams/api/model/dispute_notification_type.py +15 -0
  72. com/alipay/ams/api/model/entity_associations.py +67 -0
  73. com/alipay/ams/api/model/env.py +229 -0
  74. com/alipay/ams/api/model/extend_info.py +21 -0
  75. com/alipay/ams/api/model/external_payment_method_detail.py +76 -0
  76. com/alipay/ams/api/model/funding_type.py +16 -0
  77. com/alipay/ams/api/model/gaming.py +55 -0
  78. com/alipay/ams/api/model/goods.py +108 -0
  79. com/alipay/ams/api/model/grant_type.py +12 -0
  80. com/alipay/ams/api/model/http_method.py +9 -0
  81. com/alipay/ams/api/model/identity_check_result.py +9 -0
  82. com/alipay/ams/api/model/in_store_payment_scenario.py +14 -0
  83. com/alipay/ams/api/model/individual.py +97 -0
  84. com/alipay/ams/api/model/installment.py +41 -0
  85. com/alipay/ams/api/model/interest_free.py +85 -0
  86. com/alipay/ams/api/model/leg.py +116 -0
  87. com/alipay/ams/api/model/legal_entity_type.py +10 -0
  88. com/alipay/ams/api/model/lodging.py +95 -0
  89. com/alipay/ams/api/model/logo.py +31 -0
  90. com/alipay/ams/api/model/merchant.py +107 -0
  91. com/alipay/ams/api/model/merchant_customs_info.py +28 -0
  92. com/alipay/ams/api/model/merchant_info.py +79 -0
  93. com/alipay/ams/api/model/merchant_registration_info.py +96 -0
  94. com/alipay/ams/api/model/merchant_type.py +10 -0
  95. com/alipay/ams/api/model/method_type.py +13 -0
  96. com/alipay/ams/api/model/order.py +186 -0
  97. com/alipay/ams/api/model/order_code_form.py +66 -0
  98. com/alipay/ams/api/model/order_info.py +22 -0
  99. com/alipay/ams/api/model/os_type.py +12 -0
  100. com/alipay/ams/api/model/passengers.py +39 -0
  101. com/alipay/ams/api/model/paymentOptionDetail.py +43 -0
  102. com/alipay/ams/api/model/payment_detail.py +32 -0
  103. com/alipay/ams/api/model/payment_factor.py +73 -0
  104. com/alipay/ams/api/model/payment_method.py +86 -0
  105. com/alipay/ams/api/model/payment_method_category_type.py +29 -0
  106. com/alipay/ams/api/model/payment_method_detail.py +129 -0
  107. com/alipay/ams/api/model/payment_method_detail_type.py +30 -0
  108. com/alipay/ams/api/model/payment_method_info.py +53 -0
  109. com/alipay/ams/api/model/payment_method_type.py +13 -0
  110. com/alipay/ams/api/model/payment_method_type_item.py +40 -0
  111. com/alipay/ams/api/model/payment_option.py +137 -0
  112. com/alipay/ams/api/model/payment_result_info.py +159 -0
  113. com/alipay/ams/api/model/payment_verification_data.py +34 -0
  114. com/alipay/ams/api/model/period_rule.py +48 -0
  115. com/alipay/ams/api/model/period_type.py +12 -0
  116. com/alipay/ams/api/model/plan.py +106 -0
  117. com/alipay/ams/api/model/presentment_mode.py +11 -0
  118. com/alipay/ams/api/model/product_code_type.py +13 -0
  119. com/alipay/ams/api/model/promotion_info.py +66 -0
  120. com/alipay/ams/api/model/promotion_result.py +49 -0
  121. com/alipay/ams/api/model/promotion_type.py +10 -0
  122. com/alipay/ams/api/model/psp_customer_info.py +78 -0
  123. com/alipay/ams/api/model/quote.py +84 -0
  124. com/alipay/ams/api/model/redirect_action_form.py +63 -0
  125. com/alipay/ams/api/model/refund_detail.py +35 -0
  126. com/alipay/ams/api/model/refund_from_type.py +11 -0
  127. com/alipay/ams/api/model/refund_record.py +66 -0
  128. com/alipay/ams/api/model/registration_detail.py +119 -0
  129. com/alipay/ams/api/model/result.py +39 -0
  130. com/alipay/ams/api/model/result_status_type.py +27 -0
  131. com/alipay/ams/api/model/risk_score_detail.py +37 -0
  132. com/alipay/ams/api/model/risk_score_result.py +57 -0
  133. com/alipay/ams/api/model/risk_score_type.py +24 -0
  134. com/alipay/ams/api/model/scope_type.py +17 -0
  135. com/alipay/ams/api/model/settle_to_type.py +10 -0
  136. com/alipay/ams/api/model/settlement_bank_account.py +143 -0
  137. com/alipay/ams/api/model/settlement_detail.py +32 -0
  138. com/alipay/ams/api/model/settlement_info.py +31 -0
  139. com/alipay/ams/api/model/settlement_strategy.py +22 -0
  140. com/alipay/ams/api/model/shipping.py +61 -0
  141. com/alipay/ams/api/model/stock_info.py +26 -0
  142. com/alipay/ams/api/model/store.py +107 -0
  143. com/alipay/ams/api/model/subscription_notification_type.py +14 -0
  144. com/alipay/ams/api/model/subscription_status.py +12 -0
  145. com/alipay/ams/api/model/support_bank.py +49 -0
  146. com/alipay/ams/api/model/support_card_brand.py +39 -0
  147. com/alipay/ams/api/model/terminal_type.py +13 -0
  148. com/alipay/ams/api/model/three_ds_result.py +78 -0
  149. com/alipay/ams/api/model/transaction.py +80 -0
  150. com/alipay/ams/api/model/transaction_status_type.py +33 -0
  151. com/alipay/ams/api/model/transaction_type.py +36 -0
  152. com/alipay/ams/api/model/transfer_from_detail.py +44 -0
  153. com/alipay/ams/api/model/transfer_to_detail.py +108 -0
  154. com/alipay/ams/api/model/transit.py +46 -0
  155. com/alipay/ams/api/model/transit_type.py +12 -0
  156. com/alipay/ams/api/model/trial.py +47 -0
  157. com/alipay/ams/api/model/user_identity_type.py +11 -0
  158. com/alipay/ams/api/model/user_name.py +77 -0
  159. com/alipay/ams/api/model/wallet_payment_method_type.py +20 -0
  160. com/alipay/ams/api/model/web_site.py +54 -0
  161. com/alipay/ams/api/net/__init__.py +0 -0
  162. com/alipay/ams/api/net/default_http_rpc.py +58 -0
  163. com/alipay/ams/api/request/__init__.py +0 -0
  164. com/alipay/ams/api/request/alipay_request.py +41 -0
  165. com/alipay/ams/api/request/auth/__init__.py +0 -0
  166. com/alipay/ams/api/request/auth/alipay_auth_apply_token_request.py +88 -0
  167. com/alipay/ams/api/request/auth/alipay_auth_consult_request.py +160 -0
  168. com/alipay/ams/api/request/auth/alipay_auth_create_session_request.py +84 -0
  169. com/alipay/ams/api/request/auth/alipay_auth_query_token_request.py +32 -0
  170. com/alipay/ams/api/request/auth/alipay_auth_revoke_token_request.py +43 -0
  171. com/alipay/ams/api/request/declare/__init__.py +0 -0
  172. com/alipay/ams/api/request/declare/alipay_customs_declare_request.py +109 -0
  173. com/alipay/ams/api/request/declare/alipay_customs_query_request.py +28 -0
  174. com/alipay/ams/api/request/dispute/__init__.py +0 -0
  175. com/alipay/ams/api/request/dispute/alipay_accept_dispute_request.py +29 -0
  176. com/alipay/ams/api/request/dispute/alipay_download_dispute_evidence_request.py +40 -0
  177. com/alipay/ams/api/request/dispute/alipay_supply_defense_document_request.py +39 -0
  178. com/alipay/ams/api/request/marketplace/__init__.py +0 -0
  179. com/alipay/ams/api/request/marketplace/alipay_create_payout_request.py +53 -0
  180. com/alipay/ams/api/request/marketplace/alipay_create_transfer_request.py +53 -0
  181. com/alipay/ams/api/request/marketplace/alipay_inquire_balance_request.py +29 -0
  182. com/alipay/ams/api/request/marketplace/alipay_register_request.py +65 -0
  183. com/alipay/ams/api/request/marketplace/alipay_settle_request.py +51 -0
  184. com/alipay/ams/api/request/marketplace/alipay_settlement_info_update_request.py +62 -0
  185. com/alipay/ams/api/request/marketplace/alipay_submit_attachment_request.py +51 -0
  186. com/alipay/ams/api/request/merchant/__init__.py +0 -0
  187. com/alipay/ams/api/request/merchant/alipay_merchant_registration_info_query_request.py +30 -0
  188. com/alipay/ams/api/request/merchant/alipay_merchant_registration_request.py +78 -0
  189. com/alipay/ams/api/request/merchant/alipay_merchant_registration_status_query_request.py +42 -0
  190. com/alipay/ams/api/request/notify/__init__.py +0 -0
  191. com/alipay/ams/api/request/notify/alipay_auth_notify.py +67 -0
  192. com/alipay/ams/api/request/notify/alipay_capture_result_notify.py +64 -0
  193. com/alipay/ams/api/request/notify/alipay_dispute_notify.py +144 -0
  194. com/alipay/ams/api/request/notify/alipay_notify.py +28 -0
  195. com/alipay/ams/api/request/notify/alipay_pay_result_notify.py +111 -0
  196. com/alipay/ams/api/request/notify/alipay_refund_notify.py +67 -0
  197. com/alipay/ams/api/request/notify/alipay_subscription_notify.py +94 -0
  198. com/alipay/ams/api/request/notify/alipay_subscription_pay_notify.py +50 -0
  199. com/alipay/ams/api/request/notify/alipay_vaulting_notify.py +47 -0
  200. com/alipay/ams/api/request/pay/__init__.py +0 -0
  201. com/alipay/ams/api/request/pay/alipay_capture_request.py +70 -0
  202. com/alipay/ams/api/request/pay/alipay_create_order_request.py +94 -0
  203. com/alipay/ams/api/request/pay/alipay_create_session_request.py +225 -0
  204. com/alipay/ams/api/request/pay/alipay_pay_cancel_request.py +57 -0
  205. com/alipay/ams/api/request/pay/alipay_pay_consult_request.py +244 -0
  206. com/alipay/ams/api/request/pay/alipay_pay_query_request.py +60 -0
  207. com/alipay/ams/api/request/pay/alipay_pay_request.py +269 -0
  208. com/alipay/ams/api/request/pay/alipay_refund_query_request.py +51 -0
  209. com/alipay/ams/api/request/pay/alipay_refund_request.py +118 -0
  210. com/alipay/ams/api/request/pay/entry_code_payment_request.py +49 -0
  211. com/alipay/ams/api/request/pay/order_code_payment_request.py +46 -0
  212. com/alipay/ams/api/request/pay/user_presented_code_payment_request.py +50 -0
  213. com/alipay/ams/api/request/risks/__init__.py +0 -0
  214. com/alipay/ams/api/request/risks/inquiry_risk_score_request.py +68 -0
  215. com/alipay/ams/api/request/risks/risk_decide_request.py +121 -0
  216. com/alipay/ams/api/request/risks/risk_report_request.py +65 -0
  217. com/alipay/ams/api/request/risks/send_payment_result_request.py +73 -0
  218. com/alipay/ams/api/request/risks/send_refund_result_request.py +61 -0
  219. com/alipay/ams/api/request/subscription/__init__.py +0 -0
  220. com/alipay/ams/api/request/subscription/alipay_subscription_cancel_request.py +52 -0
  221. com/alipay/ams/api/request/subscription/alipay_subscription_change_request.py +140 -0
  222. com/alipay/ams/api/request/subscription/alipay_subscription_create_request.py +205 -0
  223. com/alipay/ams/api/request/subscription/alipay_subscription_update_request.py +104 -0
  224. com/alipay/ams/api/request/users/__init__.py +0 -0
  225. com/alipay/ams/api/request/users/alipay_init_authentication_request.py +79 -0
  226. com/alipay/ams/api/request/users/alipay_user_query_info_request.py +32 -0
  227. com/alipay/ams/api/request/users/alipay_verify_authentication_request.py +56 -0
  228. com/alipay/ams/api/request/vaulting/__init__.py +0 -0
  229. com/alipay/ams/api/request/vaulting/alipay_vaulting_payment_method_request.py +84 -0
  230. com/alipay/ams/api/request/vaulting/alipay_vaulting_query_request.py +29 -0
  231. com/alipay/ams/api/request/vaulting/alipay_vaulting_session_request.py +84 -0
  232. com/alipay/ams/api/response/__init__.py +0 -0
  233. com/alipay/ams/api/response/alipay_response.py +22 -0
  234. com/alipay/ams/api/response/auth/__init__.py +0 -0
  235. com/alipay/ams/api/response/auth/alipay_auth_apply_token_response.py +57 -0
  236. com/alipay/ams/api/response/auth/alipay_auth_consult_response.py +68 -0
  237. com/alipay/ams/api/response/auth/alipay_auth_create_session_response.py +34 -0
  238. com/alipay/ams/api/response/auth/alipay_auth_query_token_response.py +49 -0
  239. com/alipay/ams/api/response/auth/alipay_auth_revoke_token_response.py +21 -0
  240. com/alipay/ams/api/response/declare/__init__.py +0 -0
  241. com/alipay/ams/api/response/declare/alipay_customs_declare_response.py +54 -0
  242. com/alipay/ams/api/response/declare/alipay_customs_query_response.py +32 -0
  243. com/alipay/ams/api/response/dispute/__init__.py +0 -0
  244. com/alipay/ams/api/response/dispute/alipay_accept_dispute_response.py +24 -0
  245. com/alipay/ams/api/response/dispute/alipay_download_dispute_evidence_response.py +26 -0
  246. com/alipay/ams/api/response/dispute/alipay_supply_defense_document_response.py +24 -0
  247. com/alipay/ams/api/response/marketplace/__init__.py +0 -0
  248. com/alipay/ams/api/response/marketplace/alipay_create_payout_response.py +43 -0
  249. com/alipay/ams/api/response/marketplace/alipay_create_transfer_response.py +43 -0
  250. com/alipay/ams/api/response/marketplace/alipay_inquire_balance_response.py +26 -0
  251. com/alipay/ams/api/response/marketplace/alipay_register_response.py +18 -0
  252. com/alipay/ams/api/response/marketplace/alipay_settle_response.py +25 -0
  253. com/alipay/ams/api/response/marketplace/alipay_settlement_info_update_response.py +17 -0
  254. com/alipay/ams/api/response/marketplace/alipay_submit_attachment_response.py +26 -0
  255. com/alipay/ams/api/response/merchant/__init__.py +0 -0
  256. com/alipay/ams/api/response/merchant/alipay_merchant_registration_info_query_response.py +25 -0
  257. com/alipay/ams/api/response/merchant/alipay_merchant_registration_response.py +20 -0
  258. com/alipay/ams/api/response/merchant/alipay_merchant_registration_status_query_response.py +25 -0
  259. com/alipay/ams/api/response/pay/__init__.py +0 -0
  260. com/alipay/ams/api/response/pay/alipay_capture_response.py +59 -0
  261. com/alipay/ams/api/response/pay/alipay_create_order_response.py +55 -0
  262. com/alipay/ams/api/response/pay/alipay_create_session_response.py +32 -0
  263. com/alipay/ams/api/response/pay/alipay_pay_cancel_response.py +34 -0
  264. com/alipay/ams/api/response/pay/alipay_pay_consult_response.py +41 -0
  265. com/alipay/ams/api/response/pay/alipay_pay_query_response.py +245 -0
  266. com/alipay/ams/api/response/pay/alipay_pay_response.py +218 -0
  267. com/alipay/ams/api/response/pay/alipay_refund_query_response.py +68 -0
  268. com/alipay/ams/api/response/pay/alipay_refund_response.py +111 -0
  269. com/alipay/ams/api/response/risks/__init__.py +0 -0
  270. com/alipay/ams/api/response/risks/inquiry_risk_score_response.py +42 -0
  271. com/alipay/ams/api/response/risks/risk_decide_response.py +34 -0
  272. com/alipay/ams/api/response/risks/risk_report_response.py +11 -0
  273. com/alipay/ams/api/response/risks/send_payment_result_response.py +11 -0
  274. com/alipay/ams/api/response/risks/send_refund_result_response.py +11 -0
  275. com/alipay/ams/api/response/subscription/__init__.py +0 -0
  276. com/alipay/ams/api/response/subscription/alipay_subscription_cancel_response.py +12 -0
  277. com/alipay/ams/api/response/subscription/alipay_subscription_change_response.py +11 -0
  278. com/alipay/ams/api/response/subscription/alipay_subscription_create_response.py +40 -0
  279. com/alipay/ams/api/response/subscription/alipay_subscription_update_response.py +11 -0
  280. com/alipay/ams/api/response/users/__init__.py +0 -0
  281. com/alipay/ams/api/response/users/alipay_init_authentication_response.py +21 -0
  282. com/alipay/ams/api/response/users/alipay_user_query_info_response.py +37 -0
  283. com/alipay/ams/api/response/users/alipay_verify_authentication_response.py +21 -0
  284. com/alipay/ams/api/response/vaulting/__init__.py +0 -0
  285. com/alipay/ams/api/response/vaulting/alipay_vaulting_payment_method_response.py +50 -0
  286. com/alipay/ams/api/response/vaulting/alipay_vaulting_query_response.py +53 -0
  287. com/alipay/ams/api/response/vaulting/alipay_vaulting_session_response.py +31 -0
  288. com/alipay/ams/api/tools/__init__.py +0 -0
  289. com/alipay/ams/api/tools/constants.py +17 -0
  290. com/alipay/ams/api/tools/date_tools.py +30 -0
  291. com/alipay/ams/api/tools/signature_tool.py +96 -0
  292. com/alipay/ams/api/tools/webhook_tool.py +10 -0
  293. global_open_sdk_python-1.4.1.dist-info/LICENSE +21 -0
  294. global_open_sdk_python-1.4.1.dist-info/METADATA +32 -0
  295. global_open_sdk_python-1.4.1.dist-info/RECORD +297 -0
  296. global_open_sdk_python-1.4.1.dist-info/WHEEL +5 -0
  297. global_open_sdk_python-1.4.1.dist-info/top_level.txt +1 -0
com/__init__.py ADDED
@@ -0,0 +1 @@
1
+
com/alipay/__init__.py ADDED
File without changes
File without changes
File without changes
@@ -0,0 +1,114 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+
4
+ from com.alipay.ams.api.tools.signature_tool import *
5
+ from com.alipay.ams.api.tools.date_tools import *
6
+ from com.alipay.ams.api.net.default_http_rpc import *
7
+
8
+
9
+ class DefaultAlipayClient(object):
10
+
11
+ def __init__(self, gateway_url, client_id, merchant_private_key, alipay_public_key):
12
+ self.__gateway_url = gateway_url
13
+ self.__client_id = client_id
14
+ self.__merchant_private_key = merchant_private_key
15
+ self.__alipay_public_key = alipay_public_key
16
+ self.__is_sandbox_mode = client_id.startswith("SANDBOX_")
17
+
18
+ """
19
+ 内部方法,生成请求签名
20
+ """
21
+
22
+ def __gen_sign(self, http_method, path, client_id, req_time, req_body):
23
+ try:
24
+ sign_value = sign(http_method, path, client_id, req_time, req_body, self.__merchant_private_key)
25
+ except Exception as e:
26
+ raise AlipayApiException("request sign failed. " + str(e))
27
+ return sign_value
28
+
29
+ """
30
+ 内部方法,生成请求签名
31
+ """
32
+
33
+ def __verify_sign(self, http_method, path, client_id, rsp_time, rsp_body, rsp_signature):
34
+ try:
35
+ is_verify = verify(http_method, path, client_id, rsp_time, rsp_body, rsp_signature,
36
+ self.__alipay_public_key)
37
+ except Exception as e:
38
+ raise AlipayApiException("response verify failed. " + str(e))
39
+ return is_verify
40
+
41
+ def __parse_header(self, headers):
42
+ for item in headers:
43
+ header_key = item[0]
44
+ if header_key == "signature":
45
+ signature = item[1]
46
+ if signature:
47
+ signature_item = signature.split("signature=")
48
+ rsp_signature = signature_item[1]
49
+ if header_key == "response-time":
50
+ response_time = item[1]
51
+ if header_key == "client-id":
52
+ client_id = item[1]
53
+
54
+ if "rsp_signature" not in locals():
55
+ raise AlipayApiException("response header exception,signature not exist.")
56
+ if "response_time" not in locals():
57
+ raise AlipayApiException("response header exception,response-time not exist.")
58
+ if "client_id" not in locals():
59
+ raise AlipayApiException("response header exception,client-id not exist.")
60
+
61
+ return rsp_signature, response_time, client_id
62
+
63
+ def execute(self, request):
64
+
65
+ if not hasattr(request, "path") or not request.path:
66
+ raise AlipayApiException('invalid path')
67
+
68
+ client_id = self.__client_id
69
+ self.__is_sandbox_mode = client_id.startswith("SANDBOX_")
70
+ self.adjust_sandbox_url(request)
71
+ http_method = request.http_method.value
72
+ path = request.path
73
+ req_time = get_cur_iso8601_time()
74
+ req_body = request.to_ams_json()
75
+
76
+ sign_value = self.__gen_sign(http_method, path, client_id, req_time, req_body)
77
+
78
+ key_version = DEFAULT_KEY_VERSION
79
+ if hasattr(request, "key_version") and request.key_version:
80
+ key_version = request.key_version
81
+
82
+ signature = "algorithm=RSA256,keyVersion=" + key_version + ",signature=" + sign_value
83
+ headers = {
84
+ "Content-type": "application/json; charset=UTF-8",
85
+ "Accept": "text/plain,text/xml,text/javascript,text/html",
86
+ "Cache-Control": "no-cache",
87
+ "Connection": "Keep-Alive",
88
+ "User-Agent": "global-alipay-sdk-python",
89
+ "Request-Time": req_time,
90
+ "client-id": client_id,
91
+ "Signature": signature
92
+ }
93
+
94
+ url = self.__gateway_url + path
95
+ headers, response = do_post(url, headers, req_body)
96
+
97
+ rsp_body = response.decode(DEFAULT_CHARSET)
98
+
99
+ rsp_signature, response_time, client_id = self.__parse_header(headers)
100
+ if not rsp_signature or not response_time:
101
+ return rsp_body
102
+
103
+ is_verify = self.__verify_sign(http_method, path, client_id, response_time, rsp_body, rsp_signature)
104
+ if not is_verify:
105
+ raise AlipayApiException("response signature verify failed.")
106
+
107
+ return rsp_body
108
+
109
+ def adjust_sandbox_url(self, request):
110
+ if self.__is_sandbox_mode:
111
+ origin_path = request.path
112
+ new_path = origin_path.replace('/ams/api', '/ams/sandbox/api', 1)
113
+ request.path = new_path
114
+
File without changes
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+
4
+
5
+ class AlipayApiException(ValueError):
6
+ pass
File without changes
@@ -0,0 +1,49 @@
1
+ import json
2
+
3
+ from com.alipay.ams.api.model.amount import Amount
4
+
5
+
6
+ class AccountBalance:
7
+ def __init__(self):
8
+ self.__account_balance = None
9
+ self.__currency = None
10
+ self.__available_balance = None #type: Amount
11
+ self.__frozen_balance = None #type: Amount
12
+ self.__total_balance = None #type: Amount
13
+
14
+ @property
15
+ def account_balance(self):
16
+ return self.__account_balance
17
+ @property
18
+ def currency(self):
19
+ return self.__currency
20
+
21
+ @property
22
+ def available_balance(self):
23
+ return self.__available_balance
24
+
25
+ @property
26
+ def frozen_balance(self):
27
+ return self.__frozen_balance
28
+
29
+ @property
30
+ def total_balance(self):
31
+ return self.__total_balance
32
+
33
+ def parse_rsp_body(self, response_body):
34
+ if type(response_body) == str:
35
+ response_body = json.loads(response_body)
36
+
37
+ if 'accountBalance' in response_body:
38
+ self.__account_balance = response_body['accountBalance']
39
+ if 'currency' in response_body:
40
+ self.__currency = response_body['currency']
41
+ if 'availableBalance' in response_body:
42
+ self.__available_balance = Amount()
43
+ self.__available_balance.parse_rsp_body(response_body['availableBalance'])
44
+ if 'frozenBalance' in response_body:
45
+ self.__frozen_balance = Amount()
46
+ self.__frozen_balance.parse_rsp_body(response_body['frozenBalance'])
47
+ if 'totalBalance' in response_body:
48
+ self.__total_balance = Amount()
49
+ self.__total_balance.parse_rsp_body(response_body['totalBalance'])
@@ -0,0 +1,10 @@
1
+ from enum import Enum, unique
2
+
3
+
4
+ @unique
5
+ class AccountHolderType(Enum):
6
+ INDIVIDUAL = "INDIVIDUAL"
7
+ ENTERPRISE = "ENTERPRISE"
8
+
9
+ def to_ams_dict(self):
10
+ return self.name
@@ -0,0 +1,11 @@
1
+
2
+ from enum import Enum, unique
3
+
4
+
5
+ @unique
6
+ class AccountType(Enum):
7
+ CHECKING = "CHECKING"
8
+ FIXED_DEPOSIT = "FIXED_DEPOSIT"
9
+
10
+ def to_ams_dict(self):
11
+ return self.name
@@ -0,0 +1,86 @@
1
+ import json
2
+
3
+
4
+ class AcquirerInfo:
5
+
6
+ def __init__(self):
7
+ self.__acquirer_name = None
8
+ self.__reference_request_id = None
9
+ self.__acquirer_transaction_id = None
10
+ self.__acquirer_merchant_id = None
11
+ self.__acquirer_result_code = None
12
+ self.__acquirer_result_message = None
13
+
14
+ @property
15
+ def acquirer_name(self):
16
+ return self.__acquirer_name
17
+
18
+ @acquirer_name.setter
19
+ def acquirer_name(self, acquirer_name):
20
+ self.__acquirer_name = acquirer_name
21
+
22
+ @property
23
+ def reference_request_id(self):
24
+ return self.__reference_request_id
25
+
26
+ @reference_request_id.setter
27
+ def reference_request_id(self, reference_request_id):
28
+ self.__reference_request_id = reference_request_id
29
+
30
+ @property
31
+ def acquirer_transaction_id(self):
32
+ return self.__acquirer_transaction_id
33
+
34
+ @acquirer_transaction_id.setter
35
+ def acquirer_transaction_id(self, acquirer_transaction_id):
36
+ self.__acquirer_transaction_id = acquirer_transaction_id
37
+
38
+ @property
39
+ def acquirer_merchant_id(self):
40
+ return self.__acquirer_merchant_id
41
+
42
+ @acquirer_merchant_id.setter
43
+ def acquirer_merchant_id(self, acquirer_merchant_id):
44
+ self.__acquirer_merchant_id = acquirer_merchant_id
45
+
46
+ @property
47
+ def acquirer_result_code(self):
48
+ return self.__acquirer_result_code
49
+
50
+ @acquirer_result_code.setter
51
+ def acquirer_result_code(self, acquirer_result_code):
52
+ self.__acquirer_result_code = acquirer_result_code
53
+
54
+ @property
55
+ def acquirer_result_message(self):
56
+ return self.__acquirer_result_message
57
+
58
+ @acquirer_result_message.setter
59
+ def acquirer_result_message(self, acquirer_result_message):
60
+ self.__acquirer_result_message = acquirer_result_message
61
+
62
+ def parse_rsp_body(self, result_body):
63
+ if type(result_body) == str:
64
+ payment_result_info_body = json.loads(result_body)
65
+
66
+ if 'acquirerName' in result_body:
67
+ self.__acquirer_name = result_body['acquirerName']
68
+
69
+ if 'referenceRequestId' in result_body:
70
+ self.__reference_request_id = result_body['referenceRequestId']
71
+
72
+ if 'acquirerTransactionId' in result_body:
73
+ self.__acquirer_transaction_id = result_body['acquirerTransactionId']
74
+
75
+ if 'acquirerMerchantId' in result_body:
76
+ self.__acquirer_merchant_id = result_body['acquirerMerchantId']
77
+
78
+ if 'acquirerResultCode' in result_body:
79
+ self.__acquirer_result_code = result_body['acquirerResultCode']
80
+
81
+ if 'acquirerResultMessage' in result_body:
82
+ self.__acquirer_result_message = result_body['acquirerResultMessage']
83
+
84
+
85
+
86
+
@@ -0,0 +1,121 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+
4
+ import json
5
+
6
+
7
+ class Address(object):
8
+ def __init__(self):
9
+ self.__region = None
10
+ self.__state = None
11
+ self.__city = None
12
+ self.__address1 = None
13
+ self.__address2 = None
14
+ self.__zip_code = None
15
+ self.__label = None
16
+
17
+ @property
18
+ def region(self):
19
+ return self.__region
20
+
21
+ @region.setter
22
+ def region(self, value):
23
+ self.__region = value
24
+
25
+ @property
26
+ def state(self):
27
+ return self.__state
28
+
29
+ @state.setter
30
+ def state(self, value):
31
+ self.__state = value
32
+
33
+ @property
34
+ def city(self):
35
+ return self.__city
36
+
37
+ @city.setter
38
+ def city(self, value):
39
+ self.__city = value
40
+
41
+ @property
42
+ def address1(self):
43
+ return self.__address1
44
+
45
+ @address1.setter
46
+ def address1(self, value):
47
+ self.__address1 = value
48
+
49
+ @property
50
+ def address2(self):
51
+ return self.__address2
52
+
53
+ @address2.setter
54
+ def address2(self, value):
55
+ self.__address2 = value
56
+
57
+ @property
58
+ def zip_code(self):
59
+ return self.__zip_code
60
+
61
+ @zip_code.setter
62
+ def zip_code(self, value):
63
+ self.__zip_code = value
64
+
65
+ @property
66
+ def label(self):
67
+ return self.__label
68
+
69
+ @label.setter
70
+ def label(self, value):
71
+ self.__label = value
72
+
73
+ def to_ams_dict(self):
74
+ params = dict()
75
+ if hasattr(self, "region") and self.region:
76
+ params['region'] = self.region
77
+
78
+ if hasattr(self, "state") and self.state:
79
+ params['state'] = self.state
80
+
81
+ if hasattr(self, "city") and self.city:
82
+ params['city'] = self.city
83
+
84
+ if hasattr(self, "address1 ") and self.address1:
85
+ params['address1'] = self.address1
86
+
87
+ if hasattr(self, "address2") and self.address2:
88
+ params['address2'] = self.address2
89
+
90
+ if hasattr(self, "zip_code") and self.zip_code:
91
+ params['zipCode'] = self.zip_code
92
+
93
+ if hasattr(self, "label") and self.label:
94
+ params['label'] = self.label
95
+
96
+ return params
97
+
98
+ def parse_rsp_body(self, address_body):
99
+ if type(address_body) == str:
100
+ address_body = json.loads(address_body)
101
+
102
+ if 'region' in address_body:
103
+ self.__region = address_body['region']
104
+
105
+ if 'state' in address_body:
106
+ self.__state = address_body['state']
107
+
108
+ if 'city' in address_body:
109
+ self.__city = address_body['city']
110
+
111
+ if 'address1' in address_body:
112
+ self.__address1 = address_body['address1']
113
+
114
+ if 'address2' in address_body:
115
+ self.__address2 = address_body['address2']
116
+
117
+ if 'zipCode' in address_body:
118
+ self.__zip_code = address_body['zipCode']
119
+
120
+ if 'label' in address_body:
121
+ self.__label = address_body['label']
@@ -0,0 +1,35 @@
1
+ import json
2
+
3
+
4
+ class AgreementInfo(object):
5
+ def __init__(self):
6
+ self.__auth_state = None
7
+ self.__user_login_id = None
8
+
9
+ @property
10
+ def auth_state(self):
11
+ return self.__auth_state
12
+
13
+ @auth_state.setter
14
+ def auth_state(self, value):
15
+ self.__auth_state = value
16
+
17
+ @property
18
+ def user_login_id(self):
19
+ return self.__user_login_id
20
+
21
+ @user_login_id.setter
22
+ def user_login_id(self, value):
23
+ self.__user_login_id = value
24
+
25
+ def to_ams_json(self):
26
+ json_str = json.dumps(obj=self.__to_ams_dict(), default=lambda o: o.to_ams_dict(), indent=3)
27
+ return json_str
28
+
29
+ def __to_ams_dict(self):
30
+ params = dict()
31
+ if self.__auth_state is not None:
32
+ params['authState'] = self.__auth_state
33
+ if self.__user_login_id is not None:
34
+ params['userLoginId'] = self.__user_login_id
35
+ return params
@@ -0,0 +1,39 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+
4
+ import json
5
+
6
+
7
+ class Amount(object):
8
+ def __init__(self, currency=None, value=None):
9
+ self.__currency = currency
10
+ self.__value = value
11
+
12
+ @property
13
+ def currency(self):
14
+ return self.__currency
15
+
16
+ @property
17
+ def value(self):
18
+ return self.__value
19
+
20
+ def to_ams_dict(self):
21
+ params = dict()
22
+ if hasattr(self, "currency") and self.currency:
23
+ params['currency'] = self.currency
24
+
25
+ if hasattr(self, "value") and self.value:
26
+ params['value'] = self.value
27
+
28
+ return params
29
+
30
+ def parse_rsp_body(self, amount_body):
31
+ if type(amount_body) == str:
32
+ amount_body = json.loads(amount_body)
33
+
34
+ if 'currency' in amount_body:
35
+ self.__currency = amount_body['currency']
36
+
37
+ if 'value' in amount_body:
38
+ self.__value = amount_body['value']
39
+
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+
4
+ import json
5
+
6
+ from com.alipay.ams.api.model.amount import Amount
7
+
8
+
9
+ class AmountLimit(object):
10
+ def __init__(self):
11
+ self.__max_amount = None
12
+ self.__min_amount = None
13
+ self.__remain_amount = None
14
+
15
+ @property
16
+ def max_amount(self):
17
+ return self.__max_amount
18
+
19
+ @property
20
+ def min_amount(self):
21
+ return self.__min_amount
22
+
23
+ @property
24
+ def remain_amount(self):
25
+ return self.__remain_amount
26
+
27
+ def parse_rsp_body(self, amount_limit_body):
28
+ if type(amount_limit_body) == str:
29
+ amount_limit_body = json.loads(amount_limit_body)
30
+
31
+ if 'maxAmount' in amount_limit_body:
32
+ max_amount = Amount()
33
+ max_amount.parse_rsp_body(amount_limit_body['maxAmount'])
34
+ self.__max_amount = max_amount
35
+
36
+ if 'minAmount' in amount_limit_body:
37
+ min_amount = Amount()
38
+ min_amount.parse_rsp_body(amount_limit_body['minAmount'])
39
+ self.__min_amount = min_amount
40
+
41
+ if 'remainAmount' in amount_limit_body:
42
+ remain_amount = Amount()
43
+ remain_amount.parse_rsp_body(amount_limit_body['remainAmount'])
44
+ self.__remain_amount = remain_amount
@@ -0,0 +1,44 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+
4
+ import json
5
+
6
+ from com.alipay.ams.api.model.amount_limit import AmountLimit
7
+
8
+
9
+ class AmountLimitInfo(object):
10
+ def __init__(self):
11
+ self.__single_limit = None
12
+ self.__day_limit = None
13
+ self.__month_limit = None
14
+
15
+ @property
16
+ def single_limit(self):
17
+ return self.__single_limit
18
+
19
+ @property
20
+ def day_limit(self):
21
+ return self.__day_limit
22
+
23
+ @property
24
+ def month_limit(self):
25
+ return self.__month_limit
26
+
27
+ def parse_rsp_body(self, amount_limit_info_body):
28
+ if type(amount_limit_info_body) == str:
29
+ amount_limit_info_body = json.loads(amount_limit_info_body)
30
+
31
+ if 'singleLimit' in amount_limit_info_body:
32
+ single_limit = AmountLimit()
33
+ single_limit.parse_rsp_body(amount_limit_info_body['singleLimit'])
34
+ self.__single_limit = single_limit
35
+
36
+ if 'dayLimit' in amount_limit_info_body:
37
+ day_amount = AmountLimit()
38
+ day_amount.parse_rsp_body(amount_limit_info_body['dayLimit'])
39
+ self.__day_limit = day_amount
40
+
41
+ if 'monthLimit' in amount_limit_info_body:
42
+ month_amount = AmountLimit()
43
+ month_amount.parse_rsp_body(amount_limit_info_body['monthLimit'])
44
+ self.__month_limit = month_amount
@@ -0,0 +1,56 @@
1
+ from enum import Enum
2
+
3
+ class AntomPathConstants(Enum):
4
+ """
5
+ Ant Group
6
+ Copyright (c) 2004-2024 All Rights Reserved.
7
+ """
8
+ AUTH_CONSULT_PATH = "/ams/api/v1/authorizations/consult"
9
+ AUTH_APPLY_TOKEN_PATH = "/ams/api/v1/authorizations/applyToken"
10
+ AUTH_REVOKE_PATH = "/ams/api/v1/authorizations/revoke"
11
+ AUTH_QUERY_PATH = "/ams/api/v1/authorizations/query"
12
+
13
+ CREATE_VAULTING_SESSION_PATH = "/ams/api/v1/vaults/createVaultingSession"
14
+ VAULT_PAYMENT_METHOD_PATH = "/ams/api/v1/vaults/vaultPaymentMethod"
15
+ INQUIRE_VAULTING_PATH = "/ams/api/v1/vaults/inquireVaulting"
16
+
17
+ CONSULT_PAYMENT_PATH = "/ams/api/v1/payments/consult"
18
+ PAYMENT_PATH = "/ams/api/v1/payments/pay"
19
+ CREATE_SESSION_PATH = "/ams/api/v1/payments/createPaymentSession"
20
+ CAPTURE_PATH = "/ams/api/v1/payments/capture"
21
+ INQUIRY_PAYMENT_PATH = "/ams/api/v1/payments/inquiryPayment"
22
+ CANCEL_PATH = "/ams/api/v1/payments/cancel"
23
+ SYNC_ARREAR_PATH = "/ams/api/v1/payments/syncArrear"
24
+ CREATE_DEVICE_CERTIFICATE_PATH = "/ams/api/v1/payments/createDeviceCertificate"
25
+
26
+ SUBSCRIPTION_CREATE_PATH = "/ams/api/v1/subscriptions/create"
27
+ SUBSCRIPTION_CHANGE_PATH = "/ams/api/v1/subscriptions/change"
28
+ SUBSCRIPTION_CANCEL_PATH = "/ams/api/v1/subscriptions/cancel"
29
+ SUBSCRIPTION_UPDATE_PATH = "/ams/api/v1/subscriptions/update"
30
+
31
+ ACCEPT_DISPUTE_PATH = "/ams/api/v1/payments/acceptDispute"
32
+ SUPPLY_DEFENCE_DOC_PATH = "/ams/api/v1/payments/supplyDefenseDocument"
33
+ DOWNLOAD_DISPUTE_EVIDENCE_PATH = "/ams/api/v1/payments/downloadDisputeEvidence"
34
+
35
+ REFUND_PATH = "/ams/api/v1/payments/refund"
36
+ INQUIRY_REFUND_PATH = "/ams/api/v1/payments/inquiryRefund"
37
+
38
+ DECLARE_PATH = "/ams/api/v1/customs/declare"
39
+ INQUIRY_DECLARE_PATH = "/ams/api/v1/customs/inquiryDeclarationRequests"
40
+
41
+ MARKETPLACE_SUBMITATTACHMENT_PATH = "/ams/api/open/openapiv2_file/v1/business/attachment/submitAttachment"
42
+ MARKETPLACE_REGISTER_PATH = "/ams/api/v1/merchants/register"
43
+ MARKETPLACE_SETTLEMENTINFO_UPDATE_PATH = "/ams/api/v1/merchants/settlementInfo/update"
44
+ MARKETPLACE_INQUIREBALANCE_PATH = "/ams/api/v1/accounts/inquireBalance"
45
+ MARKETPLACE_SETTLE_PATH = "/ams/api/v1/payments/settle"
46
+ MARKETPLACE_CREATEPAYOUT_PATH = "/ams/api/v1/funds/createPayout"
47
+ MARKETPLACE_CREATETRANSFER_PATH = "/ams/api/v1/funds/createTransfer"
48
+
49
+ RISK_DECIDE_PATH = "/ams/api/v1/risk/payments/decide"
50
+ RISK_REPORT_PATH = "/ams/api/v1/risk/payments/reportRisk"
51
+ RISK_SEND_PAYMENT_RESULT_PATH = "/ams/api/v1/risk/payments/sendPaymentResult"
52
+ RISK_SEND_REFUND_RESULT_PATH = "/ams/api/v1/risk/payments/sendRefundResult"
53
+
54
+ MERCHANTS_INQUIRY_REGISTRATION_PATH ="/ams/api/v1/merchants/inquiryRegistrationInfo"
55
+ MERCHANTS_REGISTRATION_PATH = "/ams/api/v1/merchants/registration"
56
+ MERCHANTS_INQUIRY_REGISTRATION_STATUS_PATH = "/ams/api/v1/merchants/inquiryRegistrationStatus"