# ----------------------------------------------------------------------------- # File Name: alipayWap.py # Author: X. Peng # ----------------------------------------------------------------------------- # pip3 install alipay-python # ----------------------------------------------------------------------------- # Imports # ----------------------------------------------------------------------------- from alipay import AliPay import ssl import time from urllib.parse import urlparse, parse_qs, unquote # ----------------------------------------------------------------------------- # Constants # ----------------------------------------------------------------------------- # ----------------------------------------------------------------------------- # Functions # ----------------------------------------------------------------------------- # ----------------------------------------------------------------------------- # Classes # ----------------------------------------------------------------------------- from app.api.engine import config, env 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-----''' app_private_key_string = '''-----BEGIN PRIVATE KEY----- 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== -----END PRIVATE KEY-----''' APP_ID = '2021002112638152' ssl._create_default_https_context = ssl._create_unverified_context def init_alipay(notify_url): """初始化alipay配置.""" alipay = AliPay( appid=APP_ID, app_notify_url=notify_url, 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 def prePay(subject, out_trade_no, total_amount, notify_url): """创建预付订单.""" result = init_alipay(notify_url).api_alipay_trade_app_pay( subject=subject, out_trade_no=out_trade_no, total_amount=total_amount, # return_url=URL_PREFIX + return_path ) if not result: return False return {'content': result} 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 if __name__== '__main__': out_trade_no = '202011252324324134124' subject = 'APP支付测试' total_amount = 0.01 remote_addr = '101.95.188.178' prePay(subject, out_trade_no, total_amount, notify_path='/tamp_order/micro_shop/topUpOrderNotify')