支付
#支付
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import json
from alipay.aop.api.AlipayClientConfig import AlipayClientConfig
from alipay.aop.api.DefaultAlipayClient import DefaultAlipayClient
from alipay.aop.api.request.AlipayTradePrecreateRequest import AlipayTradePrecreateRequest
from alipay.aop.api.domain.AlipayTradePrecreateModel import AlipayTradePrecreateModel
import qrcode
if __name__ == '__main__':
"""
设置配置,包括支付宝网关地址、app_id、应用私钥、支付宝公钥等,其他配置值可以查看AlipayClientConfig的定义。
"""
alipay_client_config = AlipayClientConfig()
alipay_client_config.server_url = 'https://openapi.alipay.com/gateway.do'
alipay_client_config.app_id = '' ##应用id
alipay_client_config.app_private_key = '' ##私钥
alipay_client_config.alipay_public_key = '' ##支付宝公钥,注意不要写成应用公钥
client = DefaultAlipayClient(alipay_client_config=alipay_client_config)
model = AlipayTradePrecreateModel()
out_trade_no = '2015032001010101456'
model.out_trade_no = out_trade_no
model.total_amount = 0.01
model.subject = 'test'
request = AlipayTradePrecreateRequest(biz_model=model)
response_content = None
try:
response_content = client.execute(request)
print(response_content)
qr_code = json.loads(response_content)['qr_code']
img = qrcode.make(qr_code)
with open('./code.png', 'wb') as f:
img.save(f)
except Exception as e:
print(e)
查询支付
#查询支付
import json
from alipay.aop.api.AlipayClientConfig import AlipayClientConfig
from alipay.aop.api.DefaultAlipayClient import DefaultAlipayClient
from alipay.aop.api.request.AlipayTradeQueryRequest import AlipayTradeQueryRequest
from alipay.aop.api.domain.AlipayTradeQueryModel import AlipayTradeQueryModel
if __name__ == '__main__':
"""
设置配置,包括支付宝网关地址、app_id、应用私钥、支付宝公钥等,其他配置值可以查看AlipayClientConfig的定义。
"""
alipay_client_config = AlipayClientConfig()
alipay_client_config.server_url = 'https://openapi.alipay.com/gateway.do'
alipay_client_config.app_id = '' ##应用id
alipay_client_config.app_private_key = '' ##私钥
alipay_client_config.alipay_public_key = '' ##支付宝公钥,注意不要写成应用公钥
client = DefaultAlipayClient(alipay_client_config=alipay_client_config)
model = AlipayTradeQueryModel()
out_trade_no = '2015032001010101456' ##订单号
model.out_trade_no = out_trade_no
request = AlipayTradeQueryRequest(biz_model=model)
response_content = client.execute(request)
response_data = json.loads(response_content)
# 获取code的值
code = response_data.get('code')
amount = response_data.get('buyer_pay_amount')
# 判断code是否为10000
if code == '10000':
print(response_data)