货到付款听起来像上个十年的零售,在阿尔及利亚却几乎是默认结账方式。
卡少、对陌生网店不信任、习惯看见货再掏现金——于是大约九成五的线上交易走COD。你用Shopify一类全球平台也能开店,但每单被抽几个点,服务器另算,订单和像素还在别人家里。更糟的是广告:用户一点提交,像素就报转化,可三到五成人到门口会拒收。你在给Meta喂一群“会填表、不收货”的样本。
开源项目 CodFlow 把这门生意的骨架按本地现实重画了一遍:先承认钱在门口才算成交,再把店、配送、现金和广告回传放进同一套可自托管的栈。
仓库:https://github.com/bighadj22/codflow
协议Apache-2.0。原帖写85星,仓库已到90星上下,体量很小。值得看的是问题抓得准,不是星标已经证明能规模化。
它到底堆了哪些硬骨头
README把自己定位成:面向阿尔及利亚的COD优先电商 + 配送平台,并且按Agent可接的方式长出来。
技术上整栈往Cloudflare靠:
- 店面:Astro + Tailwind,落到Workers和静态资源
- 后端:Hono、Drizzle、Better Auth,数据库用D1,图片用R2
- 后台仪表盘同样走Workers
卖点不是又一个主题模板,是这几件本地化的事被写进产品:
零交易手续费的自托管
订单不经过抽成平台。托管成本按官方说法可以压到每月几乎只有Cloudflare账单,前提是你自己运维、自己备域名。生产环境需要自定义域名,Workers默认域名上的互相调用会受限。
四家当地配送,一个接口
Yalidine、ZR Express、NOEST、EcoTrack。EcoTrack背后还能接到更多末端。一键出单、打单、Webhook追踪,覆盖58个省(wilaya)的自提点目录。拒收和部分退货要能回库存,否则COD账会烂在路上。
自有运力
不是只有第三方快递。可以管自己的司机、按省算报酬、做现金交割。COD的核心资产从来不是页面,是谁拿着现金回来、何时回来。
广告回传改到签收
浏览器像素 + 服务端Conversions API,去重后上报。下单可以当Lead,确认送达再报Purchase。拒收不再被当成优质转化。这一步是整套项目里最值得被其他新兴市场抄作业的设计。
为什么Shopify在这里会别扭
全球SaaS默认你已经收了款。库存、物流、广告,都围绕“支付成功”转。
COD反过来:下单只是意向,确认电话是第一道闸,送达是第二道,回款是第三道。中间每一截都有损耗——地址按地标写、末端要三到七天、配送商隔一周或两周才把现金打给你。平台抽点抽在“意向单”上,你的真实成本却发生在拒收和垫货。
CodFlow把店和运放在一起,不是因为全栈好看,是因为COD的账必须按包裹状态算,不能按支付回调算。
做出海的人该抄什么,不该抄什么
可研究的架构:
- 结账按本地习惯做单页COD,运费按省实时算
- 配送商收口成统一API,别在四个后台来回粘贴
- 广告优化目标对准签收,而不是表单提交
- 数据放在自己能搬走的数据库和对象存储里
不要直接复制的幻想:
- “一个月成本为零”忽略了广告、货、拒收运费、确认电话人力
- 85个星的仓库仍有已知限制,文档里单独写了未完成项
- 阿尔及利亚的牌照、税号、电商登记,开源项目替不了
- 狗都不做COD——评论区那种情绪不是没有道理:不预付就把货送出门,现金流和欺诈会一起爆
新兴市场可以类比,不能照搬承运商名单。摩洛哥、埃及、巴基斯坦同样COD重,但末端公司和回款周期不同。抄的是“成交定义”和“像素何时开火”,不是四个阿尔及利亚快递的SDK。
上线前先算清三笔账
- 确认率:打出去的意向单,有多少能核实地址并真正发货
- 签收率:发出去的包裹,有多少在门口变成现金
- 回款周期:现金从司机或承运商回到你账上要几天,这决定你能垫多少广告
像素如果仍在“提交订单”时欢呼,这三笔账会被投放放大成亏损。CodFlow把Purchase挪到签收,是承认广告模型会学习你喂给它的成功定义。定义错了,预算只会更高效地买来拒收。
写在最后
中东北非出海电商看起来像开店,做起来像经营一支收现金的车队。平台抽成和服务器租金是表层摩擦;真正吃利润的是拒收、垫货和一条优化错了的广告回传。
CodFlow把这三件事写进同一套可自托管的Cloudflare栈,并且开源。星不多,说明战场还窄、产品还年轻。对做新兴市场的人,它更像一份会跑的说明书:当百分之九十五的买家只在门口付钱,你的商店、物流和像素必须围着那一扇门转,而不是围着一张国际信用卡转。
仓库:https://github.com/bighadj22/codflow
先读它的限制清单,再决定要不要clone。架构可以借鉴,货和现金还是得你自己接住。




No comments yet