alipayWap.py 4.85 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12
# -----------------------------------------------------------------------------
# File Name: alipayWap.py
# Author:    X. Peng
# -----------------------------------------------------------------------------
# pip3 install alipay-python
# -----------------------------------------------------------------------------
# Imports
# -----------------------------------------------------------------------------

from alipay import AliPay
import ssl
import time
13
from urllib.parse import urlparse, parse_qs, unquote
14 15 16 17 18 19 20 21 22 23 24 25

# -----------------------------------------------------------------------------
# Constants
# -----------------------------------------------------------------------------

# -----------------------------------------------------------------------------
# Functions
# -----------------------------------------------------------------------------

# -----------------------------------------------------------------------------
# Classes
# -----------------------------------------------------------------------------
26
from app.api.engine import config, env
27

28 29 30
alipay_public_key_string = '''-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAhTT+Cn3Y+BYysAqXsjAqjJ14aUzvUHKz0LnaAifTE10IRyzzcFn+8SXIhzHoJ/OQrj7DPoDV18iSX7PcHPDdRCFyOBP1RQkxFLmnpqFY6BRoEm6kaWea0rfg44EXgZSCO0e7gwjez8W4zO7S9w+HOECbB61ZfmsM+oTT41kUyXmcpUgvkSiayxyeNcnzSiS06GuoMbSpaVSjAoTAiFZdyaB51+wDXf3JvZARnlvnD2Jk5sFDzZbeVIfygInFo/ICIQRr96Jfwcey9ZO3PfvxZlDqa0cbCmZi7PyMIlwVf/bHF+rwiXboJm+rauu+Py4ch5BrakWVF/kty+jitLxD6QIDAQAB
-----END PUBLIC KEY-----'''
31

32
app_private_key_string = '''-----BEGIN PRIVATE KEY-----
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
MIIEpAIBAAKCAQEA0wfwXYuvhbfavgl98gVv0yCQuTWI+auqP6gmKzysCD/SOXKz
ZzXOOfDWaAUX4yf+5Q+K+whMzbvSl9HzHFEqGchhMPCji0P+Rbs7J5P37ZNCW5VT
9oBF1db54rCqnsgY17lQuj8Kf1dB6Np8MqxaocBzZaR9l7iOcqoSfyHsTMm3NQOc
46GGnGKrFIvguZLzc6ZL0OGPJPXXtQQ6uz2LBEAk57fEHbax+gMzhci/D1hxt5ZV
VW1ZYq2JSR/8xDXlw5PuL+ppyTcKFI5Czh/G0i6hVGl4ZZwnCb2Ck2QJW/D+RfG7
eb/KZdkYhEj3X7mkdTtGRh4fro+8dKvmOtzIkQIDAQABAoIBAF4cnUJqqDVfH+s+
Om+zowIp9MDUMij+OKe46oS/wwzOwYcjMwTlRvoqAMRU+SkxzggDXXzEX9QkXi+c
zumi/L6Q0V9NAfJ6uSwJ6sCkyZ2m3aIQP2igHgTWoYxKM10qaYHTQEA/GwRdOqSI
w3ipyqV2OUBsEiKWiNh0JlmSHFrFj0/adYcUbsEqGp4uO8miMGH2WYDo/SXmnc+9
efygtHe914LC3STJ2DkZ4hwo5TgaM8juTCdtcrEwI4nH3Pax7BYRcihiFCvZLsC5
U0b3DzPXCs7rYs4JuS3Xq+pkukMLqcVJ2ficRONkKI9L0l2H2kIIHr74vqmuYJfL
BYpHcMECgYEA7oRL9lC0+ckdJWmyvTW1r4uH2A2qoKNAAVLo/PAgE+JsAyr4fLCL
1DtJxlKptu793fsMyppRDYu73gpQlokWPGGodEdlXePn0QUaA2YDRUZl6BnS2rTn
f8R0ll5LN96ZNO4DD53BwFRgK515Eg+PtE7YaLVebSGQc6/n1FS+eAkCgYEA4n/h
CuCm5liVzO2lVFJQkaRIXCwXP/C3KZ37BzBRzva2yW6qfGUyY90ZhRyIGgekEzbS
P/UgAk+Q5tDxM+ESufseh9PvFk1WWPPqP86bQ+IlWnKiuS5d5LOUbXa5AaGWolTK
h4FejzVZUsGeMPY07HseIGnavWHHosHg+MZ/nkkCgYEA0J2D9y+F6sedp4B4ZgeZ
Hq4ypaTmbVP8Amxq/fhkhh/PC0JFToH3+yvUDhN0/1yvTL1s5bPtWqSyL7Xj4JaM
jUl5ViKwJVvWATquEvThvXCiZ0xW4RXDOTwyIObecUJPzDy1Dq6TrU3fQ6abI1Hb
BgDERWkE6vylZJohcdShN0kCgYEAmaY6WZCwZ85sQIpt/1efxEz3sV9PnlaDSj4b
TnMe7BE9SkRCbwSPPGN+rmf+g/nu+gHUewKkZiznlUzkc1cZxwRtX6MLq8tm6gz9
Oa/EcDZ3NHZToN+tXjncVK2XL14Yu6JdibLfHLMKFzO1Rm2e1VVnyIFGm/Y64VQ4
c0rkw9ECgYBbv3leaa5N/RGPiZLi2Rc8lb5t4Pt8ZdlHd+MUF+BGNlfo8UgeOJUU
Fkfjdj+UJp3LE/meT53zrK1PWaS3j51vdfb/YLGf6vgiqN9kj0xpyV4uPCZc1dHI
hwtSuAgS7rSrMeMS9omsZro9L1eHDjA8Ja4L0UNGi7i8dGFnp1BtOQ==
58
-----END PRIVATE KEY-----'''
59

60
APP_ID = '2021002112638152'
61 62 63
ssl._create_default_https_context = ssl._create_unverified_context


64
def init_alipay(notify_url):
65 66 67
    """初始化alipay配置."""
    alipay = AliPay(
        appid=APP_ID,
68
        app_notify_url=notify_url,
69 70 71 72 73 74 75 76 77
        app_private_key_string=app_private_key_string,
        alipay_public_key_string=alipay_public_key_string,
        # 支付宝的公钥,验证支付宝回传消息使用,不是你自己的公钥,
        sign_type="RSA2",  # RSA 或者 RSA2
        debug=False  # 默认False ,若开启则使用沙盒环境的支付宝公钥
    )
    return alipay


78
def prePay(subject, out_trade_no, total_amount, notify_url):
79
    """创建预付订单."""
pengxiong@wealthgrow.cn's avatar
pengxiong@wealthgrow.cn committed
80
    print('notify_url', notify_url)
81
    result = init_alipay(notify_url).api_alipay_trade_app_pay(
82 83 84
        subject=subject,
        out_trade_no=out_trade_no,
        total_amount=total_amount,
85
        # return_url=URL_PREFIX + return_path
86 87 88
    )
    if not result:
        return False
pengxiong@wealthgrow.cn's avatar
pengxiong@wealthgrow.cn committed
89
    return {'content': result}
90 91 92 93 94 95 96 97 98 99 100 101 102

def alipay_transfer():
    """转账"""
    out_biz_no = time.strftime('%Y%m%d', time.localtime(time.time())) + str(int(time.time() * 1000))
    payee_type = 'ALIPAY_LOGONID'
    payee_account = '18916991859@163.com'
    amount = '1'
    kwargs = {
        'payee_real_name': '',
        'remark': ''
    }
    result = init_alipay().api_alipay_fund_trans_toaccount_transfer(out_biz_no, payee_type, payee_account, amount, **kwargs)
    return result
103 104

if __name__== '__main__':
105
    out_trade_no = '202011252324324134124'
106 107 108
    subject = 'APP支付测试'
    total_amount = 0.01
    remote_addr = '101.95.188.178'
109
    prePay(subject, out_trade_no, total_amount, notify_path='/tamp_order/micro_shop/topUpOrderNotify')