• 支付宝流程、集成支付功能及部分代码


    1.支付宝

    a.什么是支付宝

    •    第三方支付平台
    • 简单来说,就是可以协调客户、商户、银行三者关系的方便平台

    b.集成支付宝

    •   现在不少app内都集成了支付宝功能
    • 使用支付宝进行一个完整的支付功能,大致有以下步骤:
    • 与支付宝签约,获得商户ID(partner)和账号ID(seller)
    • 下载相应的公钥私钥文件(加密签名用)
    • 下载支付宝SDK
    • 生成订单信息
    • 调用支付宝客户端,由支付宝客户端跟支付宝安全服务器打交道
    • 支付完毕后返回支付结果给商户客户端和服务器

     

    2.SDK下载

    a.下载sdk

     

    b.SDK目录结构

    c. SDK的作用

    • 里面提供了非常详细的文档,内容如下:
    • 如何签约
    • 如何获得公钥私钥
    • 如何调用支付接口

    3. 支付流程

    1.1支付流程.

    完整的支付服务业务流程和支付数据流程图,可以参考android文档

    1.2支付流程安全支付服务业务流程

     

    1.3调用安全支付数据流程

     

    4.集成支付功能

    1.1Demo集成支付功能的具体操作方式,可以参考Demo

     

    1.2 Demo的常见问题

    • 当第一次打开Demo时,可能会出现以下问题:

     

    • 错误原因很简单,就是项目的部署版本设置太低了,从3.0改为4.3即可

     

    1.3依赖的库文件

    • 要想集成支付功能,依赖以下文件夹的库文件(把这3个添加到你的客户端中)

     

    1.4如何调用支付接口

    • 调用支付接口可以参考AlixPayDemoViewController的下面方法

    -       (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath

    如何创建订单、如何签名、如何调用支付接口,都在这个方法里面了

    1.5接口调用步骤

    1.封装订单模型

    AlixPayOrder *order = [[AlixPayOrder alloc] init];

    // 生成订单描述

    NSString *orderSpec = [order description];

    2.签名

    id<DataSigner> signer = CreateRSADataSigner(@“私钥key”);

    // 传入订单描述 进行 签名

    NSString *signedString = [signer signString:orderSpec];

    3.生成订单字符串

    NSString *orderString = [NSString stringWithFormat:@"%@&sign="%@"&sign_type="%@"",

                             orderSpec, signedString, @"RSA"];

    4.调用支付接口

    AlixPay * alixpay = [AlixPay shared];

    // appScheme:商户自己的协议头

    int ret = [alixpay pay:orderString applicationScheme:appScheme];

  • 相关阅读:
    和2018年年初做管理系统的不同(vuex)
    项目中使用package-lock.json锁版本问题
    沟通协作:避免犯低级错误,开发前沟通清楚所有细节
    学会学习:高效学习方式(使用vscode-snippet有感)
    关于学习,避免没必要的熬夜的思考
    pc端布局的一点思考
    学习掌握一个新东西
    要想有价值,首先要乐于去解决每一个问题
    problem: 记一次聊天框的表情包弹框不显示的找问题过程
    abp-159,js最理想的继承——寄生组合式继承
  • 原文地址:https://www.cnblogs.com/changxs/p/3516659.html
Copyright © 2020-2023  润新知