zoukankan      html  css  js  c++  java
  • iOS app集成支付宝支付流程及后台php订单签名处理

    iOS app集成支付宝支付流程

    1: 开通支付宝商户

       由公司去支付宝 https://b.alipay.com/order/serviceIndex.htm  签约支付宝开通支付宝商家;

    2:商户支付宝开通无线支付功能

        开通商户支付宝之后,虽然可以获取到应用使用的 key和id,如果如果不开通无线支付功能的话,会在app集成的时间

        提示商户未开通无线支付功能的错误;

        开通商户支付宝-无线支付功能,请在商户支付宝后台,按要求提供审核材料开通;

    3:在商户支付宝后台下载SDK

         在商户支付宝后台,即可不同版本的SDK及文档,下载查阅使用;

    4:在商户支付宝后台获取 PID,和 安全校验码 key

         在商户后台,需要输入支付密码才可以看到;

       

    5:如上图,填写自己后台生成的 公钥

       按照支付宝文档后台生成支付使用的公钥,私钥

       把公钥别忘记在这里上传;

      注意:公钥,不能包含空格,换行,以及 生成之后开头的 ---public---这一行信息

       把上面的去掉的之后:合适的公钥填在这里显示只有一行,即可;

    6:查阅支付宝iOS app 集成的文档,demo

        完成 iOS app的集成;

    二:关于iOS 支付宝支付的订单处理

    1:app自己签名订单信息

    按demo要求,先配置支付宝的配置文件 

    填写pid,key,收款支付宝号(和上面开通支付商户的一致),公钥,私钥

         

     注意:这里面的私钥:

     这个私钥是后台在生成私钥之后,再一次的转换,生成的 PKCS8格式的私钥;

      PKCS8私钥同样把 --priva---这一行删除,然后把所有空格,换行都去掉,然后复制-粘贴在这里;

     然后,按照Demo上的订单生成及处理,签名就行了;

    2: 关于 订单签名处理在后台服务器进行的操作

      思路是:app发起支付请求---先请求服务器返回---返回支付宝调用所需要的完整签名订单----调用支付宝支付;

       这种方式也是支付宝推荐的方式,所有签名加密处理都在后台服务器,前台app只负责拿这个订单和支付宝交互就行了;

                NSString *orderString = [[dataDic objectForKey:@"ReturnData"] objectForKey:@"sign_str"];
    
                NSString *appScheme = @"AliTEST_SC";
                [AlixLibService payOrder:orderString AndScheme:appScheme seletor:@selector(paymentResult:) target:self];

     关于 后台处理签名加密订单的 php 后台处理流程简介

    /**
     后台处理流程
     //0. 参数,干净参数
     $prestr = "order=123213&name=some";
     
     //1, 加密
     $sign = rsaSign($prestr,$alipay_config['private_key_path'] );
     //2. 编码 加密字符串
     $sign = urlencode($sign);
     //echo $sign;
     
     //3. 转义form元素
     $prestr = addslashes($prestr);
     
     //4. 拼接
     $return_str = $prestr.'&sign="'.$sign.'"&sign_type="RSA"';
     //$return_str = addslashes($prestr);
     
     return $return_str;
     
     */
  • 相关阅读:
    Logstash使用mongodb插件报错: ArgumentError: wrong number of arguments (given 2, expected 1)
    Vim注释行的方法
    设计模式之单例模式
    ssh命令的常用使用场景
    Flask 和Django
    Git 常用命令大全
    实例 静态 类
    python的各种推导式(列表推导式、字典推导式、集合推导式)
    MongoDB
    MySql变量说明
  • 原文地址:https://www.cnblogs.com/cocoajin/p/3783569.html
Copyright © 2011-2022 走看看