def setUpClass(cls): super(TestComm, cls).setUpClass() with open("private.txt", "r") as f: private_key = RSA.importKey(f.read()) with open("public.txt", "r") as f: publick_key = RSA.importKey(f.read()) cls.alipay = AliPay("2016101100664659", private_key, sign_type="rsa2", ali_public_key=publick_key, sandbox=True) cls.alipay_rsa = AliPay("2016101100664659", private_key, ali_public_key=publick_key, sandbox=True)
def test_product(self): alipay = AliPay("2019091267287120", """-----BEGIN RSA PRIVATE KEY----- MIIEpAIBAAKCAQEAxTxXdQG9+VX1GcU/ETVQHAOIez1el6Vfc2zsXj9Wc3BoU8A29zRDjJPxbZXD0yNQYCzNkLXSnuL9ZDAOtRo5S4XMb92ZhMlEq+yedNSt4qCzEp7eLz+6uwsbNlgAzNlBUynW59kmSHVaCfQx1CkFcFjgZeiVAoJuGa8ujFWiX96h3Ec0MTK8G6uF2+Wl6Tlh8wiShivuw4fcWV4QKxWhTIJ+Dyi2tFszlwt0fJriI12x/xPT0dEr/U2p/8ZhtqlKAKrZJ9fjrGIkM5cSpQcnCEnmZDg6bYfE7NYCQNTIVjM6fXH3Ic1sNXQ5eG0WBRsMrvfiHBqJSU4J9fY1GXy5QQIDAQABAoIBADt9Ssew4dLtmULPmokfMm1wp168kOZea97NsLFwmyuwcNcp96oyKlmhWcV60ZjCYwDPIqWOIdvojRMF57m6EiP0VEg9Z4uEhWDxuo10hIoBfGGWZ1+K8lBuNiP7ASrIMIrb6MT/WyupsaGk9M6QHOLY+73hG+io3HqEux56ycHuRfpX17KU1t6MQzCmcx7C1XixjSsP07+6PW1ya+++1LiRGzRjhv1nu3VWWQyw3hpodbAXDN6CCGt+z+2RYDnqVp5Evq1NLwFe5tU8WDRcLw0eAuRH+wDXG9gO/fryJm51NUHBoaiCa+XkwzeKwc0zp/HGaApbDcSRKkaRAqCwvw0CgYEA5z8pzYoa/xscY2BNAGQFyx+gYErpnoxMYNyPTKHGzkWgvby4pfkMCaEf3v9Ddx5dQiXylCknil/EI5x9rtcdrEbZxsEf6siiNM+KMCMkgJHMXPWNw5zMckiinv0Uu6F5VxJImvoSf0o/J2xjeVZEdWU7OpzKTI8ge0LP9QMSIdMCgYEA2lktRzp3fcIOdUq2HN9077AaRceEYNMVVww9l6tpG8rvOR8T+s6E3Cnu+NkmvQVbZxLDwb5AxNxfMi0h5osfzlyKLfJ5LrGAZT31odxDtjUMfQ93M2vbG72PiGH2gNDO7J07KX1STZEtXQC0s56XiAAbTTuXka1OP1pupKr/OBsCgYEA4B2bShT7LRr9XGLMvgAyjTZNnIV9/adDruyUBVUU9H0O2FS7MEA6pmp+FQWYQS4wfBeDDo0EQVunIExeksDxhTH1hmdNo6Jncn9iEl081052nfFuP5MLogc7dJMbMO3CR9z0eR68Jpmys2ac0dAF8TD3QksK1UAx3sRV/8PGIvkCgYEAy8uqQC4o8z7Z4c3+1koWydSTYQfM3daGt32cS2DYtPEfgTAppNF3HkshWjDMQGasnjLcdYvOxi9txtZrKtQ1tpWW/zWut89CqLxA9Hcy1/EBnASAXIVRt72hJ0lQG4FJcX17h8kJtY5ISeLrxi7C/lQjJ130pSqduvH8DUPw/HsCgYB1mOY7YU0I8H1pXDG3FeBBWAk2Iu4kmzTbACpyiHhSfGDvMOdh7LEnLen5O0rjBteI+B4G5Qo5LcBzemzCsgNTLwbUqMQvU+1onsgHVhZ0u8LcuW06ZLmcHUMqmNBn23xsA6Z3aCZ//z08LJ6w2w6E3nSzy4JUyM62Cn/xSVigPw== -----END RSA PRIVATE KEY-----""", sign_type="rsa2") res = alipay.pay.trade_query(trade_no="2019111022001469351413117626") self.assertEqual(res["code"], '40006')
def setUpClass(cls): super(KoubeiTest, cls).setUpClass() with open("private.txt", "r") as f: private_key = RSA.importKey(f.read()) cls.alipay = AliPay("2016101100664659", private_key, sign_type="rsa2", sandbox=True) cls.buyer_id = "2088102179514385"
def setUpClass(cls): super(TestPay, cls).setUpClass() with open("private.txt", "r") as f: private_key = RSA.importKey(f.read()) cls.alipay = AliPay("2016101100664659", private_key, sign_type="rsa2", sandbox=True) cls.buyer_id = "2088102179514385" cls.order_no = String.generate_digits(24) print(f"测试订单:{cls.order_no}")
def _get_alipay(self): """ 获取支付宝sdk """ try: private_key = RSA.importKey(base64.b64decode( self.alipay_secret).decode('utf-8')) public_key = RSA.importKey(base64.b64decode( self.alipay_public_key).decode('utf-8')) if self.state == "enabled": alipay = AliPay(self.alipay_appid, private_key, ali_public_key=public_key, sign_type=self.alipay_sign_type) else: alipay = AliPay(self.alipay_appid, private_key, ali_public_key=public_key, sign_type=self.alipay_sign_type, sandbox=True) return alipay except Exception as err: _logger.exception(f"生成支付宝客户端失败:{err}")
def test_key_outheader(self): """以无格式方式测试""" key = """MIIEpAIBAAKCAQEAqslYYdOaHG1c6jNpyUfPw5bNPwCPN8gczE6ezPRf0Ud9KK9DiZIlafNU12IC+x/eLrmtgVdC339l+2dmSB9jDx1gmmYZv5kNx//E+aeohYv2mPD1ITN72qkZMs3NwggDHYpg+BACfFcYfUBMqdozEkm9Ow7srROdQR3ekRlvvq2dGDqjol/UzwkwiVfgbzQiBwAsw6znyXRfn7iT7+9c1+CfxiOTxlVCMa6z0ZTXDEvfPU2ElcHtYpXYGediHikEIrOnEhNX8pnLINguGsLwu0iN9+vx1h2FfnY8gx3f3yTFpPhapFGGpgx4jQrVi/mxVMZi8pqFrKA+v5ud5mHLBwIDAQABAoIBABWjzX8XwL85XDyQpybJ4pl10ivZdkwrHvsEOzrc/AcYd9Nf4b7ctcDnBCkGUjpfn1dsT3/D/sUy70kboOoij/qqTkNCDKEqU4Sz89FuXPwO8AARB/5c96SNKJQ3X4rmWP61OfQ0kxwOLRwxuYUMEMyQa1nAWlzTz2kgz8Ky5mXShKRkb+jdY+9gJhG1goGGqlfFUmPsKpedW18Umh0u3zSBm6ppY79Y+T1BO+sYG6bYDPZoEdOZwIR/qhA2UK6NyRsNLpIEksNRAeauYM/00E4tw88NvjUwHuLvTwQzNh6jbL5QR6dfBuipmxGvGpjAtqG0KDwi+ncT+bUiD6R9wgECgYEA4NRTSwUPmOQTZquT2hvlQSr5iTqqO0cNbVxaaDrl3XecsDdil2nvimfRrxUMwj9ISypGrgIKHhFkcfm4t0ShS7HWMiExsmiyLUx5/ukv4Fvf8B3cbU9Gkcr3SAj9M5QKWONJsKs7wWCZ2SopikPLxwhjgicnIM8LlVYx1Zyla9cCgYEAwnbsJWYm5jDgaSF6ZksiHpCRbH+u3bfsCJHL4igummanEzHdpsIb9UDokuhOp9LRpGY7XOBPHM/0R4wxmW+G/bezO791eeOPp/NvN6FexU40RSnrmCqm+wF8bbW+MmbsscJEbg2YiVmnx3w3PD33LslXOhCnecP6vdkFAsiVNFECgYEAz11GTaUnU57Y/hM2VS7xbf/TE+0V4YKRMdLCV+wq4u9Vh3ot5vWASCmlTlSd5fM0HI+rjQa4ii8Ec9MduXsFQamOo8HV8nV6ESm+Q4yT6d0TWIZSLke2EPYgyUHxN0dNm9pWtynX/W25uICYu7v4EWT9UqgGAM62IlDTue+26xUCgYEAvYq4ZUOKCrf9I7tz2BzHZs82T3CseoN4Vmn1NbxAoFIJ6xWhm5Z7NbNMfVRcxgsgN4NFvSMNOWIgEVS+S3V/N/FDi6rz0BhTvznxX2G0Q9AT9o4Dik+YbfNm2nBYsDvN3P0jQbmSwd1XQYL7O4aSVVH96SSueGrjDQRoc+waMeECgYBV6L539J4DYhgcypAtooFgIEShHP5kVgRE5I+Sgx5kU5LtEa9dP+6tS3nkEDezWDqCl8L9imKuSEoFwYi6kCwyfbtufs5lTTeWwzwwKQb6pXVs6vWjQNbWFjY0VQLErlQVJA1MSgOBC4/D4FKJtwc2rNWHPcjh6VMXhPmcXogoBw==""" with self.assertRaises(ValueError): alipay = AliPay("2016101100664659", key, sign_type="rsa2", sandbox=True)
def test_sign(self): """RSA生成待签名字符""" self.api = AliPay("2014072300007148", None, sandbox=True) data = { "method": "alipay.mobile.public.menu.add", "charset": 'GBK', "sign_type": 'RSA2', "timestamp": '2014-07-24 03:07:50', "biz_content": '{"button":[{"actionParam":"ZFB_HFCZ","actionType":"out","name":"话费充值"},{"name":"查询","subButton":[{"actionParam":"ZFB_YECX","actionType":"out","name":"余额查询"},{"actionParam":"ZFB_LLCX","actionType":"out","name":"流量查询"},{"actionParam":"ZFB_HFCX","actionType":"out","name":"话费查询"}]},{"actionParam":"http://m.alipay.com","actionType":"link","name":"最新优惠"}]}', "version": "1.0" } a = self.api.comm.get_signstr(data) s = 'app_id=2014072300007148&biz_content={"button":[{"actionParam":"ZFB_HFCZ","actionType":"out","name":"话费充值"},{"name":"查询","subButton":[{"actionParam":"ZFB_YECX","actionType":"out","name":"余额查询"},{"actionParam":"ZFB_LLCX","actionType":"out","name":"流量查询"},{"actionParam":"ZFB_HFCX","actionType":"out","name":"话费查询"}]},{"actionParam":"http://m.alipay.com","actionType":"link","name":"最新优惠"}]}&charset=GBK&method=alipay.mobile.public.menu.add&sign_type=RSA2×tamp=2014-07-24 03:07:50&version=1.0' self.assertEqual(a, s)
def test_sign_cert(self): """RSA证书生成待签名字符""" self.api = AliPay( "2014072300007148", None, sign_type="rsa_cert", app_cert_sn="50fa7bc5dc305a4fbdbe166689ddc827", alipay_root_cert_sn="6bc29aa3b4d406c43483ffea81e08d22", sandbox=True) data = { "method": "alipay.mobile.public.menu.add", "charset": 'GBK', "sign_type": 'RSA2', "timestamp": '2014-07-24 03:07:50', "biz_content": '{"button":[{"actionParam":"ZFB_HFCZ","actionType":"out","name":"话费充值"},{"name":"查询","subButton":[{"actionParam":"ZFB_YECX","actionType":"out","name":"余额查询"},{"actionParam":"ZFB_LLCX","actionType":"out","name":"流量查询"},{"actionParam":"ZFB_HFCX","actionType":"out","name":"话费查询"}]},{"actionParam":"http://m.alipay.com","actionType":"link","name":"最新优惠"}]}', "version": "1.0" } a = self.api.comm.get_signstr(data) s = 'alipay_root_cert_sn=6bc29aa3b4d406c43483ffea81e08d22&app_cert_sn=50fa7bc5dc305a4fbdbe166689ddc827&app_id=2014072300007148&biz_content={"button":[{"actionParam":"ZFB_HFCZ","actionType":"out","name":"话费充值"},{"name":"查询","subButton":[{"actionParam":"ZFB_YECX","actionType":"out","name":"余额查询"},{"actionParam":"ZFB_LLCX","actionType":"out","name":"流量查询"},{"actionParam":"ZFB_HFCX","actionType":"out","name":"话费查询"}]},{"actionParam":"http://m.alipay.com","actionType":"link","name":"最新优惠"}]}&charset=GBK&method=alipay.mobile.public.menu.add&sign_type=RSA2×tamp=2014-07-24 03:07:50&version=1.0' self.assertEqual(a, s)