cccdl / apple_sdk
苹果内购 sdk for php
Installs: 2 042
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: >=7.1
- ext-json: *
- firebase/php-jwt: ^6.10
- guzzlehttp/guzzle: ^7.3
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is auto-updated.
Last update: 2024-10-16 01:41:48 UTC
README
重要提示:
verifyReceipt 端点已弃用。要在你的服务器上验证收据,请在服务器上执行在设备上验证收据 中的步骤。要在你的服务器上不使用收据验证 App 内购买项目,请调用 App Store Server API 获取顾客的 Apple 签名的交易和订阅信息,或者验证你的 App 获取的 AppTransaction 和 Transaction 签名的数据。你也可以从 App Store Server Notifications V2 获取同样的签名交易和订阅信息。 获取交易历史V1【苹果官网废弃说明】 通过 App Store 验证收据【苹果官网废弃说明】
苹果已经把v1版本废弃了,预计2-3年就会彻底要求迁移
主要新特性
- 简化使用方法
- 调用简单,统一原样返回
- 可执行单元测试
更新日志
安装
运行环境要求PHP7.1+。
$ composer require cccdl/apple_sdk
使用教程
v1.0.0
$app = new Verify(); //开启沙盒模式 true=沙盒 false=生产正式 $app->setSandBox(true); $res = $app->doVerify('苹果凭据');
v2.0.0
$config = Config::getConfig(); $app = new History($config, true); $res = $app->getTransactionHistory('transactionId',[]);
苹果内购流程图 【仅供参考】
复杂版本的流程图
注意:需要防挟持,因为由前端传入的订单号,如果苹果订单号泄漏,那么就会有人拿着你的订单号进行恶意验证,导致你的充值充值到别的账号里面 优点:可以切换账号后,依旧验证原订单,充值的金币只会跟点击充值的账号绑定,并发放,不需担心切换单号丢失的问题 缺点:开发复杂、切换手机依旧无法解决掉单问题
简单版本的流程图
注意:切换账号如未验证,则会验证成功,充值到别的账号上 优点:开发简单,验证简单 缺点:切换账号后,容易下发到别的账号上
文档
苹果开发者官网 苹果开发者文档 通过 App Store 验证收据 verifyReceipt requestBody
问题
提交 Issue,不符合指南的问题可能会立即关闭。
Contributing
You can contribute in one of three ways:
- File bug reports using the issue tracker.
- Answer questions or fix bugs on the issue tracker.
- Contribute new features or update the wiki.
The code contribution process is not very formal. You just need to make sure that you follow the PSR-0, PSR-1, and PSR-2 coding guidelines. Any new code contributions must be accompanied by unit tests where applicable.
License
MIT