cccdl/apple_sdk

苹果内购 sdk for php

2.1.2 2024-10-16 01:33 UTC

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',[]);

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

复杂版本的流程图

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

简单版本的流程图

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

文档

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

问题

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

Contributing

You can contribute in one of three ways:

  1. File bug reports using the issue tracker.
  2. Answer questions or fix bugs on the issue tracker.
  3. 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