公司实现一个让会员输入支付宝号,自动发小额现金给对方的功能:
//1.https://openauth.alipay.com/oauth2/authorize.htm?client_id=*****&scope=p 公司到这个地址完成支付授权
//2.使用支付授权返回的code作为 authToken ,获得令牌值
//Aop.Api.IAopClient client = new Aop.Api.DefaultAopClient(serverUrl, appId, privateKeyPem);
//Aop.Api.Request.AlipaySystemOauthTokenRequest req = new Aop.Api.Request.AlipaySystemOauthTokenRequest();
//req.GrantType = "authorization_code";
//req.Code = "*****";
//Aop.Api.Response.AlipaySystemOauthTokenResponse res = client.Execute(req, authToken);
//3.创建冻结订单 ,使用2获得的令牌
//Aop.Api.IAopClient client = new Aop.Api.DefaultAopClient(serverUrl, appId, privateKeyPem, "xml");
//Aop.Api.Request.AlipayMicropayOrderFreezeRequest req = new Aop.Api.Request.AlipayMicropayOrderFreezeRequest();
//req.Amount = "1";
//req.Memo = "红包";
//req.MerchantOrderNo = "*****";
//req.PayConfirm = "NO_CONFIRM";
//req.ExpireTime = DateTime.Now.AddHours(48);
//Aop.Api.Response.AlipayMicropayOrderFreezeResponse res = client.Execute(req, "******");
//4.根据3创建冻结订单返回的订单号,生成支付url,给公司进去支付冻结的钱
//IAopClient client = new DefaultAopClient(serverUrl, appId, privateKeyPem, format);
//AlipayMicropayOrderFreezepayurlGetRequest req = new AlipayMicropayOrderFreezepayurlGetRequest();
//req.AlipayOrderNo = "****";
//AlipayMicropayOrderFreezepayurlGetResponse res = client.Execute(req, "****");
//5.获得对方的支付宝ID
//IAopClient client = new DefaultAopClient(serverUrl, appId, privateKeyPem, format);
//AlipayUserGetRequest req = new AlipayUserGetRequest();
//req.Fields = "alipay_user_id,real_name";
//AlipayUserGetResponse res = client.Execute(req, "****");
//6.输入冻结订单ID,自定义的不重复外部订单ID,对方支付宝ID,完成支付!
IAopClient client = new DefaultAopClient(serverUrl, appId, privateKeyPem, format);
AlipayMicropayOrderDirectPayRequest req = new AlipayMicropayOrderDirectPayRequest();
req.Amount = "0.01";
req.ReceiveUserId = "***";
req.Memo = "单笔直接支付测试";
req.TransferOutOrderNo = "****";
req.AlipayOrderNo = "*****";
AlipayMicropayOrderDirectPayResponse res = client.Execute(req, "*****");