iOS开发--应用内购买

在最近的这个项目中做到了应用内购买钻石功能,在这个功能点上之前也是没有任何经验 通过百度得到了答案,这里博主就不把应用内购买的代码列出来

网上有很多,难度并不大,但是应用内购买应注意的事项我认为有以下几点:

1.在ituns connect主页里保证税务,协议和银行业务的功能项已经开通好了,否则是无法注册购买的产品的信息

2.注册购买产品的product id需要用到程序代码里,所以程序代码中product id 就是注册的产品id.

3.在程序代码中拿到产品信息后支付完成后需要拿到一个叫做SKPaymentTransaction对象里边的一个属性:transactionReceipt 返回的是一个nsdata类型

但是我们应该用字符串接收,因为这些数据是要发送给自己的服务器进行验证的(verifyReceipt)一句代码如下:

 NSString *templeTransactionRe = [[NSString alloc] initWithData:transaction.transactionReceipt encoding:NSUTF8StringEncoding];

获得收据后需要发送给服务器验证,因为这里涉及到测试服务器和正式服务器两个地址,所以我当时是通过判断收据中是否包含关键字“sandbox”(也可以通过返回的code码) 如果有这个value 说明是测试环境下拿到的收据 这时我们需要服务器选择测试地址进行验证,否则是正式环境的地址

博主当初在第三步花了比较长的时间 没经验没办法。所以现在特意写下来

4.缓存:这是第三步涉及到的缓存 是因为苹果扣钱在先 本地服务器验证收据在后!如果苹果已经扣走了用户的钱,而在本地服务器请求验证时突然间网络断了或是别的原因导致验证失败而没有返回给用户相应的虚拟币或钻石之类的(这种情况很严重的),这时需要把收据和交易单号存到本地数据库,在用户下一次进入到此界面应及时调出数据库中的收据再一次请求本地服务器返回给用户相应的虚拟币或钻石!这样不会让用户白白损失“几个亿”(切记这里的缓存的重要性)

转载于:https://www.cnblogs.com/billy-chou/p/5504307.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
iOS开发中,支付是一个非常重要的功能。在开发支付时,需要考虑到支付流程、支付方式、支付安全等方面的内容。以下是一些开发支付的要点: 1. 集成支付SDK iOS开发中,一般使用第三方支付SDK来实现支付功能。常见的支付SDK包括:支付宝SDK、微信支付SDK、银联支付SDK等。在使用SDK前,需要先注册开发者账号,并获取相应的API Key和App ID等信息。 2. 支付流程 支付流程一般包括以下几个步骤: - 用户选择支付方式; - 向支付平台发起支付请求; - 用户输入支付密码; - 支付平台返回支付结果; - 应用根据支付结果进行相应的处理。 3. 支付安全 支付安全是非常重要的。在开发中,需要考虑到以下方面: - 用户信息的安全保护:包括用户的账号、密码、支付信息等; - 支付数据的安全保护:对于涉及到支付的数据,需要采用加密算法进行保护,避免被非法攻击者窃取; - 安全审计:需要对支付过程中的各个环节进行安全审计,及时发现并修复漏洞。 4. 支付方式 在iOS开发中,常见的支付方式包括: - 支付宝支付:支持PC端、移动端、扫码支付等多种支付方式; - 微信支付:支持微信内支付、H5支付、APP支付等多种支付方式; - 苹果支付:支持应用购买,用户可以直接使用Apple ID进行支付。 需要根据应用的实际情况,选择适合的支付方式。 总之,开发支付需要考虑到多个方面的内容,包括支付流程、支付方式、支付安全等,需要仔细规划和实现,以保证支付功能的正常运作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值