zoukankan      html  css  js  c++  java
  • iOS支付宝支付集成

    第一步:支付宝SDK接入

    a.下载支付宝SDK,并导入工程

    app集成支付宝报错:"openssl/asn1.h file not found"

    配置Header Search Paths

    设置Enable Bitcode 为NO

    设置Other Linker Flags 添加-ObjC

    添加依赖库

    - libz.tbd

    - libc++.tbd

    - Security.framework

    - CoreMotion.Framework

    - CFNetwork.framework

    - CoreTelephony.framework

    - SystemConfiguration.framework

    //判断是否安装支付宝

    if (![[UIApplication sharedApplication] canOpenURL: [NSURL URLWithString:@"alipay:"]]) {
                //未安装支付宝客户端
                [[[UIAlertView alloc]initWithTitle:@"温馨提示" message:@"您未安装支付宝哦,请选择其他方式支付" delegate:nil cancelButtonTitle:@"知道了" otherButtonTitles:nil, nil]show];
            
    }

    //支付宝预授权

    预授权:用户在消费时,消费与资金结算往往不在同一时间完成,用户在消费时缴纳一定的押金,消费结束结算时,再根据实际消费情况从押金中扣除消费金额,剩余未消费部分返还给用户。支付宝根据此类业务线下消费场景的习惯,推出预授权产品,用户在消费时,先针对可用资金渠道做资金授权(冻结),结算时从冻结资金扣划给商户,剩余资金解冻返回给用户。
    
    1.用户在商家页面提交订单
    2.商家后台系统操作生成订单,提交支付宝请求授权
    3.用户在支付宝收银台输入支付密码,确认授权
    4.授权成功后收银台跳转到支付成功页;用户资金冻结成功
    5.当用户消费完成,产生消费,资金从冻结金额转支付;无需用户再确认并授权

    //预授权逻辑:

    1. A: 获取订单-预授权-授权成功-跳转支付页面,支付宝代扣-
    2. B: 获取订单-预授权-授权失败-取消

    授权步骤

    1.客户端向服务端发请求要签名  authInfoStr

    2.客户端调用SDK获取授权码

    3.拿到授权码发送服务端

    4.服务端返回用户信息给客户端

    5.授权完成..

  • 相关阅读:
    Axis2、Axis1 以及其他接口的调用方式
    com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException
    百度、谷歌、雅虎网站地图提交地址
    MyEclipse 死掉,JVM terminated. Exit code=1073807364
    有关Servlet的面试题
    SpringMVC文件的上传与下载实现
    Java API 操作HBase Shell
    Java内存模型与线程(二)线程的实现和线程的调度
    Java内存模型与线程(一)
    ubuntu环境下搭建Hadoop集群中必须需要注意的问题
  • 原文地址:https://www.cnblogs.com/StevenHuSir/p/AppPay_AliPay.html
Copyright © 2011-2022 走看看