Android手机APP怎么app调用支付宝接口口进行支付

手机App集成微信支付&支付宝-iOS(Swift)& Android完整版,包括Server端实现
等2人欣赏。
之前做App端支付集成,晚上搜索了不是资料,可是所有blog基本上都不全面,要么只有iOS,要么只有Android,而且很少文章介绍服务端实现。最近花了两天多时间整理了一下App集成微信支付&支付宝的全过程,包括 iOS Swift版,Android版,以及Server端实现. Github上有Demo,下载后修改配置文件直接可以直接运行。以下是所有文章链接。
如果要了解整个支付流程可以阅读文章。
如果不想看本文的话可以直接到Github。下载源码后只需要修改MyConstants.swift文件中的支付宝相关账号即可运行。
到支付宝商家服务网页申请快捷支付。
首先从支付宝开放平台. 解压后的目录下包含「服务端demo」和「客户端demo」。「客户端demo」包含了集成支付宝所需要的所有文件。
整个支付流程我在文章中有详细描述。
为了保证安全,防止支付结果被截获,在生成订单和处理支付结果的时候就需要做安全校验。生成订单时对数据签名,收到支付结果时对数据进行签名验证,以检验数据是否被篡改过。支付宝目前采用RSA加密方式做签名验证。
除了可加解密外,还可用来作签名校验。
简单的说,RSA会生成一个私钥和一个公钥,私钥你应该独自保管,公钥你可以分发出去。
做签名验证时,你可以用私钥对需要传输的数据做签名加密,生成一个签名值,之后分发数据,接收方通过公钥对签名值做校验,如果一致则认为数据无篡改。
生成公钥和私钥
用openssl生成商户的公钥和私钥,私钥用于提交支付申请时加密,而公钥要在商家服务页面上提交,换取到支付宝的公钥。
对于iOS来说,私钥要转为PKCS8格式,即下述代码的第三行!
openssl genrsa -out rsa_private_key.pem 1024
openssl rsa -in rsa_private_key.pem -pubout -out rsa_public_key.pem
openssl pkcs8 -topk8 -inform PEM -in rsa_private_key.pem -outform PEM -nocrypt
首先把 AlipaySDK.framework 和 AlipaySDK.bundle 拖到你的项目里面。然后把demo目录下面的openssl和Util两个目录拖到你的工程下面。然后在 Build Settings => Header Search Paths => 添加 "$(SRCROOT)/openssl" 和 "$(SRCROOT)/Util"
否则会有类似报错:"openssl/asn1.h file not found"。
在Build Phases选项卡的Link Binary With Libraries中,增加以下依赖:
其中,需要注意的是:
如果是Xcode 7.0之后的版本,需要添加libc++.tbd、libz.tbd;
如果是Xcode 7.0之前的版本,需要添加libc++.dylib、libz.dylib
新建一个Bridging-Header.h文件,并把该文件的路径添加到 Build Settings => Objective-C Bridging Header。然后在该文件中添加下面两行:
#import &AlipaySDK/AlipaySDK.h&
#import "RSADataSigner.h"
如果你的服务器不支持Https,请在info.plist文件里面添加如下代码:
&key&NSAppTransportSecurity&/key&
&key&NSAllowsArbitraryLoads&/key&
由于支付包支付成功后需要返回App,那么你就需要设置你App独有的Schema:选择你的项目,选择Info,在URL Types中添加一个schema,并设置Url Schemas.
到这一步,整个配置过程就已经完成了。下面的工作就是Coding部分了。
let aliOrder = AlipayOrder(partner: AlipayPartner, seller: AlipaySeller, tradeNO: order.id, productName: order.title, productDescription: order.content, amount: order.price, notifyURL: AlipayNotifyURL, service: "mobile.securitypay.pay", paymentType: "1", inputCharset: "utf-8", itBPay: "30m", showUrl: "m.alipay.com", rsaDate: nil, appID: nil)
let orderSpec = aliOrder.description //orderA.description
let signer = RSADataSigner(privateKey: AlipayPrivateKey)
let signedString = signer.signString(orderSpec)
let orderString = "(orderSpec)&sign="(signedString)"&sign_type="RSA""
print(orderString)
AlipaySDK.defaultService().payOrder(orderString, fromScheme: AppScheme, callback: {[weak self] resultDic in
if let strongSelf = self {
print("Alipay result = (resultDic as Dictionary)")
let resultDic = resultDic as Dictionary
if let resultStatus = resultDic["resultStatus"] as? String {
if resultStatus == "9000" {
strongSelf.delegate?.paymentSuccess(paymentType: .Alipay)
let msg = "支付成功!"
let alert = UIAlertView(title: nil, message: msg, delegate: nil, cancelButtonTitle: "好的")
alert.show()
//strongSelf.navigationController?.popViewControllerAnimated(true)
strongSelf.delegate?.paymentFail(paymentType: .Alipay)
let alert = UIAlertView(title: nil, message: "支付失败,请您重新支付!", delegate: nil, cancelButtonTitle: "好的")
alert.show()
AlipayOrder的description属性如下:
var description:String {
var desc = ""
desc += "partner="(partner)""
desc += "&seller_id="(seller)""
desc += "&out_trade_no="(tradeNO)""
desc += "&subject="(productName)""
desc += "&body="(productDescription)""
desc += "&total_fee="" + amount.format("0.2") + """
desc += "?ify_url="(notifyURL)""
desc += "&service="(service)""
desc += "&payment_type="(paymentType)""
desc += "&_input_charset="(inputCharset)""
desc += "&it_b_pay="(itBPay)""
desc += "&show_url="(showUrl)""
if let rsaDate = rsaDate {
desc += "&sign_date=(rsaDate)"
if let appID = appID {
desc += "&app_id=(appID)"
return desc
通知服务器支付成功
如果支付成功后,支付宝服务器会向你的服务器 notify URL 发起支付成功的请求。这样就可以在服务端实现一些相关的业务逻辑,比如标记订单为已支付,发短信给用户等。notify URL的具体实现请查看文章
查看完整代码请
iOS&Android集成支付宝-server篇(PHP)
在上一篇文章中,我介绍了如何在iOS中集成支付宝。在文章中,我介绍了整个支付流程,在App支付成功后返回后,服务器并不知道相关的订单已经支付成功。在用户付款成功后,支付宝会调用你的服务器Notify URL,告诉你支付成功了。所以服务端主要需要实现的工作就是验证签名以及。
整个验证过程的实验可以参考官方的demo相关代码,官方demo中有一个AlipayNotify类,里面的verifyNotify方法实现了验证过程。验证通过后,就可以做相应的业务逻辑的处理了。需要注意的是支付宝是用POST方式发送通知信息,因此该页面中获取参数的方式为$POST['outtradeno']形式。所有的参数说明请参考官方文档。 所有这些参数中,我们最关心的就是如下几个:
outtradeno : 商户网站唯一订单号(通常是你网站的订单ID)
tradeno: 支付宝交易号 (支付宝系统中的交易流水号,请记录到你的DB,以便以后对账)
tradestatus:交易状态 (TRADESUCCESS 或者 TRADE_FINISHED 就表示支付成功)
获取到这些信息后就可以从自己系统DB里面通过outtradeno查询出相应的订单,标记为支付成功,并记录下相应的交易流水号trade_no. 需要注意的是,处理玩业务逻辑后需要返回"success"给支付宝。实现代码如下:
$alipay_config_app = $this-&config-&item('alipay_config_app');
$alipayNotify = new AlipayNotify($alipay_config_app);
$verify_result = $alipayNotify-&verifyNotify();
if($verify_result) {//验证成功
$out_trade_no = $_POST['out_trade_no'];
//支付宝交易号
$trade_no = $_POST['trade_no'];
//交易状态
$trade_status = $_POST['trade_status'];
$this-&log_result('alipay_notify',"【支付宝回调App】:n".json_encode($_POST)."n");
if($trade_status == 'TRADE_FINISHED' || $trade_status == 'TRADE_SUCCESS') {
//判断该笔订单是否在商户网站中已经做过处理
//如果没有做过处理,根据订单号(out_trade_no)在商户网站的订单系统中查到该笔订单的详细,并执行商户的业务程序
//如果有做过处理,不执行商户的业务程序
$order = $this-&order_model-&get_order_info($out_trade_no);
if($order['TradeStatus'] != 'TRADE_FINISHED' && $order['TradeStatus'] != 'TRADE_SUCCESS'){
$data = array('TradeStatus'=&$trade_status,'TradeNo'=&$trade_no,'PayTime'=&time(),'PayType'=&'alipay');
$this-&order_model-&update_order_info($out_trade_no,$data);
//——请根据您的业务逻辑来编写程序(以上代码仅作参考)——
echo "success";
//请不要修改或删除
//验证失败
echo "fail";
//调试用,写文本函数记录程序运行情况是否正常
//logResult("这里写入想要调试的代码变量值,或其他运行的结果记录");
完整的代码请。
Server端是基于实现的,如果你不熟悉的话也没有关系,下载demo后打开 /application/config/myconfig.php 文件,将数组 alipayconfig 中的 partner,key,selleremail,替换成你自己的配置即可运行。
在本文章Demo实现过程中,我没有采用任何安全验证措施,在实际开放过程中Server端API是需要根据自身情况采取相应安全策略的。
iOS集成微信支付-Swift版
微信支付在微信红包的推动发展势头越来越猛,甚至有超过支付宝的趋势,那么在App集成微信支付也是比不可少了。我最近在一个项目中集成微信支付遇到了不少问题,Google了不少资料才搞定,不得不吐槽一下微信支付的官方接口文档,实在太简陋了。我希望这篇文章能够帮到需要在iOS APP中集成微信支付的朋友。
如果不想看文章可以直接到Github下载Demo源码。下载源码后只需要修改MyConstants.swift文件中的微信支付相关账号即可运行。
整个支付流程我在文章《手机App集成微信支付&支付宝-iOS&Android完整版》中有详细描述,这里不再重复。
开发者账号
要在App中集成微信支付的话,首先需要到微信开放平台注册开发者账号。注意是「微信开放平台」,而不是「微信公众平台」。微信公众平台是和公众号开发相关,微信开放平台提供App微信登陆,微信支付等接口。 想详细了解微信支付的同学请点击此链接访问官方文档。
账号注册完成后还需要通过开发者资质认证后,才能获得微信登录、智能接口、公众号第三方平台开发等高级能力。认证费用是300元/年,一年到期后再交钱审核。目前微信只支持企业认证,个人开发者是无法认证的。
微信商户平台
要获取支付权限,还需要登陆「微信商户平台」 和腾讯签约。签约需要扫描上传「营业执照」、「组织机构代码证」、「经营许可证/资格证」、「身份证」等信息。在微信商户平台可以进行查询交易订单,提现等功能。在此需要说明一下的是,微信商户平台和财付通数据其实是通的,在微信和财付通都可以看到同样的交易记录。
登录微信开放平台,进入管理中心,创建移动应用。创建完成后你将得到应用的AppID和AppSecret。创建完应用以后还需要设置「开发信息」
点击「修改」,设置好Bundle ID、Appstore下载地址等信息。
点击该链接到官方网站下载SDK及Demo
解压后的Demo中在文件夹SDKExport下面有 libWeChatSDK.a 、WXApi.h 、 WXApiObject.h 这三个文件。把这三个文件拖到你的项目里面,并在Bridging-Header.h文件中添加如下两行代码。
#import "WXApi.h"
#import "WXApiObject.h"
设置URL Types
URL Schema中填写之前创建的应用的AppID
在Appdelegate中注册微信支付
WXApi.registerApp(WX_APPID, withDescription: "apppaydemo1.0")
获取PrePay信息并发起支付请求
微信支付和支付宝支付流程有些不一样,微信支付会在真正发起支付请求钱先发起PrePay(预支付)请求,然后利用PrePay发起支付请求。Demo中的PrePay是在客户端生成的,但是更加安全的方式是在服务端生成PrePay。我这里是在服务器端获取Prepay信息的,具体实现请查看文章《OS&Android集成微信支付-Server篇》。返回的PrePay信息结构如下:
"appid": "wxxxxxxxxxxx",
"noncestr": "Hk8dsZoMOdTXGjkJ",
"package": "Sign=WXPay",
"partnerid": "",
"prepayid": "wx0000",
"sign": "B4879FFFA8BE2D027A3B8",
"timestamp": "",
"success": true
获取Prepay代码:
@ func weichatPayAction(sender: AnyObject) {
DataService.wxPrePay(order.id) {[weak self] (prepay, error) -& () in
if let strongSelf = self {
if let prepay = prepay {
let req = PayReq()
req.openID = prepay.appID
req.partnerId = prepay.partnerID
req.prepayId = prepay.prepayID
req.nonceStr = prepay.noncestr
req.timeStamp = UInt32(prepay.timestamp)
req.package = prepay.package
req.sign = prepay.sign
WXApi.sendReq(req)
strongSelf.delegate?.paymentFail(paymentType: .Weichat)
let alert = UIAlertView(title: nil, message: "获取支付信息失败,请重新支付!", delegate: nil, cancelButtonTitle: "好的")
alert.show()
App支付完成后返回App, 在Appdelegate中实现协议 WXApiDelegate 中的 onResp方法
func onResp(resp: BaseResp!) {
var strTitle = "支付结果"
var strMsg = "(resp.errCode)"
if resp.isKindOfClass(PayResp) {
switch resp.errCode {
NSNotificationCenter.defaultCenter().postNotificationName(WXPaySuccessNotification, object: nil)
strMsg = "支付失败,请您重新支付!"
print("retcode = (resp.errCode), retstr = (resp.errStr)")
let alert = UIAlertView(title: nil, message: strMsg, delegate: nil, cancelButtonTitle: "好的")
alert.show()
通知服务器支付成功
如果支付成功后,微信服务器会向你的服务器 notify URL 发起支付成功的请求。这样就可以在服务端实现一些相关的业务逻辑,比如标机订单为已支付,发短信给用户等。notify URL的具体实现请查看文章
可能会遇到的错误
如果遇到类似 "WXApiObject.h error:Expected a type : - (void) setThumbImage:(UIImage*)" 的错误,打开文件WXApiObject.h,在顶部加上 #import &UIKit/UIKit.h> 即可
iOS9以后苹果默认使用HTTPS,如果服务器端是HTTP协议,那么就需要在 info.plist 中添加Key:NSAppTransportSecurity, Value设置为 NSAllowsArbitraryLoads
如果你同时用了ShareSDK,那么很有可能会和ShareSDK冲突,导致不能跳转到微信。解决方案就是用微信sdk中的内容替代ShareSDK/extends/WeChatSDK 目录下的文件libWeChatSDK.a, WXApi.h, WXApiObject.h
查看完整代码请
iOS&Android集成微信支付-Server篇(PHP)
在上一篇文章中,我介绍了如何在iOS中集成微信支付。在支付过程中有一步是需要获取PrePay数据,至于如何获取,我会在本文后面详细介绍。在文章中,我介绍了整个支付流程,在App支付成功返回后,你的服务器并不知道相关的订单已经支付成功。这时候微信服务器会向你设置的服务器Notify URL发送POST请求,告诉你支付成功了。所以服务端主要需要实现的工作就是验证签名以及验证是否是微信发来的通知。
获取PrePay
在中是这样描述的:
除被扫支付场景以外,商户系统先调用该接口在微信支付服务后台生成预支付交易单,返回正确的预支付交易回话标识后再按扫码、JSAPI、APP等不同场景生成交易串调起支付。
关于获取预支付接口的请求参数、返回结果以及错误码请。有一点需要注意的是微信支付的接口参数用的是XML格式。下面就是获取PrePay的代码:
$wxpay_config = $this-&wxpay_config = $this-&my_config['wxpay_config'];
//var_dump($wxpay_config);
$APP_ID = $wxpay_config['app_id'];
$APP_SECRET = $wxpay_config['app_secret'];
//appsecret
$MCH_ID=$wxpay_config['mch_id'];
$PARTNER_ID = $wxpay_config['partner_id'];
$NOTIFY_URL = $wxpay_config['notify_url'];
if (!$out_trade_no) {
$this-&display_error(400,'请求是无效的');
$order = $this-&order_model-&get_order_info($out_trade_no);
if (!$order) {
$this-&display_error(1,'请求是无效的');
//STEP 1. 构造一个订单。
$order=array(
"body" =& $order['Subject'],
"appid" =& $APP_ID,
"device_info" =& "APP-001",
"mch_id" =& $MCH_ID,
"nonce_str" =& mt_rand(),
"notify_url" =& $NOTIFY_URL,
"out_trade_no" =& $out_trade_no,
"spbill_create_ip" =& $this-&input-&ip_address(),
"total_fee" =& intval($order['TotalFee'] * 100),//注意:前方有坑!!!最小单位是分,跟支付宝不一样。1表示1分钱。只能是整形。
"trade_type" =& "APP"
ksort($order);
//STEP 2. 签名
foreach ($order as $key =& $value) {
if($value&&$key!="sign"&&$key!="key"){
$sign.=$key."=".$value."&";
$sign.="key=".$PARTNER_ID;
$sign=strtoupper(md5($sign));//echo $sign.'
//STEP 3. 请求服务器
foreach ($order as $key =& $value) {
$xml.="&".$key."&".$value."n";
$xml.="".$sign."n";
$opts = array(
=& 'POST',
=& 'Content-type: text/xml',
'content' =& $xml
"ssl"=&array(
"verify_peer"=&false,
"verify_peer_name"=&false,
= stream_context_create($opts);
$result = file_get_contents('https://api.mch.weixin.qq.com/pay/unifiedorder', false, $context);
$result = simplexml_load_string($result,null, LIBXML_NOCDATA);
if ($result-&return_code == 'SUCCESS' && $result-&result_code == 'SUCCESS') {
$prepay=array(
"noncestr"=&"".$result-&nonce_str,
"prepayid"=&"".$result-&prepay_id,//上一步请求微信服务器得到nonce_str和prepay_id参数。
"appid"=&$APP_ID,
"package"=&"Sign=WXPay",
"partnerid"=&$MCH_ID,
"timestamp"=&"".time(),
"sign"=&""
ksort($prepay);
foreach ($prepay as $key =& $value) {
if($value&&$key!="sign"&&$key!="key"){
$sign.=$key."=".$value."&";
$sign.="key=".$PARTNER_ID;
$sign=strtoupper(md5($sign));
$prepay['sign'] = $
$prepay['success'] =
$prepay=array(
"success" =& false,
"noncestr"=&"",
"prepayid"=&"",
"appid"=&$APP_ID,
"package"=&"Sign=WXPay",
"partnerid"=&$MCH_ID,
"timestamp"=&"".time(),
"sign"=&"",
"return_msg"=&$result-&return_msg
$this-&response($prepay, 200);
此处有一个坑需要注意,微信支付接口的金额最小单位是分,跟支付宝不一样,1表示1分钱,且只能是整形。
客户端App通过该API获取到PrePay信息有就可以发起支付请求了。客户端的实现代码请查看文章。
Notify URL
前面说过,这个URL是支付成功后微信调用的。那么微信Server是如何知道这个URL的呢?其实是在前面请求PrePay的时候通过参数notifyurl传过去的。
微信调用支付结果通知的详细参数请访问文档。同样,参数格式也是XML。
所有这些参数中,我们最关心的应该是下面几个:
returncode :返回状态码。SUCCESS/FAIL
resultcode : 交易标识,交易是否成功 SUCCESS/FAIL
outtradeno : 商户订单号, 需要在你的数据库能够唯一标志订单
transactionid :微信支付订单号,流水号。记录到你的数据库方便对账用
获取到这些信息后就可以从自己系统DB里面通过outtradeno查询出相应的订单,标记为支付成功,并记录下相应的交易流水号transactionid. 需要注意的是,处理玩业务逻辑后需要返回"returncode"为"success"给微信服务器。
Notify实现代码如下:
* 微信支付Notify
function wxpay_notify(){
//使用通用通知接口
$notify = new Notify_pub();
//存储微信的回调
$xml = $GLOBALS['HTTP_RAW_POST_DATA'];
$notify-&saveData($xml);
//验证签名,并回应微信。
//对后台通知交互时,如果微信收到商户的应答不是成功或超时,微信认为通知失败,
//微信会通过一定的策略(如30分钟共8次)定期重新发起通知,
//尽可能提高通知的成功率,但微信不保证通知最终能成功。
if($notify-&checkSign() == FALSE){
$notify-&setReturnParameter("return_code","FAIL");//返回状态码
$notify-&setReturnParameter("return_msg","签名失败");//返回信息
$notify-&setReturnParameter("return_code","SUCCESS");//设置返回码
$returnXml = $notify-&returnXml();
echo $returnX
//==商户根据实际情况设置相应的处理流程,此处仅作举例=======
//以log文件形式记录回调信息
$log_type="wxpay_notify";//log文件路径
$this-&log_result($log_type,"【接收到的notify通知】:n".$xml."n");
if($notify-&checkSign() == TRUE) {
if ($notify-&data["return_code"] == "FAIL") {
//此处应该更新一下订单状态,商户自行增删操作
$this-&log_result($log_type,"【通信出错】:n".$xml."n");
} elseif ($notify-&data["result_code"] == "FAIL") {
//此处应该更新一下订单状态,商户自行增删操作
$this-&log_result($log_type,"【业务出错】:n".$xml."n");
//此处应该更新一下订单状态,商户自行增删操作
$this-&log_result($log_type,"【支付成功】:n".$xml."n");
$out_trade_no = $notify-&data['out_trade_no'];
$trade_no = $notify-&data['transaction_id'];
$order = $this-&order_model-&get_order_info($out_trade_no);
if($order['TradeStatus'] != 'TRADE_FINISHED' && $order['TradeStatus'] != 'TRADE_SUCCESS'){
$data = array('TradeStatus'=&'TRADE_SUCCESS','TradeNo'=&$trade_no,'PayTime'=&time(),'PayType'=&'wxpay');
$this-&order_model-&update_order_info($out_trade_no,$data);
完整的实现代码请。
Server端是基于实现的,如果你不熟悉的话也没有关系,下载demo后打开 /application/config/myconfig.php 文件,将数组 wxpayconfig 中的 appid,appsecret,mchid, partnerid,notifyurl,替换成你自己的配置即可运行。
其中 appid,appsecret 是你在微信开放平台创建的应用。
mch_id为「微信支付商户号」,登录即可看到。
在本文章Demo实现过程中,我没有采用任何安全验证措施,在实际开放过程中Server端API是需要根据自身情况采取相应安全策略的。
顶一下教程。
强 烈 支 持
淫才,还有啥好东西一起放出来
@ 只是自己在开发过程中遇到了一些坑,所以写教程出来希望其他不要踩坑手机App 调用支付宝接口的方式有哪些_百度知道
手机App 调用支付宝接口的方式有哪些
我有更好的答案
根据我之前做手机支付业务以及对其他支付公司的了解不仅仅是支付宝,其他一些支付公司在手机端提供:1、支付插件模式的接入:当在接入方确认支付后,会下载安装安全支付插件/控件/服务,然后启动这个,显示出支付项,输入支付信息,完成支付;2、html5的支付网关:调用html5的网页网关,通用性强,兼容性好;3、针对ios系统,只能完整下载安装支付公司的客户端,因此apple的游戏规则不容违抗;以上三种,支付公司都会提供对应的支付API接口,只需按照支付公司接口文档中的示例完成订单传递即可。
电子产品技术支持
为您推荐:
支付宝的相关知识
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。Android 支付宝接口调用 - 李sir - 博客园
在近期,公司需要开发一个关于在线支付的模块,所以需要用到第三方支付平台
转载请注明出处:http://blog.csdn.net/ht_android/article/details/
经过一周多的时间对这两种支付平台的研究,完成功能后将经验分享给大家,希望能帮助到有需求的朋友。
首先是支付宝的开发资料方面: 接口申请url https://b.alipay.com/order/productDetail.htm?productId=1993
API开发文档 http://download.alipay.com/public/api/base/WS_MOBILE_PAY_SDK_BASE.zip
申请流程 注册支付宝账号&&进行实名认证&&提交审核资料&&审核通过
备注:申请通过后会获得:合作者身份ID(PID),该ID在项目配置中需要用到
开发流程: 第一步: 下载API开发文档后,即可获取官方Demo,该Demo中需要将审核通过后获取的PID替换,并且输入支付宝收款账户即可。这里非常简单,就不过多叙述。 第二步: 官方Api开发文档中,存在一个openssl的文件夹,该文件夹主要是用于生成支付宝所需要用到的公钥以及私钥。打开该文件夹可以看到详细的生成方式,根据提示生成公钥及私钥,请注意,密钥需要经过pkcs8二次加密。 第三步: 将生成的公钥和私钥配置到Demo中。 第四步(可省略): 为了方便后期维护,建议将支付宝相关的方法及配置项抽取出来做为单独的一个类,后期需要使用直接调用即可。代码如下:
package com.alipay.
import java.io.UnsupportedEncodingE
import java.net.URLE
import java.text.DecimalF
import java.text.SimpleDateF
import java.util.D
import java.util.L
import java.util.R
import android.app.A
import android.os.H
import android.os.M
import android.support.v4.app.FragmentA
import android.view.V
import android.widget.T
import com.alipay.sdk.app.PayT
public class Alipay {
从上面代码可以看出,程序的主要运行流程是:通过开启一个子线程去调用支付宝的支付功能,获取到支付结果后,通过Handler通知UI线程,根据支付结果去显示不同的。
到这里基本上整个开发流程已经大致完成了,具体细节根据需求去修改即可。官方建议支付完成后,将获取到的支付结果上传到自己的服务器,通过官方提供的API进行验证,建议添加该流程。

我要回帖

更多关于 app调用支付宝接口 的文章

 

随机推荐