Created
March 7, 2022 06:40
-
-
Save bzdk/2c8f7f13c304ca1e3a57cf725f4ead8a to your computer and use it in GitHub Desktop.
Alipay Global API Sample Code
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from com.alipay.ams.api.model.merchant import Merchant | |
from com.alipay.ams.api.model.amount import Amount | |
from com.alipay.ams.api.model.settlement_strategy import SettlementStrategy | |
from com.alipay.ams.api.model.order import Order | |
from com.alipay.ams.api.model.product_code_type import ProductCodeType | |
from com.alipay.ams.api.model.payment_method import PaymentMethod | |
from com.alipay.ams.api.model.env import Env | |
from com.alipay.ams.api.model.goods import Goods | |
from com.alipay.ams.api.model.terminal_type import TerminalType | |
from com.alipay.ams.api.model.os_type import OsType | |
from com.alipay.ams.api.model.result_status_type import ResultStatusType | |
from com.alipay.ams.api.default_alipay_client import DefaultAlipayClient | |
from com.alipay.ams.api.request.pay.alipay_pay_request import AlipayPayRequest | |
from com.alipay.ams.api.response.pay.alipay_pay_response import AlipayPayResponse | |
from com.alipay.ams.api.request.pay.alipay_pay_consult_request import AlipayPayConsultRequest | |
from com.alipay.ams.api.response.pay.alipay_pay_consult_response import AlipayPayConsultResponse | |
from com.alipay.ams.api.request.pay.alipay_pay_query_request import AlipayPayQueryRequest | |
from com.alipay.ams.api.response.pay.alipay_pay_query_response import AlipayPayQueryResponse | |
from com.alipay.ams.api.request.pay.alipay_pay_cancel_request import AlipayPayCancelRequest | |
from com.alipay.ams.api.response.pay.alipay_pay_cancel_response import AlipayPayCancelResponse | |
from com.alipay.ams.api.request.pay.alipay_capture_request import AlipayCaptureRequest | |
from com.alipay.ams.api.response.pay.alipay_capture_response import AlipayCaptureResponse | |
from com.alipay.ams.api.request.pay.alipay_refund_request import AlipayRefundRequest | |
from com.alipay.ams.api.response.pay.alipay_refund_response import AlipayRefundResponse | |
MERCHANT_PRIVATE_KEY = "MIIEowIBAAKCAQEA1LYHTNgteR9D/nDko43kZmswgdsNJwfIbkWjc2EW5bOBZwdUVhklrLjHZ/rhrKqDgqdZiv0cmtWqqQ5mJMQTfqFKiXWcydCIsVI+Tr4Te+KB1llO2vgWDBJdxgpEMicbKGBPYMZ+SHWYWBbhZ75rbKLcibRMqT1uCmX0s+0amn6RdClL5+NKjAABgC5RCNgmk3gDo4orAixngu7WVaYE6m+9C0oZzK6pnZjW4SbFUoaTtSCJPP6o2ryvPTIo74zEM7bmfZ5eC1Wfwy/ta6XxMQdQmGQSSVy/dOveAjPp9ELk+o8utuuNbvHwC2QKutBc9KqPSAmiHZZ8xGBKQKG75QIDAQABAoIBAQCNP37jgV3Y43EkQdUh4nQ7qowgftRiCaIHz8h1MpCg4a1ZPB29up8w7dbEbm1zWhtQJE6qo99d1eqorj4XxfhoCzTSyL3fqdFLZqCna0LG7idnrhBWCY2iYIPSoTid0SgQjLvJOKXc+fG69R6i5GizUAaAjrClZXxv/TocTKNw2MoayK9EwAm90C3YzvRpHnSyLUs7JlXO9LTkVjNZ3Be1QXOcOGkPX+68nutkix9BsuI4Cq9MxDl8CZja3yIIqOHl56ylogOGOIRVla5+BdcVFEno0jwVz2gDdO00Novu/7g43C2Wg8kMJX5/r4N0hdVIs0xZblSRohtiQC11yp5hAoGBAP8Tzif5B3+s9QD4fvmAcvWj90WzanJZ7K3MjnS2tOuvogi44FvzNS4lS6ODibo+8hugiUJWfaGgdrogqOtuGPmc7XnGqGmwU/QmLfbR8fefLV5+RtHgmL/b8tlSOyaYk3iQrdsR7Hggtp3/zwDAMhblBvdJTNGiZuzksohsQTFNAoGBANV6/j/rW09mEfCEmQjEDmbqWZLtsm5KAikDxBXgqgpnXkp062td1J/6sd+bq7EcWxX8CDf91LSEr68ebinpjiE+xQh4Ks1G2NSzrz/JQtAWPw9TWBm+Tk16A3e09KaAV1B048z1+/xYupERtK4YJAll0egBHzFvw482ejjtN+j5AoGAen0ZP2q/phj5IjkySD/ddIYDZQ4uLLFwDVmwgu2F3bPefI/C9YTJ4dn5A5FT3wMBIjEqGJgOBkJXITQzybJ5/cvU4eh60R3igties+rHZiCjGcBL49cVovRNHvz0+KjGEFxxkESAKIOVDjRcREEHDKV4feFOKVDyWgnMjeRmPfUCgYADe28cQc2KfQK75p3Ma85EVXxCjkgDzoc8fgg7xx9e7hK2qjOQ28X1GhS+rf5d9DV0JVlI+IX4r9VhyOBJJLshxbFXEwa3tHki9w9bvf+t/z7mFBjyyozibKQT1srK0HscH9v7YuPKWPQqG5zT3ibwVE3ZN/N3TfhlpKDXvt7TmQKBgESYMNKcsR4FtMpRAPEI8JYrr5GptB9REE1CvJjJUm5VK7zGMu01KSYqsO6oF+FwYz0sFm0JGw875wvNiArq8fS90uF/Q2MR0FJOp4u2o+/Lzk7w/3vJPYDdk7n8Serz/49M9hNnbjsVl6m4dvLWT0c+MtdAdSOxSST1/+i0epix" | |
ALIPAY_PUBLICK_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAiRNcw6izdMeN1VHCpUQkHarVd3itOBl79qYrnwSk4eHv9gQUk8Xw1v0n9Mh+TMpfK+cfoTNM8qWm83m2xs9MzqjOBjIU6ERVp8mjR4p3TO+zu5uSuWX+9ongRnEoBnXllkUTvbH4orQoR0ukOA7ankX7Ut5BoDtBNmMZLuox16hJT5et9WTSRwYB9HB42OlmBSowZLDoRQfKZ2p99UEJP6D8GpZrJxjyDR0AHjrj/nybLdZW7utf6AmfwlNlZ8UkwVuyIEOGO2SWaGANu0luo2v4oUOX7dVZLgp5NDCoOjyFzA0j1rGwsjHSVW8rJpBNtzyB4kCQwSVoJKLkAkjkVQIDAQAB" | |
CLIENT_ID = "SANDBOX_5Y5Z222YGVUH00690" | |
default_alipay_client = DefaultAlipayClient("https://open-na.alipay.com", CLIENT_ID, MERCHANT_PRIVATE_KEY, ALIPAY_PUBLICK_KEY) | |
alipay_pay_request = AlipayPayRequest() | |
alipay_pay_request.path = "/ams/sandbox/api/v1/payments/pay" | |
alipay_pay_request.product_code = "CASHIER_PAYMENT" | |
alipay_pay_request.payment_notify_url = "https://www.taobao.com" | |
alipay_pay_request.payment_redirect_url = "https://www.taobao.com?param1=sl" | |
alipay_pay_request.payment_request_id = "H6B9TgeSQ5cf9ocaUBLOTmTLl6nv6i3NNVt844eNWUaC59SxbX64vvczQPMdA3Iv" | |
payment_method = PaymentMethod() | |
payment_method.payment_method_type = "ALIPAY_CN" | |
alipay_pay_request.payment_method = payment_method | |
amount = Amount("CNY", "1315") | |
alipay_pay_request.payment_amount = amount | |
order = Order() | |
order.reference_order_id = "ORDER_040646111729490001" | |
order.order_description = "Mi Band 3 Wrist Strap Metal Screwless Stainless Steel For Xiaomi Mi Band 3" | |
order.order_amount = amount | |
order.extend_info = { | |
"chinaExtraTransInfo": { | |
"totalQuantity": "2", | |
"otherBusinessType": "testBusinessType", | |
"businessType": "4", | |
"goodsInfo": "goods_a^1|goods_b^1" | |
} | |
} | |
goods_arr = [] | |
good = Goods() | |
good.reference_goods_id = "216584ce-9de0-11ec-b909-0242ac120002" | |
good.goods_brand = "goods_brand" | |
good.goods_name = "goods_name" | |
goods_arr.append(good) | |
order.goods = goods_arr | |
merchant = Merchant() | |
merchant.merchant_mcc = "merchantMcc" | |
merchant.reference_merchant_id = "SM_001" | |
order.merchant = merchant | |
alipay_pay_request.order = order | |
settlement_strategy = SettlementStrategy() | |
settlement_strategy.settlement_currency = "USD" | |
alipay_pay_request.settlement_strategy = settlement_strategy | |
env = Env() | |
env.terminal_type = TerminalType.WEB | |
alipay_pay_request.env = env | |
print(alipay_pay_request.to_ams_json()) | |
rsp_body = default_alipay_client.execute(alipay_pay_request) | |
alipay_pay_response = AlipayPayResponse(rsp_body) | |
if alipay_pay_response.result.result_status.name != ResultStatusType.F.name: | |
print(alipay_pay_response.payment_id) | |
print(alipay_pay_response.payment_create_time) | |
else: | |
print(alipay_pay_response.result.result_message) | |
# { | |
# "productCode": "CASHIER_PAYMENT", | |
# "paymentNotifyUrl": "https://www.taobao.com", | |
# "paymentRequestId": "H6B9TgeSQ5cf9ocaUBLOTmTLl6nv6i3NNVt844eNWUaC59SxbX64vvczQPMdA3Iv", | |
# "paymentAmount": { | |
# "currency": "CNY", | |
# "value": "1315" | |
# }, | |
# "settlementStrategy": { | |
# "settlementCurrency": "USD" | |
# }, | |
# "env": { | |
# "terminalType": "WEB" | |
# }, | |
# "paymentRedirectUrl": "https://www.taobao.com?param1=sl", | |
# "paymentMethod": { | |
# "paymentMethodType": "ALIPAY_CN" | |
# }, | |
# "order": { | |
# "merchant": { | |
# "referenceMerchantId": "SM_001", | |
# "merchantMCC": "merchantMcc" | |
# }, | |
# "goods": [ | |
# { | |
# "goodsName": "goods_name", | |
# "referenceGoodsId": "216584ce-9de0-11ec-b909-0242ac120002", | |
# "goodsBrand": "goods_brand" | |
# } | |
# ], | |
# "orderDescription": "Mi Band 3 Wrist Strap Metal Screwless Stainless Steel For Xiaomi Mi Band 3", | |
# "extendInfo": { | |
# "chinaExtraTransInfo": { | |
# "otherBusinessType": "testBusinessType", | |
# "businessType": "4", | |
# "totalQuantity": "2", | |
# "goodsInfo": "goods_a^1|goods_b^1" | |
# } | |
# }, | |
# "referenceOrderId": "ORDER_040646111729490001", | |
# "orderAmount": { | |
# "currency": "CNY", | |
# "value": "1315" | |
# } | |
# } | |
# } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment