支付宝上6号星球研究所公众号用的是什么APP

> 博客详情
由于公司的业务关系,我们开通了支付宝的支付功能,但是在使用中会产生提现.
由于是半路接手这个项目,之前的做法已经集成了微信 自动绑定了微信,但是支付宝却还是需要用户自己输入账号,用户体验不佳,经过查找支付宝的相关接口,发现可以通过第三方授权方式来完成支付宝账户的绑定.
下面记录一下整个的过程.由于此部分都在服务端操作,顾对已客户端的操作不做具体阐述.
接入过程共调用支付宝以下接口
alipay.open.auth.sdk.code.get
alipay.system.oauth.token
alipay.user.userinfo.share
1. 服务器端完成接口信息的签名,将字符串返回给客户端,客户端通过对应的sdk与支付宝进行交互
SortedMap&String,String & map = new TreeMap&&();
map.put("apiname","com.alipay.account.auth");
map.put("method","alipay.open.auth.sdk.code.get");
map.put("app_id",
支付宝分配给开发者的应用ID);
map.put("app_name","mc");
map.put("biz_type","openservice");
map.put("pid",签约的支付宝账号对应的支付宝唯一用户号,以2088开头的16位纯数字组成);
map.put("product_id","APP_FAST_LOGIN");
map.put("scope","kuaijie");
map.put("target_id",商户标识该次用户授权请求的ID,该值在商户端应保持唯一);
map.put("auth_type","AUTHACCOUNT");
map.put("sign_type","RSA");
String signStr = AlipaySignature.getSignContent(map);
String sign = AlipaySignature.rsaSign(signStr, 私钥, 编码);
System.out.println(getEncodeSignContent(map) + "&sign=" + URLEncoder.encode(sign, 编码));
其中的 &getEncodeSign方法是将map转为string 并且进行 urlEncode
&将最后获取的内容返回给客户端与支付宝进行交互获得如下内容:
result= "success=true&auth_code=xxxxxxxx&result_code=200&alipay_open_id=xxxxxx&user_id=xxxxxx";
至此,第一步完成.
2.通过刚刚获取的auth_code与支付宝交换accesstoken
AlipayClient alipayClient = new DefaultAlipayClient("/gateway.do", APP_ID,自己设置的私钥,"json","GBK",支付宝公钥,"RSA");
AlipaySystemOauthTokenRequest request = new AlipaySystemOauthTokenRequest();//创建API对应的request类
request.setGrantType("authorization_code");
request.setCode(刚刚获取的auth_code);
AlipaySystemOauthTokenResponse response = alipayClient.execute(request);//通过alipayClient调用API,获得对应的response类
System.out.print(response.getBody());
&运行后获得以下内容:
{"alipay_system_oauth_token_response":{"access_token":"kuaijiexxxxx","alipay_user_id":"xxxxxxxx","expires_in":1209600,"re_expires_in":,"refresh_token":"xxxxxxxx","user_id":"0845"},"sign":"xxxx"}
至此,我们获得了对应的accesstoken,下面进行第三布获取用户的个人信息
3.根据accesstoken获取用户信息
AlipayClient alipayClient = new DefaultAlipayClient("/gateway.do", AlipayConfig.APP_ID,私钥, "json", "UTF-8", 支付宝公钥, "RSA");
//获得初始化的AlipayClient
AlipayUserUserinfoShareRequest request = new AlipayUserUserinfoShareRequest();//创建API对应的request类
AlipayUserUserinfoShareResponse response = alipayClient.execute(request, "xxxxxxx");//在请求方法中传入上一步获得的access_token
System.out.print(response.getBody());
&运行后获得以下内容
"alipay_user_userinfo_share_response": {
"user_type_value": "2",
"is_licence_auth": "F",
"is_certified": "T",
"is_certify_grade_a": "T",
"avatar": "https://b0XXXXXXXXX",
"city": "泰州市",
"is_student_certified": "F",
"area": "海陵区",
"is_bank_auth": "T",
"is_mobile_auth": "T",
"nick_name": "清清",
"alipay_user_id": "xxxxx",
"user_id": "xxxxx",
"province": "江苏省",
"user_status": "T",
"gender": "m",
"is_id_auth": "T"
"sign": "xxxx8MdeFrr20ymvwtnMUPaPAw7JSy8J383LT9FxP5DBEIdh9GKh1GPZ1E="
此处有个问题,对于页面文档中的字段会有很多,但是此处获取的信息会少很多,具体的在等待支付宝的回复.
其中用的都是RSA加密,由于在支付宝后台没有设置RSA2的秘钥,如果使用RSA2请先配置RSA2的秘钥信息.&
哪儿有刷新令牌... 这东西配置了一次就没用了 你方便说一下具体的地方么 我好找找看
支付宝支付
微信扫码支付
打赏金额: ¥
已支付成功
打赏金额: ¥支付宝配置 血泪史 - 简书
支付宝配置 血泪史
前言(俗称扯淡)
第一次配置支付宝,看着文档见一步走一步的配。其中踩的坑可以绕地球一圈,其中辛酸默默领悟。抱怨完,我们来点干货。这里我们将越过申请权限啊,设置公钥等步骤
这里是支付宝SDK的下载页面。建议去官网下载最新的SDK。其中好处不言而喻。
第一步配置framework
下载到的SDK的具体目录如下。
支付宝SDK.png
我们第一步需要的是
?AlipaySDK.bundleAlipaySDK.framework
当然还要添加一些系统库类如下:
系统依赖.png
第二步配置订单信息
在配置订单信息之前,因为要遵循RSA签名规范,所以我们还要把文档里的 libcrypto.a , libssl.a , openssl , Util , Order.h , Order.m 拖入工程。 总目录可以如下
配置签名规范.png
还有添加那俩个.a文件,如图:
添加Lib.png
这个时候,你可能会碰到一个错误。#include &openssl/opensslconf.h& not find这个坑我查了许久,解决方法如下。
Header_Search_Path.png
要调整 Targets -& Build Settings 下的 Header Search Paths。添加如下目录 "$(SRCROOT)/项目名称/文件的绝对地址"
这个时候可以开始正式配置订单信息了。这个时候你可以把,这个AliPay封装起来。
+(void)payOrder:(NSString *)productName productDescription:(NSString *)productDescription productPrice:(double)productPrice successCallBack:(void (^)(NSDictionary *))successCallBack
*商户的唯一的parnter和seller。
*签约后,支付宝会为每个商户分配一个唯一的 parnter 和 seller。
/*============================================================================*/
/*=======================需要填写商户app申请的===================================*/
/*============================================================================*/
//一般这3个东西最好放在服务端
NSString *partner = PARTNER;
NSString *seller = SELLER;
NSString *privateKey = RSA_PRIVATE;
/*============================================================================*/
/*============================================================================*/
/*============================================================================*/
//partner和seller获取失败,提示
if ([partner length] == 0 ||
[seller length] == 0 ||
[privateKey length] == 0)
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"提示"
message:@"缺少partner或者seller或者私钥。"
delegate:self
cancelButtonTitle:@"确定"
otherButtonTitles:nil];
[alert show];
*生成订单信息及签名
//将商品信息赋予AlixPayOrder的成员变量
Order *order = [[Order alloc] init];
order.partner =
order.seller =
order.tradeNO = [self generateTradeNO]; //订单ID(由商家自行制定)
order.productName = productN //商品标题
order.productDescription = productD //商品描述
order.amount = [NSString stringWithFormat:@"%.2f",productPrice]; //商品价格
order.notifyURL =
@"http://notify.msp.hk/notify.htm"; //回调URL
order.service = @"mobile.securitypay.pay";
order.paymentType = @"1";
order.inputCharset = @"utf-8";
order.itBPay = @"30m";
order.showUrl = @"";
//应用注册scheme,在AlixPayDemo-Info.plist定义URL types
NSString *appScheme = @"alipayDemo";
//将商品信息拼接成字符串
NSString *orderSpec = [order description];
NSLog(@"orderSpec = %@",orderSpec);
//获取私钥并将商户信息签名,外部商户可以根据情况存放私钥和签名,只需要遵循RSA签名规范,并将签名字符串base64编码和UrlEncode
id&DataSigner& signer = CreateRSADataSigner(privateKey);
NSString *signedString = [signer signString:orderSpec];
//将签名成功字符串格式化为订单字符串,请严格按照该格式
NSString *orderString =
if (signedString != nil) {
orderString = [NSString stringWithFormat:@"%@&sign=\"%@\"&sign_type=\"%@\"",
orderSpec, signedString, @"RSA"];
[[AlipaySDK defaultService] payOrder:orderString fromScheme:appScheme callback:^(NSDictionary *resultDic) {
if (successCallBack)
successCallBack(resultDic);
+ (NSString *)generateTradeNO
static int kNumber = 15;
NSString *sourceStr = @"ABCDEFGHIJKLMNOPQRSTUVWXYZ";
NSMutableString *resultStr = [[NSMutableString alloc] init];
srand(time(0));
for (int i = 0; i & kN i++)
unsigned index = rand() % [sourceStr length];
NSString *oneStr = [sourceStr substringWithRange:NSMakeRange(index, 1)];
[resultStr appendString:oneStr];
return resultS
配置URL Type
还记得刚刚配置的订单信息吗?还记得那个appScheme吗?这个时候应该配置一个URL Schemes为appScheme
URL Type.png
在AppDelegate中的配置
应该实现AppDelegate的如下方法
- (BOOL)application:(UIApplication *)applicatio openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
//如果极简开发包不可用,会跳转支付宝钱包进行支付,需要将支付宝钱包的支付结果回传给开 发包
if ([url.host isEqualToString:@"safepay"])
[[AlipaySDK defaultService] processOrderWithPaymentResult:url
standbyCallback:^(NSDictionary *resultDic) {
//【由于在跳转支付宝客户端支付的过程中,商户 app 在后台很可能被系统 kill 了,所以 pay 接口的 callback 就会失效,请商户对 standbyCallback 返回的回调结果进行处理,就是在这个方 法里面处理跟 callback 一样的逻辑】
NSLog(@"result = %@",resultDic);
if ([url.host isEqualToString:@"platformapi"])//支付宝钱包快登授权返回 authCode
[[AlipaySDK defaultService] processAuthResult:url standbyCallback:^(NSDictionary *resultDic) {
NSLog(@"result = %@",resultDic);
为了适配 iOS9.0 中的 App Transport Security(ATS)对 http 的限制,这里需要对 支付宝的请求地址
做例外,在 app 对应的 info.list 中添加如下配置 (文中以 XML 格式描述)
&key&NSAppTransportSecurity&/key&
&key&NSExceptionDomains&/key&
&key&&/key&
&!--Include to allow subdomains--& &key&NSIncludesSubdomains&/key&
&!--Include to allow insecure HTTP requests--& &key&NSTemporaryExceptionAllowsInsecureHTTPLoads&/key& &true/&
&!--Include to specify minimum TLS version--&
&key&NSTemporaryExceptionMinimumTLSVersion&/key&
&string&TLSv1.1&/string&
文档和Demo写的还算清楚,但是自己配起来还是要下一番功夫。所以要多多研究。
iOS开发,Golang爱好者。当前位置:
&&&支付宝生活号是什么?支付宝生活号有什么用?
支付宝生活号是什么?支付宝生活号有什么用?
前一段时间校园日记和白领日记圈子可谓大火了一把,至于事件的来龙去脉大家可以去网上搜索一下。对于社交领域支付宝可谓一直没有放弃。近日小编关注了不少支付宝生活号的消息,对此也去专门研究了一些这方面的信息,对于自媒体或商家、企业来说进驻支付宝生活号也可以带来不少福利。那么,支付宝生活号是什么以及支付宝生活号有什么用呢?下面小编带来详情解答。
支付宝生活号是什么?
支付宝生活号是支付宝为企业、组织和个人提供的直接触达用户的服务平台,入驻商户可以通过此平台对用户进行信息推送、交易场景打通和会员服务管理。
简单的来说,可以把支付宝生活号理解为公众号,开通之后的用户可以发送一些文章、消息给用户。其实之前的支付宝服务窗升级之后就演变成了生活号,也就说说生活号是服务窗的升级版。
支付宝生活号有什么用?
支付宝生活号拥有庞大的消费者群体,在每个支付宝账户的背后,有着信用卡、银行卡、余额宝、余额、消费者的线上消费习惯等,他们需要您来提供优质的商品和服务。
对于个人用户而言,支付宝生活号可以作为自己的一个自媒体平台,您可以在上面分享自己的兴趣爱好,让更多网友关注自己,找到更多志同道合朋友。
对于媒体或者企业来说,可以通过支付宝生活号吸引粉丝,服务消费者,提升品牌影响。
简而言之,支付宝生活号与微信公众号类似。如果你对支付宝生活号感兴趣,建议尽早申请注册,因为一些好的用户名很容易被抢先注册了。
更多有关支付宝生活号咨询或开通商户收款码请加入下方的支付宝交流群。
Ta的热门文章
2人申请iWALK超薄充电宝
147人申请比巴儿童智能早教机器人
150人申请全球康QQK-001E三效合一空气净化器
308人申请正泰智能监控-天狼星系列
1664人申请iwalk口袋宝移动电源
¥1499【健腹器】SLENDERTONE健腹器:型动人生 大有不同
¥109【ROMOSS】罗马仕(ROMOSS)太阳神移动电源/充电宝 能量随时就位
¥299【NOERDEN智能手表S1】NOERDEN 智能手表S1:时尚与科技的完美结合
¥1099【乐歌M3S升降台】乐歌M3S升降台:久坐伤身 站站就好了
¥249熊大大: 石墨烯快充充电宝 自带充电头
你还可以分享到以下地方,获得10蘑菇参与!
免费试用:
微信添加"亿智蘑菇"获取我们的服务
微博添加"亿智蘑菇"获取我们的服务
下次自动登录
使用第三方登录

我要回帖

更多关于 催眠研究所番号全集 的文章

 

随机推荐