移动支付(支付宝支付2016最新接入详解)

接入流程

一:公司开通支付宝商户号

二:注册登录蚂蚁金服开放平台创建应用

三:项目集成支付宝SDK

一:公司开通支付宝商户号

1 注册商户号:https://mobiless.alipay.com/ 可以把链接发给人事,让她弄一下,需要提交的资料也只能由人事来弄。

二:注册登录蚂蚁金服开放平台创建应用

蚂蚁金服开放平台:https://open.alipay.com/platform/home.htm

创建成功并上线是如下面:

1 创建应用

2 应用环境设置

应用公钥配置 点击支付宝的秘钥生成器

AES秘钥点击生成即可

上线和添加支付功能

选择APP支付,确定后会提示需要签约,进行签约就是了

点击上线,签约涉及到公司信息的就交给人事去弄吧

三:项目中集成支付宝SDK

先上文档:

https://doc.open.alipay.com/docs/doc.htm?spm=a219a.7629140.0.0.DjzzBP&treeId=193&articleId=105296&docType=1

按着文档一步一步的做就行了

修改Manifest

在商户应用工程的AndroidManifest.xml文件里面添加声明:

<activity
            android:name="com.alipay.sdk.app.H5PayActivity"
            android:configChanges="orientation|keyboardHidden|navigation"
            android:exported="false"
            android:screenOrientation="behind" >
</activity>
<activity
            android:name="com.alipay.sdk.auth.AuthActivity"
            android:configChanges="orientation|keyboardHidden|navigation"
            android:exported="false"
            android:screenOrientation="behind" >
 </activity>

和权限声明:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

添加混淆规则

在商户应用工程的proguard-project.txt里添加以下相关规则:

-libraryjars libs/alipaySDK-20150602.jar

-keep class com.alipay.android.app.IAlixPay{*;}
-keep class com.alipay.android.app.IAlixPay$Stub{*;}
-keep class com.alipay.android.app.IRemoteServiceCallback{*;}
-keep class com.alipay.android.app.IRemoteServiceCallback$Stub{*;}
-keep class com.alipay.sdk.app.PayTask{ public *;}
-keep class com.alipay.sdk.app.AuthTask{ public *;}

至此,开发包开发资源导入完成。

支付接口调用

需要在新线程中调用支付接口。(可参考alipay_demo实现)

获取PayTask支付对象调用支付(支付行为需要在独立的非ui线程中执行),代码示例:

final String orderInfo = info;   // 订单信息

        Runnable payRunnable = new Runnable() {

            @Override
            public void run() {
                PayTask alipay = new PayTask(DemoActivity.this);
                String result = alipay.payV2(orderInfo,true);

                Message msg = new Message();
                msg.what = SDK_PAY_FLAG;
                msg.obj = result;
                mHandler.sendMessage(msg);
            }
        };
         // 必须异步调用
        Thread payThread = new Thread(payRunnable);
        payThread.start();

支付结果获取和处理

调用pay方法支付后,将通过2种途径获得支付结果:

同步返回

商户应用客户端通过当前调用支付的Activity的Handler对象,通过它的回调函数获取支付结果。(可参考alipay_demo实现)

代码示例:

private Handler mHandler = new Handler() {
        public void handleMessage(Message msg) {
            Result result = new Result((String) msg.obj);
            Toast.makeText(DemoActivity.this, result.getResult(),
                        Toast.LENGTH_LONG).show();
        };
    };

异步通知

商户需要提供一个http协议的接口,包含在请求支付的入参中,其key对应notify_url。支付宝服务器在支付完成后,会以POST方式调用notify_url传输数据。

获取当前开发包版本号

调用PayTask对象的getVersion()方法查询。

代码示例:

PayTask payTask = new PayTask(activity);
String version = payTask.getVersion();

在支付类添加

APPID

PID

商户私钥,pkcs8格式(在支付宝商户里面配置一下)

这样运行Demo就可以成功调用支付宝了,是不是感觉挺简单的呢,这是博主第二次做个移动支付了,第一次做的是用第三方SDK Ping++接入的,一次性集成了支付宝和微信支付,跳槽换了一家公司,虽然第三方SDK接入支付简单,Ping++号称只需一行代码,毕竟这世上没有免费的午餐,所以这次决定单独接入,有时间会带来Android微信支付的接入详解。

Demo github链接:(晚点上传)

https://github.com/weijiagithub

时间: 2024-08-22 15:59:04

移动支付(支付宝支付2016最新接入详解)的相关文章

如何申请三方支付接口 微信支付 支付宝支付 网银支付 钱包支付 扫码支付等

如何申请三方支付接口 微信支付 支付宝支付 网银支付 钱包支付  扫码支付等 首先,需要提供一整套申请支付接口的资料,如下 一.企业3证加盖公司公章 二.法人手持身份证照片 三.对应企业ICP备案的交易网站域名 资料审核初步审核之后,请把支付合作协议打印出来一式二份附带企业三证打印盖章邮寄到三方支付公司进一步审核 审核通过后,进行支付接口的对接 联调 最终正式环境上线

支撑5亿用户、1.5亿活跃用户的Twitter最新架构详解及相关实现

如果你对项目管理.系统架构有兴趣,请加微信订阅号"softjg",加入这个PM.架构师的大家庭 摘要:Twitter出道之初只是个奋斗在RoR上的小站点,而如今已拥有1.5亿的活跃用户,系统日传输tweet更多达4亿条,并已完成了以服务为核心的系统架构蜕变. Twitter如今在世界范围内已拥有1.5亿的活跃用户,为了给用户生成timeline(时间轴)需支撑30万QPS,其firehose每秒同样生成22MB数据.整个系统每天传输tweet 4亿条,并且只需要5分钟就可以让一条twe

微信支付之扫码、APP、小程序支付接入详解

做电商平台的小伙伴都知道,支付服务是必不可少的一部分,今天我们开始就说说支付服务的接入及实现.目前在国内,几乎90%中小公司的支付系统都离不开微信支付和支付宝支付.那么大家要思考了,为什么微信支付和支付宝支付能作为大多数公司接入的首选呢?其实这个问题大多小伙伴应该是很清楚的,说白了就是人家有庞大的用户流量,目前微信在国内的用户已突破10亿,支付宝也接近8亿左右,如此庞大的用户群体,你还会选择其他的第三方支付(微博钱包.财付通.快钱等)吗,作为普通客户,大家都希望能方便快捷,谁会为了在一个平台买点

iOS移动支付——支付宝支付

这篇博客总结得很好,我只对在iOS上集成支付宝做简洁的步骤总结. http://www.it165.net/pro/html/201402/9376.html iOS集成支付宝支付的步骤: 准备工作的步骤: 1. 先于支付宝签约,获得商户ID(partner)和账号ID(seller):(主要由公司负责) 2.下载并在项目中导入以下文件.(解释:若APP是在客户端生成订单信息,则需要这些文件先生成加密签名,继而生成订单信息.而若APP是由服务器直接返回已经加密好的订单信息,那我们就不用导入了.)

第三方支付——支付宝支付

本次针对沙箱环境下的支付宝支付配置以及模拟下订单付款.以及订单查询.话不多说,请看下文 1.首先需要用你的支付宝账户登录蚂蚁金服开放平台 2.进入沙箱环境,APPID.沙箱账号之类的信息就会映入眼帘 3.先配置RSA(SHA1)密钥信息(上图中红框标记的地方),再看阿里粑粑给的Demo吧 4.秘钥生成请移步文档(RSA2签名格式的话,要生成2048位的!!不要被示例图给迷惑了,当时我用的是RSA格式(需要生成的是1024位秘钥)结果用的2048位的,一直报错,需要注意一下) 5.支付宝电脑版支付

支付-支付宝支付简单了解

支付宝支付 # 1.在沙箱环境下实名认证:https://openhome.alipay.com/platform/appDaily.htm?tab=info # 2.电脑网站支付API:https://docs.open.alipay.com/270/105898/ # 3.完成RSA密钥生成:https://docs.open.alipay.com/291/105971 # 4.在开发中心的沙箱应用下设置应用公钥:填入生成的公钥文件中的内容 # 5.Python支付宝开源框架:https:/

微信支付支付宝支付生成二维码的方法(php生成二维码的三种方法)

如果图简单,可以用在线生成 http://pan.baidu.com/share/qrcode?w=150&h=150&url=http://www.xinzhenkj.com 最简单最实例的goolge开源方法 1.google开放api 代码如下: [php] view plain copy <span style="font-size:14px;">$urlToEncode="http://www.helloweba.com"; g

APICloud集成支付宝--RSA秘钥生成详解

RSA 和 OpenSSL 介绍 记得大学里有门课叫<电子支付与安全>,这里面就讲了双重秘钥加密,主要内容如下: RSA 是一种非对称的签名算法,即签名密钥(私钥)与验签密钥(公钥)是不一样的, 私钥用于签名,公钥用于验签.在与支付宝交易中,会有 2 对公私钥,即商户公私钥,支付宝公私钥.使用这种算法可以起到防止数据被篡改的功能,保证支付订单和支付结果不可抵赖(商户私钥只有商户知道). OpenSSL 是基于众多的密码算法.公钥基础设施标准以及 SSL 协议安全开 发包.通过 OpenSSL

Exchange Server 2016 图文安装详解

本文主要介绍新版本的 Exchange Server 2016 的安装及在安装所有中可能会遇到的问题,希望对大家在安装 Exchange Server 2016 时有所帮助,也希望大家积极参与Exchange中文站的相关技术讨论,有问题直接在评论处留言哦.Exchange 2016 的安装并没有很大难度,几乎可以完全按照提示说明安装即可. 本文Exchange中文站(http://www.exchangecn.com)介绍的环境是在Windows Server 2012环境下进行,请确保已经安装