pip install alipay-sdk-python
python
from alipay import AliPay
APP_ID = 'your_app_id'
APP_PRIVATE_KEY = 'your_app_private_key'
ALIPAY_PUBLIC_KEY = 'alipay_public_key'
alipay = AliPay(
appid=APP_ID,
app_private_key_string=APP_PRIVATE_KEY,
alipay_public_key_string=ALIPAY_PUBLIC_KEY,
sign_type='RSA2'
)
python
def create_payment_order(out_trade_no, total_amount, subject):
total_amount = float(total_amount)
order_string = alipay.api_alipay_trade_page_pay(
out_trade_no=out_trade_no,
total_amount=total_amount,
subject=subject,
return_url='http://www.example.com/return_url',
notify_url='http://www.example.com/notify_url'
)
pay_url = 'https://openapi.alipay.com/gateway.do?' + order_string
return pay_url
python
def handle_payment_notify(request):
params = request.POST.dict()
sign = params.pop('sign', None)
verify_result = alipay.verify(params, sign)
if verify_result is True:
out_trade_no = params['out_trade_no']
trade_no = params['trade_no']
total_amount = float(params['total_amount'])
# ...
else:
python
pay_url = create_payment_order(out_trade_no, total_amount, subject)
request = {
"out_trade_no": out_trade_no,
"trade_no": "20220101000000001",
"total_amount": total_amount,
}
result = handle_payment_notify(request)