cccdl/apple_sdk

苹果内购 SDK for PHP

2.1.1 2024-09-19 05:52 UTC

This package is auto-updated.

Last update: 2024-09-19 05:53:26 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',[]);

苹果内购流程图 【仅供参考】

复杂版本的流程图

注意:需要防挟持,因为由前端传入的订单号,如果苹果订单号泄漏,那么就会有人拿着你的订单号进行恶意验证,导致你的充值充值到别的账号里面 优点:可以切换账号后,依旧验证原订单,充值的金币只会跟点击充值的账号绑定,并发放,不需担心切换单号丢失的问题 缺点:开发复杂、切换手机依旧无法解决掉单问题 avatar

简单版本的流程图

注意:切换账号如未验证,则会验证成功,充值到别的账号上 优点:开发简单,验证简单 缺点:切换账号后,容易下发到别的账号上 avatar

文档

苹果开发者官网 苹果开发者文档 通过 App Store 验证收据 verifyReceipt requestBody

问题

提交 Issue,不符合指南的问题可能会立即关闭。

贡献

你可以通过以下三种方式之一进行贡献

  1. 使用 issue tracker 提交错误报告。
  2. issue tracker 上回答问题或修复错误。
  3. 贡献新功能或更新 wiki。

代码贡献流程并不非常正式。你只需确保遵循 PSR-0、PSR-1 和 PSR-2 编码指南。任何新的代码贡献都必须附带相应的单元测试(如果适用)。

许可

MIT