文档章节

项目实训-千寻-支付宝服务申请与使用

 手指点点-千寻
发布于 2017/06/04 20:55
字数 735
阅读 2
收藏 0

1.服务申请
支付宝服务的申请还是有些麻烦的,幸好我们有提前准备,但是依旧持续了大约1个月的时间。各种审核,各种验证,甚至各种实名制,前前后后麻烦死了。这段历程就不提了,诸位要是想使用支付宝的商户接口,一定要提前准备啊。
附支付宝开放平台网址:https://open.alipay.com
支付宝商户版网址:https://shanghu.alipay.com
2.服务端部署
支付宝的服务端集成代码,就相对容易一些了,主要就是计算签名,然后返回给客户端。签名的计算方法也很简单,官方也给出了示例。这里附上核心计算方法,只要把其中的私钥换成在支付宝官方申请的私钥,就可以使用了。
当然,说简单,是因为我们没有使用支付结果回调接口。如果要考虑安全性的话,后期我们会考虑添加。

//加密规则  
private static final String ALGORITHM = "RSA";  
private static final String SIGN_ALGORITHMS = "SHA1WithRSA";  
private static final String DEFAULT_CHARSET = "UTF-8";  
// 私钥,pkcs8格式  
public static final String RSA_PRIVATE = "";  
//String content来自安卓端的签名内容  
public static String getAlipaySign(String content) {  
    try {  
        PKCS8EncodedKeySpec priPKCS8 = new PKCS8EncodedKeySpec(  
                Base64.decode(RSA_PRIVATE));  
        KeyFactory keyf = KeyFactory.getInstance(ALGORITHM);  
        PrivateKey priKey = keyf.generatePrivate(priPKCS8);  
        java.security.Signature signature = java.security.Signature  
                .getInstance(SIGN_ALGORITHMS);  
        signature.initSign(priKey);  
        signature.update(content.getBytes(DEFAULT_CHARSET));  
        byte[] signed = signature.sign();  
        return Base64.encode(signed);  
    } catch (Exception e) {  
        e.printStackTrace();  
    }  
    return "0";//错误标志  
}

3.安卓端配置
安卓端的处理就更加容易了,导入好jar包,剩下的工作就不多了。当然,虽然这么说,但是我们实际使用时,还是遇到了不少问题的。其中最大的问题就是,服务端返回的签名有问题。以下是安卓端的处理流程:

//构造支付信息  
private String build(String service_id, String service_name,  
                     String service_detail, String service_price) {  
    //service_price判断与处理,此处就用string,用double-try即可  
    // 商户网站唯一订单号  
    orderInfo += "&out_trade_no=" + "\"" + service_id + "\"";  
    // 商品名称  
    orderInfo += "&subject=" + "\"" + service_name + "\"";  
    // 商品详情  
    orderInfo += "&body=" + "\"" + service_detail + "\"";  
    // 商品金额  
    orderInfo += "&total_fee=" + "\"" + service_price + "\"";  
    return orderInfo;  
}  
  
//后台请求签名  
@Override  
protected String doInBackground(Void... params) {  
    // 构造PayTask 对象  
    PayTask alipay = new PayTask(activity);  
    // 调用支付接口,获取支付结果  
    String result = alipay.pay(payInfo, true);  
    return result;  
}
//拿到签名后,在安卓端发起支付请求  
@Override  
protected void onPostExecute(String result) {//result为签名  
    AlipayResult alipayResult = new AlipayResult(result);//其中会处理null  
    String resultStatus = alipayResult.getResultStatus();  
    //判断resultStatus 为“9000”则代表支付成功  
    //后续处理……  
}

4.调用测试
其实,测试一直是包含在整个配置的过程中的。还有,我们测试,每次都是一分钱一分钱的进行的,测试了好几毛钱呢。整体来说,效果还是不错的。不过有几次,需要用户进行登录,我们也没弄明白为什么,感觉可能是签名有问题吧,没有深入研究。


附录:支付宝官方文档:
https://openhome.alipay.com/developmentDocument.htm

© 著作权归作者所有

共有 人打赏支持
粉丝 0
博文 14
码字总数 9640
作品 0
济南
私信 提问
PHP入门培训哪家机构教的好?就业靠谱么?

PHP 是一种 HTML内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛地运用。因此,PHP程序员也是同类编程语言中较多的,而PHP的市场需求量也越来...

PHP那些事
2017/12/19
0
0
淘宝相似物品推荐系统的实训对于大数据求学者的帮助

IT业人才需求缺口非常大,但并意味着每一个进入IT行业的从业者都能够找到理想的好工作。通过招聘信息、人才招聘市场的调查来看,工作经验依然是制约从业者的一个重要因素。而工作经验对于大数...

hainiuxy
07/10
0
0
为电子商务网站添加在线支付功能

网页制作Webjx文章简介:为了方便买家们在网站购物时能够在线支付货款并有效提升网站档次,作为购物网站的站长有必要给网站增添在线支付功能,这也是商务网站发展的大势所趋。拥有在线支付功...

james_laughing
2015/01/15
0
0
云计算--培训课程大纲

第一阶段 Linux系统管理实战 01 打开计算机世界的大门 行业分析、计算机基础、 Windows server基础、网络基础 02 Linux基本管理 Linux安装、Linux常规命令、文本编辑器 03 Linux软件与文件系...

wy125629
2017/10/11
0
0
微信和支付宝支付的二次封装--JPay

JPay 对微信App支付、支付宝App支付的二次封装,对外提供一个相对简单的接口以及支付结果的回调 使用方法 1、引入 2. Android Manifest配置 2.1权限声明 2.2注册activityapplication节点添加如...

Javen
2017/04/09
9.3K
4

没有更多内容

加载失败,请刷新页面

加载更多

js垃圾回收机制和引起内存泄漏的操作

JS的垃圾回收机制了解吗? Js具有自动垃圾回收机制。垃圾收集器会按照固定的时间间隔周期性的执行。 JS中最常见的垃圾回收方式是标记清除。 工作原理:是当变量进入环境时,将这个变量标记为“...

Jack088
昨天
17
0
大数据教程(10.1)倒排索引建立

前面博主介绍了sql中join功能的大数据实现,本节将继续为小伙伴们分享倒排索引的建立。 一、需求 在很多项目中,我们需要对我们的文档建立索引(如:论坛帖子);我们需要记录某个词在各个文...

em_aaron
昨天
27
0
"errcode": 41001, "errmsg": "access_token missing hint: [w.ILza05728877!]"

Postman获取微信小程序码的时候报错, errcode: 41001, errmsg: access_token missing hint 查看小程序开发api指南,原来access_token是直接当作parameter的(写在url之后),scene参数一定要...

两广总督bogang
昨天
31
0
MYSQL索引

索引的作用 索引类似书籍目录,查找数据,先查找目录,定位页码 性能影响 索引能大大减少查询数据时需要扫描的数据量,提高查询速度, 避免排序和使用临时表 将随机I/O变顺序I/O 降低写速度,占用磁...

关元
昨天
15
0
撬动世界的支点——《引爆点》读书笔记2900字优秀范文

撬动世界的支点——《引爆点》读书笔记2900字优秀范文: 作者:挽弓如月。因为加入火种协会的读书活动,最近我连续阅读了两本论述流行的大作,格拉德威尔的《引爆点》和乔纳伯杰的《疯传》。...

原创小博客
昨天
35
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部