Android 支付宝以及微信支付快速接入流程

简介

随着移动支付的普及,越来越多的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在这里

收款账号:收款账号就是该支付宝账号,比如 [email protected]  等等

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

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

注意看 里面的 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的签名,当然这个是可以改的,修改后会有审核期,几天就不知道,有时会很快,当应用快上线之前,记得去改为正式的签名即可,修改次数我也不知道了,可以自行百度一下!

修改签名

时间: 2024-12-30 02:57:06

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

[支付宝]手机网站支付快速接入

参考开发文档:https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.FjX7f6&treeId=193&articleId=105285&docType=1#s0 文档中其它地方还好理解,倒是第三步有点容易让人误会,下面是第三步中的一张表,红色字体解释了让人容易误会的地方: 配置通用接入参数: 参数名称 参数说明 APP_ID 开放平台应用的APPID,详见创建应用并获取APPID,应用审核上线后生成的一个ap

搞定支付接口—支付宝即时到账支付接口详细流程和代码

搞定支付接口(一) 支付宝即时到账支付接口详细流程和java代码 为避免你们和我一样被支付接口搞得焦头烂额,写一个从申请开始到能收到钱为止的详细教程,实际上各个语言都可以用来集成支付接口,我用java来举例. 正所谓知己知彼,百战不殆.首先,我们来看一看支付宝平台给我们的说明. 打开支付宝 选择商家平台 选择电脑支付 进行如上操作后,来到如下图所示的页面 没有商家支付宝账号的需要注册,需要营业执照,经营信息,网址信息,联系人等等数据(图里说的很详细) 服务开通后,我们就可以集成了,我们点击如何集

微信支付的开发流程

最近在公司做了微信支付的接入,这里总结下开发的一些经验 注意,我使用的是微信开放平台的支付,与手机app相关,而与公众账号无关.   微信支付的主要操作流程 1.用户浏览app,选定商品然后下单. 2.服务器处理订单逻辑,开始正式发起支付流程 3.首先,后台服务器向weixin服务器发起请求,获取一个token. 4.后台服务器拿到token,使用和其他参数加密,再次向weixin服务器发起请求,获取一个预支付prepayid 5.后台服务器将该prepayid返回给app客户端 6.app调用

支付宝和微信支付的各种填坑

填坑 支付宝填坑是每个接入支付宝必经之路,下面是我接入支付宝遇到的问题汇总,希望大家在接入的路上少一点弯路 问题1. Util/base64.h:63:21: Cannot find interface declaration for ‘NSObject’, superclass of ‘Base64’ 解决办法: 这是base64.h中没有加入#import 系统库文件导致,这个错误报错方法直接想喷它一脸.报错方式太恶心. 1 2 解决办法: 这是base64.h中没有加入#import  系

10分钟搞定支付宝和微信支付 的 各种填坑

填坑   支付宝填坑是每个接入支付宝必经之路,下面是我接入支付宝遇到的问题汇总,希望大家在接入的路上少一点弯路 问题1. Util/base64.h:63:21: Cannot find interface declaration for ‘NSObject’, superclass of ‘Base64’ 解决办法: 这是base64.h中没有加入#import  系统库文件导致,这个错误报错方法直接想喷它一脸.报错方式太恶心. 问题2.截图告知你什么问题 解决办法: 这个问题可以同上的,心情

10分钟搞定支付宝和微信支付的各种填坑

支付宝填坑是每个接入支付宝必经之路,下面是我接入支付宝遇到的问题汇总,希望大家在接入的路上少一点弯路. 问题1. Util/base64.h:63:21: Cannot find interface declaration for ‘NSObject’, superclass of ‘Base64’ 解决办法: 这是base64.h中没有加入#import 系统库文件导致,这个错误报错方法直接想喷它一脸.报错方式太恶心. 问题2.截图告知你什么问题 解决办法: 这个问题可以同上的,心情好,截图再

支付宝和微信支付程序-附源码下载

1.同时支持支付宝.微信支付的两种支付模式:刷卡支付 扫码支付:只要把相关支付参数配置到程序里面,就可以正常使用支付:2.可以对接到不同的行业系统里面去,比如餐饮酒店系统,医院系统等需要支付的系统3.开发环境为Visual Studio 2010,无数据库 源码下载点这里 原文地址:https://www.cnblogs.com/starksoft/p/11029393.html

iOS 支付宝、微信支付的集成记录

一.前言 最近项目需求需要集成支付宝和微信支付,以前没有接触过,这次正好乘着这次机会了解下. 总的来说,客户端的工作不多,无非就是就是集成SDK,然后获取后端传来的参数,吊起支付,回调处理等. 先附上官方文档链接: 支付宝:https://docs.open.alipay.com/204 微信支付:https://pay.weixin.qq.com/wiki/doc/api/app/app.php?chapter=8_1 废话不多说,开始吧. 二.支付宝 1.先集成SDK pod 'Alipay

APP怎样接入支付宝或微信支付?

转自  https://www.zhihu.com/question/27246921 作者:Wang Fei链接:https://www.zhihu.com/question/27246921/answer/42729752来源:知乎著作权归作者所有,转载请联系作者获得授权. 1.首先,你要有一间五证齐全的公司 2.然后用这些材料,去支付宝注册一个商家账户(审核周期大概5个工作日),或者微信的开发者账号(审核周期大概5个工作日,300元费用),或者银联.paypal(这俩个我不太熟悉) 3.然