支持 Android / iOS / HarmonyOS,支付回调里加一行代码,从此告别多后台对账
我是一名独立开发者,手上同时维护着 iOS、Android、鸿蒙三个平台的 App,分别上架了 App Store、Google Play、华为市场,支付渠道也是五花八门:微信、支付宝、Apple Pay、Google Pay……每个月最痛苦的事就是对账。
直到我发现了「开发者收入助手」——它提供了一套离线支付消息推送 API,我只需要在自己后端的支付回调里调用一下,所有订单就会自动同步到手机 App 里,还能实时推送通知。
最关键的是:每天赠送 10 次免费额度,对绝大多数中小开发者来说,完全够用,0 成本。
一、开发者收入助手是什么?
一款专为开发者设计的收入统一管理工具:
- 三端 App:Android、iOS、HarmonyOS,随时随地看收入报表
- 离线支付消息推送 API:后端调用接口上报订单,App 实时收到推送并自动统计
- 多维度智能分析:按支付渠道、套餐、活动、标签、系统平台、设备型号、地区、用户账号自动归类
二、免费额度说明(每日赠送,轻松够用)
为了扶持中小开发者,目前的免费政策是:
每天赠送 10 次 API 调用额度
- 当日未用完的额度不累计到次日
- 超出后接口返回错误码
300,次日自动恢复- 不扣费、不欠款
10 次/天是什么概念?
- 月均 300 次调用
- 假设你每天有 10 笔订单,完全覆盖
- 对于绝大多数独立开发者,每天订单量很难超过 10 笔(除非是大爆款)
如果你某天订单量突然暴涨(比如被首页推荐),可以考虑付费扩容或等到第二天额度重置。对日常使用,完全免费。
三、10 分钟接入实战(附代码)
3.1 准备工作:在 App 中获取凭证
-
下载「开发者收入助手」App
- 应用商店搜索“开发者收入助手”
-
注册登录 → 「API」→「API 秘钥管理」,拿到:
my_account(你的账号)token(API 秘钥)
-
「应用」页面添加应用 → 获得
appid -
(推荐)配置货币、套餐、活动、标签,获取对应 ID
- 如果不配置,可传默认值:
subscription_plan_id=1,activity_id=0,tag_id=0
- 如果不配置,可传默认值:
3.2 接口地址(推荐 POST JSON)
| 方式 | URL | Content-Type |
|---|---|---|
| POST JSON(推荐) | http://www.xunchang888.com.cn/dev/api/v1/pay3.php | application/json |
| POST 表单 | http://www.xunchang888.com.cn/dev/api/v1/pay.php | multipart/form-data |
| GET | http://www.xunchang888.com.cn/dev/api/v1/pay2.php | Query String |
3.3 核心参数速查(必填已标 ✅)
| 参数 | 必填 | 说明 | 示例 |
|---|---|---|---|
my_account | ✅ | 你的账号 | dev@example.com |
token | ✅ | API 秘钥 | abc123... |
appid | ✅ | 应用 ID | 1001 |
order_id | 推荐 | 订单号(用于对账/退款) | ORD_001 |
pay_channel | ✅ | 0=微信 1=支付宝 2=银行卡 3=信用卡 4=Apple Pay 5=Google Pay 6=华为支付 7=其他 | 1 |
currency_id | ✅ | 货币 ID(App 内配置) | 1(CNY) |
payment_amount | ✅ | 金额 | 98.00 |
commission | 可选 | 分成比例,默认 1(例:App Store 70% 分成填 0.7) | 0.7 |
fee | 可选 | 手续费率,默认 0(例:支付宝 0.6% 填 0.006) | 0.006 |
subscription_plan_id | ✅ | 套餐 ID | 5 |
activity_id | ✅ | 活动 ID,不参与填 0 | 0 |
tag_id | ✅ | 标签 ID,不打标签填 0 | 0 |
channel_type | ✅ | 分发渠道:0=App Store 1=Google Play 2=华为市场… | 0 |
system_plaform | ✅ | 系统平台:0=iOS 1=Android 2=HarmonyOS | 0 |
pay_status | ✅ | 0=支付成功 1=取消 2=退款 3=失败 | 0 |
user_account | 可选 | 用户账号(用于 LTV 分析) | user_138**** |
⚠️ 注意:
system_plaform字段名官方拼写少了一个t,请严格保持一致。
3.4 代码示例(Python)
import requests
url = "http://www.xunchang888.com.cn/dev/api/v1/pay3.php"
payload = {
"my_account": "your_account@example.com",
"token": "your_token_here",
"appid": 1001,
"order_id": "PAY_20260321_001",
"pay_channel": 0, # 微信支付
"currency_id": 1,
"payment_amount": 98.00,
"commission": 1.0,
"fee": 0.006,
"subscription_plan_id": 3,
"activity_id": 0,
"tag_id": 0,
"channel_type": 0, # App Store
"system_plaform": 0, # iOS
"system_version": "17.4",
"software_version": "2.1.0",
"pay_status": 0,
"user_account": "user_123456"
}
resp = requests.post(url, json=payload)
result = resp.json()
if result.get("code") == "80000000":
print("✅ 上报成功,手机即将收到推送")
else:
print(f"❌ 失败,错误码 {result.get('code')}: {result.get('msg')}")
3.5 响应与错误码
成功响应:
{ "code": "80000000", "msg": "Success" }
| code | 含义 |
|---|---|
80000000 | 成功 |
0 | 网络错误或无效数据 |
100 | 参数格式不正确 |
200 | API 秘钥与账号不匹配 |
300 | 当日免费额度已用完(第二天重置) |
四、典型集成场景
场景 1:支付回调中直接调用(最常用)
无论你用支付宝、微信还是 Stripe,支付成功后会收到服务器异步通知。在回调函数末尾加上调用即可(建议异步,避免阻塞主流程):
import threading
def payment_callback(request):
# 原有业务:验证签名、更新订单状态、发货
order = process_payment(request)
# 异步上报到开发者收入助手
threading.Thread(target=sync_to_income_assistant, args=(order,)).start()
场景 2:批量导入历史订单
假设你有一张 orders.csv,可以写脚本批量导入(注意控制频率,不要短时间超过每日限额):
import csv, requests, time
with open('orders.csv') as f:
for row in csv.DictReader(f):
payload = {
"my_account": "xxx",
"token": "xxx",
"appid": 1001,
"order_id": row['order_id'],
"payment_amount": float(row['amount']),
"pay_status": 0 if row['status'] == 'success' else 2,
# ... 其他字段
}
resp = requests.post(url, json=payload)
if resp.json().get("code") == "300":
print("额度用尽,今日停止导入")
break
time.sleep(1) # 避免请求过快
场景 3:多渠道 AB 测试分析
想比较「官网直购」和「App Store 内购」哪个转化率高?只需在 channel_type 里区分:
- 官网购买 →
channel_type = 13 - App Store →
channel_type = 0
运行一周后,打开 App 的分析页面,就能看到两个渠道的收入占比和趋势图。
五、注意事项(避坑指南)
5.1 字段名拼写坑:system_plaform
官方文档中 system_plaform 少了一个 t,不要自己改成 system_platform,否则会报参数错误。
5.2 退款处理必须正确
当用户申请退款时,请用相同的 order_id 再次调用接口,并将 pay_status 设为 2(申请退款)。同时 commission 必须与原订单保持一致。App 会自动计算退款金额 = payment_amount × commission 并从总收入中扣除。
5.3 分成与手续费的计算逻辑
App 内部计算净收入的公式:
净收入 = payment_amount × commission - payment_amount × fee
- 例:订单 100 元,App Store 分成 30%(commission=0.7),手续费 0 → 净收入 70 元
- 例:支付宝 100 元,无分成(commission=1),手续费 0.6%(fee=0.006)→ 净收入 99.4 元
退款时扣除金额 = payment_amount × commission(不退还手续费)。
5.4 异步调用避免阻塞
支付回调通常有超时限制(如支付宝 5 秒内需返回响应)。建议将上报逻辑改为异步(如放入消息队列或开新线程),不要阻塞主流程。
5.5 token 安全
token 相当于密码,永远不要放在客户端代码或前端 JS 中,只放在后端服务器环境变量里。
5.6 GET 接口需要 URL 编码
如果使用 GET 方式(pay2.php),所有非数字参数(reason、location、user_account 等)必须进行 URL 编码,否则特殊字符会导致解析失败。
六、为什么推荐给独立开发者?
| 对比项 | 传统方式 | 使用开发者收入助手 |
|---|---|---|
| 查看收入 | 登录 N 个后台 | 一个 App 搞定 |
| 实时性 | T+1 甚至更晚 | 实时推送 |
| 多维度分析 | 手动拉 Excel | 自动生成图表 |
| 接入成本 | 无统一方案 | 10 分钟接入 |
| 费用 | 无 | 每天免费 10 次,0 成本 |
七、如何开始?
-
下载 App
- 应用商店搜索“开发者收入助手”
-
注册并获取凭证(2 分钟)
my_account+token+appid
-
在后端加上 API 调用(5 分钟)
- 复制上面的 Python 示例,替换你的凭证
-
测试一下
- 用测试订单调用接口,看手机是否收到推送
-
上线
- 在正式支付回调中加入异步调用
八、常见问题
Q:每天 10 次免费额度够用吗?
A:对绝大多数独立开发者而言,每天订单量很难超过 10 笔。如果确实不够用(比如你的 App 是大爆款),可以考虑次日额度重置,或者联系官方了解扩容方案。
Q:额度用完会怎么样?
A:接口返回错误码 300,当天不再接受上报。第二天 0 点自动恢复 10 次。
Q:会不会突然收费?
A:官方承诺每日免费额度永久有效。未来若推出付费扩容套餐,会提前公告。
Q:数据安全吗?
A:HTTPS 加密传输,Token 校验,App 仅存储你主动上报的订单字段。
Q:支持海外开发者吗?
A:支持。货币、语言、支付渠道等均可适配国际场景。
总结
「开发者收入助手」用一套极其简单的 API,解决了独立开发者最头疼的「多平台收入统计+实时通知」问题。配合每天 10 次免费额度,可以说是 100% 零成本提升效率 的利器。
如果你也是一个人在战斗,或者小团队想少花精力在对账上,强烈建议试一下。
开始使用:
在应用商店搜索「开发者收入助手」
有任何接入问题,欢迎评论区留言交流~
如果这篇文章对你有帮助,点赞让更多独立开发者看到吧!