跳转到内容

环境

每笔交易、每个订阅、每个事件都带有 environment。它们各自值多少钱,由你的后端决定。

环境 来源 应当视为
production App Store、Google Play、Stripe 正式模式、真实广告网络中的真实购买 收入
sandbox App Store 沙盒和 TestFlight、Google 测试购买(许可测试人员)、Stripe 测试模式(sk_test_ 密钥) 不算收入。App 审核走的是沙盒,所以不要一律拒绝
test Kasskeep 测试商店和测试广告 不算收入。正式环境中绝不能发放真实价值
  • Apple:看签名交易本身。apple_environment 设为 production(默认值)时,App 同时接受正式和沙盒交易,并分开存储;设为 sandbox 时只接受沙盒交易。
  • Google:带 testPurchase(订阅)或 testPurchaseContext(一次性商品)的购买记为 sandbox。
  • Stripe:看私钥前缀。sk_test_ 表示 sandbox,sk_live_ 表示 production。如果回调的 livemode 与密钥不一致,会以 400 livemode_mismatch 拒绝。测试密钥和正式密钥请分别用两个 Kasskeep App。
  • 测试商店和测试广告:始终是 test,并带 platform: "test"。

GET /v1/customers/:app_user_id?environment=production 只返回正式环境的记录。不带这个参数时返回所有环境,每条记录都有自己的 environment 字段。

交易在每个环境内唯一,所以沙盒购买永远不会覆盖正式购买。