IOS开发之支付功能概述

Wesley13
• 阅读 599

前言:本随笔将对IOS开发的支付功能进行一个概述。

内容大纲:

一、常见的支付方案简介

二、第三方支付SDK

三、苹果官方支付方案

四、Web支付方案

正文:

一、常见的支付方案简介

IOS开发之支付功能概述

在微信支付中

微信支付的网址是: https://pay.weixin.qq.com/wiki/doc/api/index.html

进去之后,我们可以看到网页,但我接下来主要讲的是app支付

 IOS开发之支付功能概述

app支付的过程:商业app通过集成微信SDK,用户解析后跳转到微信内软件支付的过程。

点进去app支付:

IOS开发之支付功能概述  

我们可以看到APP支付的"场景介绍","案例及规范","业务流程","API详细说明","APP端开发步骤"等等,所有相关的资料我们都可以在这里找到。

在支付宝支付中

支付宝支付的网址: https://b.alipay.com/order/productDetail.htm?productId=2015110218010538&tabId=1#ps-tabinfo-hash http://doc.open.alipay.com/doc2/detail?treeId=59&articleId=103563&docType=1

进入网址,我们可以看到产品简介、用户使用场景等信息

我们通过在支付宝开放平台的文档中心>移动支付 网址:https://doc.open.alipay.com/doc2/detail?treeId=59&articleId=103563&docType=1

IOS开发之支付功能概述

这里面主要介绍了客户端如何调用,以及请求参数。实名机制以及注意事项,以及处理返回的错误值错误码都可以在这里查阅。

在银联支付中

银联的网址: https://open.unionpay.com/ajweb/index

接下来我主要讲解是手机控件支付

IOS开发之支付功能概述

我们点击这个手机控件支付,进入"手机控件支付":

IOS开发之支付功能概述

我们可以找到: 上图“用户使用场景\产品特点...等等”

百度钱包支付

百度钱包支付介绍的网址: http://apistore.baidu.com/astore/serviceinfo/1479.html

百度钱包主要使用在游戏支付,另外你可以看到使用帮助中介绍的企业商户开通账户需要经过简单三步即可开通的描述。

IOS开发之支付功能概述

QQ钱包支付

QQ钱包支付的网址: http://qpay.qq.com/

IOS开发之支付功能概述

连连支付

连连支付网址; https://apple.lianlianpay.com/OpenPlatform/

IOS开发之支付功能概述

我们可以在这个网上可以找到"业务流程","结算流程"

IAP

IAP的网址: https://developer.apple.com/in-app-purchase/

IOS开发之支付功能概述

Apple Pay

Apple Pay的网址: https://developer.apple.com/apple-pay/

二、第三方支付SDK

  • 微信支付SDK
  • 支付宝支付SDK
  • 银联支付SDK

1、微信支付SDK

我们首先需要了解一下什么是微信支付SDK

IOS开发之支付功能概述

如何申请微信支付,http://kf.qq.com/faq/120911VrYVrA150906F3qqY3.html,点击进去可以看到申请微信支付分为三个阶段:

IOS开发之支付功能概述

然后微信支付应用于什么场景呢?

IOS开发之支付功能概述

接下来总结一下,微信支付的步骤:

IOS开发之支付功能概述

下面介绍一下APP如何接入微信支付SDK:

IOS开发之支付功能概述

下面我们需要到 https://pay.weixin.qq.com/wiki/doc/api/app.php?chapter=11_1# 下载微信支付SDK,

IOS开发之支付功能概述

IOS开发之支付功能概述

下载解压之后,有三个头文件,静态库,还有一个提示文件read_me.txt:

IOS开发之支付功能概述

2、支付宝支付SDK

IOS开发之支付功能概述

IOS开发之支付功能概述

 关于支付宝移动支付的流程,大家可以点击下面的连接进行查看:

  https://doc.open.alipay.com/doc2/detail.htm?spm=a219a.7629140.0.0.9esO6j&treeId=59&articleId=103657&docType=1

APP如何介入SDK呢?这个和前面微信差不多:

IOS开发之支付功能概述

 我们可以直接进入https://doc.open.alipay.com/doc2/detail?treeId=59&articleId=103563&docType=1去下载SDK:

IOS开发之支付功能概述

IOS开发之支付功能概述

下载好解压之后:

 IOS开发之支付功能概述

IOS开发之支付功能概述

3、银联支付SDK

IOS开发之支付功能概述

如何申请入网呢?入网流程模式有两种:

IOS开发之支付功能概述  

IOS开发之支付功能概述

银联交易流程:

1、首先客户端浏览商品,点击下单,请求到达商户后台。
2、商户后台再提交订单信息到银联后台。
3、银联后台返回交易流水号。
4、商户后台将交易流水号返回给客户端。
5、客户端再通过交易流水号启动手机控件开始支付。
6、支付控件收集支付信息并请求银联后台,完成支付后银联后台通知商户后台支付结果。
7、银联后台通知支付控件支付结果。
8、支付控件通知客户端支付结果。
9、最后客户端将支付结果展示给用户。

IOS开发之支付功能概述

下载SDK包的网址:https://open.unionpay.com/ajweb/help/file/techFile?productId=3

IOS开发之支付功能概述

下载解压之后:

IOS开发之支付功能概述

三、苹果官方支付方案

  • IAP
  • Apple Pay

什么是IAP?

  In App Purchase属于iPhone SDK3.0的新特性,用于在应用程序中购买付费道具,增加新功能,订阅杂志。是应用程序除了移植广告外的另一种取得利益的方式。

IOS开发之支付功能概述

下面展示苹果IAP的两种交互方式

IOS开发之支付功能概述

IOS开发之支付功能概述

注意事项;

IOS开发之支付功能概述

关于Apple Pay:

IOS开发之支付功能概述

四、Web支付方案

IOS开发之支付功能概述

web支付最简单了,因为web支付只要调用起支付网页的URL即可。

 IOS开发之支付功能概述

转载注明出处:http://www.cnblogs.com/goodboy-heyang/p/5252159.html,尊重劳动成果。

点赞
收藏
评论区
推荐文章
blmius blmius
3年前
MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1
文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s
皕杰报表之UUID
​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为
待兔 待兔
3个月前
手写Java HashMap源码
HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22
Jacquelyn38 Jacquelyn38
3年前
2020年前端实用代码段,为你的工作保驾护航
有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )
Easter79 Easter79
3年前
thinkcmf+jsapi 实现微信支付
首先从小程序端接收订单号、金额等参数,然后后台进行统一下单,把微信支付的订单号返回,在把订单号发送给前台,前台拉起支付,返回参数后更改支付状态。。。回调publicfunctionnotify(){$wechatDb::name('wechat')where('status',1)find();
Wesley13 Wesley13
3年前
mysql设置时区
mysql设置时区mysql\_query("SETtime\_zone'8:00'")ordie('时区设置失败,请联系管理员!');中国在东8区所以加8方法二:selectcount(user\_id)asdevice,CONVERT\_TZ(FROM\_UNIXTIME(reg\_time),'08:00','0
Wesley13 Wesley13
3年前
00:Java简单了解
浅谈Java之概述Java是SUN(StanfordUniversityNetwork),斯坦福大学网络公司)1995年推出的一门高级编程语言。Java是一种面向Internet的编程语言。随着Java技术在web方面的不断成熟,已经成为Web应用程序的首选开发语言。Java是简单易学,完全面向对象,安全可靠,与平台无关的编程语言。
Stella981 Stella981
3年前
Django中Admin中的一些参数配置
设置在列表中显示的字段,id为django模型默认的主键list_display('id','name','sex','profession','email','qq','phone','status','create_time')设置在列表可编辑字段list_editable
Wesley13 Wesley13
3年前
MySQL部分从库上面因为大量的临时表tmp_table造成慢查询
背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_
Python进阶者 Python进阶者
9个月前
Excel中这日期老是出来00:00:00,怎么用Pandas把这个去除
大家好,我是皮皮。一、前言前几天在Python白银交流群【上海新年人】问了一个Pandas数据筛选的问题。问题如下:这日期老是出来00:00:00,怎么把这个去除。二、实现过程后来【论草莓如何成为冻干莓】给了一个思路和代码如下:pd.toexcel之前把这