简介

随着移动支付的普及,越来越多的App采用第三发支付,在这里我们以支付宝为例,做一个快速集成!

一、Android快速实现支付宝支付

1、首先,我们需要前往支付宝开放平台,申请我们的支付功能:https://open.alipay.com/platform/home.htm

支付宝首页

这里 有两个需要注意的地方 一个是管理中心,另外一个是我的支付宝

管理中心:

管理中心

管理中心 我们需要 创建一个应用 提交给支付宝进行审核。

我的支付宝:

在这里我的支付宝 是一个商户版,一会我们会需要在这里处理一下相关的 密匙

简单介绍完了,那么我们开始进入代码接入流程

一、我们需要到支付宝的sdk地址下载相关的sdk,这个不用我介绍吧

https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.P0wrvI&treeId=54&articleId=104509&docType=1

SDK下载后 长这样哦:

这里我们需要关注的是:客户端和OpenSSL  解压客户端里面的 Android压缩包 打开看看-_-# eclipse...

不过不影响我们把它变成 studio工程

导入到 studio以后 会发现,真的没什么东西,好简单。

下面我们看看内部代码中比较重要的地方:

商户ID、收款账号、pkcs8的私钥、公钥:这里 公钥可不填

那么商户是什么?

PID在这里

收款账号:收款账号就是该支付宝账号,比如 xxxx@qq.com  等等

这里最重要的就是公钥 和 私钥 的配置了 ,公钥 就是支付宝 所需要的密钥,私钥是我们客户端所需要的密钥。首先我们来看看 公钥如何生成。

当前页面 填写好支付宝密码  和 手机验证码我们会进入以下界面:

注意看 里面的 RSA 加密 ,我已经添加过 所以是查看 如果没添加过 那么这里显示的是添加

好了 我们这个公钥 从那里来呢?回到我们下载的SDK 目录中 打开 OpenSSL 你会看到一个 生成命令的  TXT文档:

RSA密钥生成命令

生成RSA私钥

openssl>genrsa -out rsa_private_key.pem 1024

生成RSA公钥

openssl>rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem

将RSA私钥转换成PKCS8格式

openssl>pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt

注意:“>”符号后面的才是需要输入的命令。

如果在mac下 那么 可以直接使用 openssl 如果是win 下 那么 需要  openssl路径下找到bin文件夹进入以后双击 openssl.exe 就ok了

首先进入 openssl目录

生成后 我们可以通过 txt等工具 打开我们的 公钥

在这里 我们填写到支付宝的公钥 是 排除 -----BEGIN PUBLIC KEY-----和 -----END PUBLIC KEY-----以及制表符的 我们简单出来下效果

不可以有空格和和制表符号 将串嘛 复制到 刚刚我们提到的 合作伙伴秘钥中。

同理:继续改造我们的 私钥 将 私钥 放置到我们的 代码中。

配置完成了 ,那么另外需要注意的地方 就是  getOrderInfo()方法了

见到就介绍到这里,开始集成你的支付宝吧(☆_☆)

感谢    帅气的欧巴(简书作者)

原文链接:http://www.jianshu.com/p/feb5923c6728

二、Android快速实现微信支付

如果你已经成功集成了微信登录和分享,那么此文将助你快速集成微信支付,此文基于微信支付SDK3.1.1,也就是目前为止最新的SDK

1)微信官方的集成文档

2)微信官方资源下载

资源下载

不过我相信,即便你看了微信的官方文档,你依然不知道微信支付怎么集成,因为微信支付的官方文档简直太.....

如果你已经准备好了资源包,接下来正式开始集成

我们需要的资源其实有以下几样,在开始前,就这些转备好吧

1)微信支付的APPID

2)微信支付依赖包 >>>libammsdk.jar

3)一个Activity类 >>>WXPayEntryActivity.java

这里需要特别说明一下,这个Activity类,直接从上下载到的范例代码中copy到自己的工程中即可,这个页面是在你调起微信支付完成支付(或取消或失败)后,再回到你的App时会调用的一个页面。页面的布局可以是你自定义的布局,直接放图讲解:

先说一下这个类的路径,网上也有一大堆介绍了,我直接放图,路径一定,而且必须是这样的:

WXPayEntryActivity 的路径

在这个类中需要注意的地方有两个:

1、这个类中的布局是可以自定义的,如果你不需要展示什么布局,而是要跳转页面,把这段代码删除即可

回调页面的布局

2、回调结果的处理,下面是官方的处理方式,直接给了一个dialog,很多人会摸不着头脑,如果你不需要这个dialog,直接删除就好了,不需要把官方demo中的布局和资源都复制过来

官方的处理方式

下面是我自定义的处理方式,比较简单,就是土司显示了一下支付结果,如果你需要支付成功后跳转,那么直接在这里startActivity即可,别忘记最后要将这个页面finish()

自定义的处理方式

这个类中的其余的回调方法,我们都不需要去操作

然后我们就可以开始支付了,支付很简单,真的很简单

参数列表

这是微信支付需要我们携带的参数,对于新人来说,可能比较困惑的是我怎么生成这些参数呢?其实这些参数都是服务器返回给我们的,APPID我们可以自己保存在本地一份,其余的都是服务器返回给我们的,大概介绍一下流程:

发起支付的流程,提交订单的时候的参数根据项目需要配置

最后,服务器返回给我们微信支付的参数后,我们就可以愉快的支付了,这里是关键一步,注意!!

发起支付的关键步骤

至此我们已经可以调起微信支付页面来支付了

最后还有一个需要注意的是,很多人被这一步坑了,就是关于微信开放平台签名的问题。其实只要你手机上的程序的签名和你在微信平台登记的签名一致即可,无论是debug版本,还是release版本

微信开放平台签名

为了方便测试,我暂时填写的是我debug的签名,当然这个是可以改的,修改后会有审核期,几天就不知道,有时会很快,当应用快上线之前,记得去改为正式的签名即可,修改次数我也不知道了,可以自行百度一下!

Android 支付宝以及微信支付快速接入流程的更多相关文章

  1. Android开发——支付宝和微信支付快速接入流程

    一.Android快速实现支付宝支付 1.首先,我们需要前往支付宝开放平台,申请我们的支付功能:https://open.alipay.com/platform/home.htm 支付宝首页 这里 有 ...

  2. xddpay.com 个人支付接口接入流程

    作为一个独立开发者产品需要支付接口是挺麻烦的,支付宝微信都不对个人开放,注册公司维护成本太高,市面上各种收款工具要么手续费太高,要么到账很慢,体验很不好. 看到 「小叮当支付」 这个收款工具,挺有意思 ...

  3. ThinkPHP 提供Auth 权限管理、支付宝、微信支付、阿里oss、友盟推送、融云即时通讯、云通讯短信、Email、Excel、PDF 等等

    多功能 THinkPHP 开源框架 项目简介:使用 THinkPHP 开发项目的过程中把一些常用的功能或者第三方 sdk 整合好,开源供亲们参考,如 Auth 权限管理.支付宝.微信支付.阿里oss. ...

  4. tp5支付宝和微信支付

    一.生成二维码给用户进行扫码支付 1.先在vendor目录下加入支付宝和微信支付的引用 2.付款处调用 /** * 订单支付接口 * * @api {post} {:url('order/pay')} ...

  5. Android接入支付宝和微信支付

    然后把下载下来的aar包,放到项目目录下面的libs目录下,通过下面的gradle依赖进来 // 支付宝 SDK AAR 包所需的配置compile(name: 'alipaySdk-15.6.0-2 ...

  6. 解决新版Android studio导入微信支付和支付宝官方Demo的问题

    最近项目要用到支付宝支付和微信支付,本想使用第三方支付框架ping++或者BeeCloud的,但是由于他们的收费问题,让我望而却步,而且公司给了相应的公钥.私钥和APPID等,所以就用下开放平台的呗. ...

  7. Android app 第三方微信支付接入详解

    微信支付做了好几遍了,都没有出现什么棘手的问题,下面一一为大家分享一下,欢迎吐槽. 还是老样子,接入微信的支付要第一步添加微信支付官方的包libammsdk.jar 首先就处理略坑的一个问题,app应 ...

  8. .net core 支付宝,微信支付 二

    源码: https://github.com/aspros-luo/Qwerty.Payment/tree/develop 今天开始微信支付 微信支付坑比较多,支付流程也不太一样,微信支付需要先生成预 ...

  9. 简聊iOS支付集成(支付宝和微信支付)

    一.支付集成是什么 1.现在大部分app都有快捷支付功能,支付集成将第三方支付平台集成到自己的项目中,能够完成自己项目中的支付功能, 二.支付集成的使用 <1>.支付宝: 下载SDK和De ...

随机推荐

  1. AngularJs基础总结(1.4版本)

    注明:现在用的是最新的1系列1.4版本. 一.细节方面入手: 1,ng-app根节点,一般别写在html上面,最多也就写在body就行了,因为我们难免会忘记这个写在哪里,然后复制一些案例代码却总报错. ...

  2. Git基本常用命令

    Git基本常用命令如下: mkdir: XX (创建一个空目录 XX指目录名) pwd: 显示当前目录的路径. git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件. git ...

  3. PHP 如何显示大数字,防止显示为 科学计数法 形式

    PHP 数字超过一定长度时,会自动转换为 科学计数法 的形式,如 1.2345678912346E+16: 如何 避免转换,让它原样展示呢? 不过,可以用PHP函数 number_format() 来 ...

  4. tcl实现http请求

    package require "http" proc errLog args { puts $args } proc SendHttp args { global token s ...

  5. ASP.NET后台输出js大全,页面顶部、form表单中前面与后面、和UpdatePanel(ScriptManager、AJAX)输出JS

    Response.Write 与   Page.ClientScript.RegisterStartupScript 与 Page.ClientScript.RegisterClientScriptB ...

  6. 扩展RBAC用户角色权限设计方案

    RBAC(Role-Based Access Control,基于角色的访问控制),就是用户通过角色与权限进行关联.简单地说,一个用户拥有若干角色,每一个角色拥有若干权限.这样,就构造成“用户-角色- ...

  7. putty如何使用

    使用putty连接管理centos 1 双击putty.exe2 和linux命令行一样了 使用psftp上传和下载 cd d:/psftppsftp open 10.0.0.9 输入用户密码root ...

  8. 初识Flask

    首先在学习flask的前提,我是使用了很久的django和tornado,现在在写总结也是本着工作后方便使用flask 少点东西,对flask的介绍和优点总结 1.安装 pip install fla ...

  9. 7.3---直线是否相交(CC150)

    注意:就算斜率相等,但是,如果截距也相等,那么是属于相交,所以要特殊判断. public class CrossLine { public boolean checkCrossLine(double ...

  10. 8.eclipse调试smali

    一.重打开包APK 1.apktool解包文件 apktool d -d XXX.apk 这里注意使用-d参数,生成的smali文件才是以java结尾的,才能被eclipse识别 2.找到Androi ...