支付宝 AOP-SDK

集成支付宝付款

由于我们现在要集成支付宝支付,花了几个小时在公钥上面了,在支付宝客服的大力帮助下,终于解决了这个问题

我们在支付宝里面上传的公钥,是应用公钥,而不是支付宝公钥,在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;

        }
要进行支付宝身份验证,你可以使用支付宝开放平台提供的 SDK 来实现。以下是使用 PHP 进行支付宝身份验证的简单示例代码: ```php <?php // 引入 SDK 文件 require_once 'path/to/alipay-sdk-PHP/AopSdk.php'; // 初始化 AopClient $aop = new AopClient(); $aop->gatewayUrl = 'https://openapi.alipay.com/gateway.do'; $aop->appId = 'YOUR_APP_ID'; $aop->rsaPrivateKey = 'YOUR_RSA_PRIVATE_KEY'; $aop->format = 'json'; $aop->charset = 'UTF-8'; $aop->signType = 'RSA2'; $aop->alipayrsaPublicKey = 'ALIPAY_RSA_PUBLIC_KEY'; // 构造请求参数 $request = new AlipaySystemOauthTokenRequest(); $request->setGrantType("authorization_code"); $request->setCode("YOUR_AUTHORIZATION_CODE"); // 发起请求 $response = $aop->execute($request); // 处理返回结果 if ($response && $response->code == "10000") { // 身份验证成功,处理业务逻辑 $accessToken = $response->access_token; $userId = $response->user_id; // 其他操作... } else { // 身份验证失败,处理错误信息 echo "身份验证失败:" . $response->msg; } ?> ``` 以上代码中,你需要将 `YOUR_APP_ID`、`YOUR_RSA_PRIVATE_KEY`、`ALIPAY_RSA_PUBLIC_KEY` 和 `YOUR_AUTHORIZATION_CODE` 替换为你自己的相关值。 请注意,这只是一个基本示例,实际应用可能需要根据具体的业务需求进行修改和完善。你还需要在支付宝开放平台注册应用并获取相应的密钥和权限。 此外,为了保护你的隐私和安全,建议将敏感信息(如密钥)存储在安全的地方,而不是直接写在代码中。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值