项目作者: gaoyuexit

项目描述 :
a simple handle IAP tool
高级语言: Swift
项目地址: git://github.com/gaoyuexit/GYInpurchase.git
创建时间: 2017-05-25T07:45:12Z
项目社区:https://github.com/gaoyuexit/GYInpurchase

开源协议:

下载


GYInpurchase

Overview

GYInpurchase is a simple example to show how to use in-app purchase. (这个是一个简单的实例demo来展示如何使用内购)

How to use

  1. //购买
  2. let productIdentifiers: Set<String> = ["a", "b", "c"]
  3. Inpurchase.default.start(productIdentifiers: productIdentifiers, successBlock: { () -> Order in
  4. return (productIdentifiers: "a", applicationUsername: "该用户的id或用户的唯一标识符")
  5. }, receiptBlock: { (receipt, transaction, queue) in
  6. //交易成功返回了凭证
  7. let data = InpurchaseAPIData(accountID: transaction.payment.applicationUsername,
  8. transactionID: transaction.transactionIdentifier,
  9. receiptData: receipt)
  10. LPNetworkManager.request(Router.verifyReceipt(data)).showToast().loading(in: self.view).success {[weak self] in
  11. showToast("购买成功")
  12. // 记住一定要请求自己的服务器成功之后, 再移除此次交易
  13. queue.finishTransaction(transaction)
  14. }.fail {
  15. print("向服务器发送凭证失败")
  16. }
  17. }, failBlock: { (error) in
  18. print(error)
  19. })
  20. //应用启动后
  21. Inpurchase.default.unFinishedTransaction = {(receipt, transaction, queue) in
  22. // 如果存在掉单情况就会走这里
  23. let data = InpurchaseAPIData(accountID: transaction.payment.applicationUsername,
  24. transactionID: transaction.transactionIdentifier,
  25. receiptData: receipt)
  26. LPNetworkManager.request(Router.verifyReceipt(data)).showToast().loading(in: self.view).success {[weak self] in
  27. showToast("恢复购买成功")
  28. // 记住一定要请求自己的服务器成功之后, 再移除此次交易
  29. queue.finishTransaction(transaction)
  30. }.fail {
  31. print("向服务器发送凭证失败")
  32. }
  33. }

Author

gaoyu, gaoyuexit@gmail.com

License

GYInpurchase is available under the MIT license. See the LICENSE file for more info.