ios apple苹果app不能使用微信支付宝充值打赏送礼,请问怎么走苹果内购?
网友回复
是的,必须走苹果内购,你看微信打赏由于没走苹果内购,没使用IAP,直接下架,后来微信去掉了打赏。
那么什么是IAP,即in-app-purchase。(虚拟商品如:课程、视频、音乐等数字产品只能走apple 的内购),苹果要扣除30%的销售额,再扣除一点相关的交易税,用户到手将不到7成。如果是实体的商品是可以使用微信支付宝支付的。内购流程
1.获取内购列表(从App内读取或从自己服务器读取)
2.App Store请求可用的内购列表
3.向用户展示内购列表
4.用户选择了内购列表,再发个购买请求,收到购买完成的回调(购买完成后会把钱打给申请内购的银行卡内)
5.购买流程结束后, 向服务器发起验证凭证以及支付结果的请求
6.自己的服务器将支付结果信息返回给前端并发放虚拟产品
7.服务端的工作比较简单,分4步:
7.1.接收ios端发过来的购买凭证。
7.2.判断凭证是否已经存在或验证过,然后存储该凭证。
7.3.将该凭证发送到苹果的服务器验证,并将验证结果返回给客户端。
7.4.如果需要,修改用户相应的会员权限。
7.5.考虑到网络异常情况,服务器的验证应该是一个可恢复的队列,如果网络失败了,应该进行重试。
简单来说就是将该购买凭证用Base64编码,然后POST给苹果的验证服务器,苹果将验证结果以JSON形式返回。二、流程
1.登录苹果开发者网站新建一个App应用:

3.创建内购商品:
(1).商品名称根据你的消费道具的实际意义来说明,比如“100颗宝石”,“100金币”等。 (2).产品ID是比较重要的,由项目自定义,只要唯一即可,我一般都是用App的bundleID加一个后缀来表示,这样既跟项目关联又具有唯一性。 (3).价格等级的话“查看价格表”中有对应的说明,可以对照着表中每个国家的货币价格与等级来选择。
4.添加沙盒测试者
沙盒测试环境下苹果不会抽成,购买成功后直接返回商品。appid 需要时从未与apple id 从未关联过的账号
appid 可以是任何有效的邮箱地址
5.内购代码封装IapManager.swift:
// // IapManager.swift // tai_chi // // Created by vincent on 2019/10/9. // Copyright © 2019 vincent. All rights reserved. // import Foundation import StoreKit //内购协议 @objc protocol IapManagerProtocol { //商品请求结果回调 func productsResponse(_ response:SKProductsResponse?,error:Error?) //交易成功回调 func completedTransaction(_ transaction:SKPaymentTransaction) //交易失败回调 @objc optional func transactionFail(transaction:SKPaymentTransaction) } //内购管理 class IapManager : NSObject,SKProductsRequestDelegate,SKPaymentTransactionObserver { private static var instance:IapManager? var delegate:IapManagerProtocol? var requestResponse:SKProductsResponse? var requestErr:Error? override init() { super.init() SKPaymentQueue.default().add(self) } //静态方法 static func shared() -> IapManager{ if instance == nil { instance = IapManager() } return instance! } //判断app 是否允许...
点击查看剩余70%
python如何实现torrent的服务端进行文件分发p2p下载?
如何在浏览器中录制摄像头和麦克风数据为mp4视频保存下载本地?
go如何编写一个类似docker的linux的虚拟容器?
python如何写一个bittorrent的种子下载客户端?
ai能通过看一个网页的交互过程视频自主模仿复制网页编写代码吗?
ai先写功能代码通过chrome mcp来进行测试功能最后ai美化页面这个流程能行吗?
vue在手机端上下拖拽元素的时候如何禁止父元素及body的滚动导致无法拖拽完成?
使用tailwindcss如何去掉响应式自适应?
有没有直接在浏览器中运行的离线linux系统?
nginx如何保留post或get数据进行url重定向?