集成支付宝付款
由于我们现在要集成支付宝支付,花了几个小时在公钥上面了,在支付宝客服的大力帮助下,终于解决了这个问题
我们在支付宝里面上传的公钥,是应用公钥,而不是支付宝公钥,在AOP里面,需要指定的是支付宝公钥。
您上传应用公钥生成支付宝公钥,我们在代码里面使用的是支付宝公钥,不是应用公钥
在按照客户的建议之后,支付宝终于可以正常工作了。
[TestMethod]
public void TestMethod1()
{
var appID = "2015112800883313";
var privateKeyPem = @"d:\rsa_private_key.pem";
var publicKey = @"d:\rsa_public_key.pem";
privateKeyPem = @"MIKKKKKKKo8oK1u0eu3qzrc1Dq7bZ0cL1JOWnZlIUZF2Mxi7fRjLSOwga8HhLG1YQJh3kNtQ/pxu1YyvyEx/FyqPw97i7gjUgIPXBZ8IlvWPnWvVl/l6nJtjYzUqotClUZIxvPmMMTLRXRWihkPdCI1E2BTcA3dIdJlj2BTIeMYDJBknl18sh0moWi9eDPQU+EGVELACLFMa71GZ0O45uBbnB2npc+SbCBLernmV0MZswZtP4gGkCgYB5evx8SzQcxpycXJfmcWnMbD0SZDS+Yehic5i61Y26sBROPMaI0mL3jxNSB9wjpBYqkSDNYKyuNraa/9oV3mP8i6N4XZiRmFkR9V0n3opQ1mSTkh2LBybT1Y19zvgu0bWolKC1uL2fdDjwodAb1FaD0nI+bE4/am86HyknKAYHK/UUBcRzXSg==";
publicKey = @"MIIBIjANKKKKKAOCAQ8AMIIBCgKCAQEAjdkKa9KASyEVrlbzsgQWclqj6yuf9AJYqqc6PIfSJG7+uhjol488rWvOMN5wMpsaPKRgI1pDhGG4CLG7mFqw5lfnXhYvU3kqSe1olqPqLaf3B2PLcML6XLBaZy05Gbi6pcVRttvOKHHXX/t6agtvkpYuGWMaVKJGaHnjshGE7WiOUIzMNOOWd5kz2Ok2RXN4qgRczT68En5zzwW1MV5GSUYiXKpjPRQ6z63VWtxB5JL2TGh8iJcQVdg9Iz5ZxTsskDj4USSbdyIED1nfO0dgXn7EolIfYVFJmQW4TiKHmoLCGQm9tx9/EItCylWmVeAH+moDzOCwFqXsS0nVuIKQ6QIDAQAB";
var signType = "RSA2";
var url = "https://openapi.alipay.com/gateway.do";
var client = new DefaultAopClient(url, appID, privateKeyPem, "json", "1.0", signType, publicKey, "utf-8", false);
// client = new DefaultAopClient(url, appID, privateKeyPem, "json", "1.0", signType);
var model = new AlipayTradeWapPayModel();
model.OutTradeNo = Guid.NewGuid().ToString("N");
model.Subject = "购买会员";
model.TotalAmount = "0.01";
model.Body = "SSSSS";
model.PassbackParams = System.Web.HttpUtility.UrlEncode("merchantBizType=3C&merchantBizNo=2016010101111", Encoding.UTF8);
model.TimeExpire = DateTime.Now.AddHours(1).ToString("yyyy-MM-dd HH:mm:ss");
var request = new AlipayTradeWapPayRequest();
request.SetReturnUrl("http://wSDSDS/n");
request.SetNotifyUrl("http://wSDScom/n");
request.SetBizModel(model);
var responseHtml = client.pageExecute<AlipayTradeWapPayResponse>(request);
var form = responseHtml.Body;
}