Stripe 接入指南
前言
Stripe 是一家全球领先的支付处理平台,适合各种规模和行业的企业,相当于国内的微信、支付宝。
Stripe 功能非常强大,但其官方文档以平铺式为主,对于新手接入来说,可能缺少一个完整的流程指引。因此,本篇旨在为首次接入 Stripe 的开发者提供一份简单易懂的指南。尽管官方提供了丰富且灵活的事件和 API,组合方式多种多样,玩法也十分多样化,但本文的重点在于梳理支付的基本流程,帮助大家以最短路径实现接入。
准备工作
以下均为测试环境,也建议大家在测试环境准备
大概分为两部分:
- Stripe 商家端管理后台
- 初始化 sdk
Centos 安装 Docker,并修改源
安装 yum-utils 并添加源
为了安装 Docker,我们需要首先安装yum-utils,以便添加 Docker 的源。
1 | yum install -y yum-utils |
基于位掩码权限设计
在权限设计中有一种非常独特、有意思方案叫 位掩码权限设计 ,它在应对一些局部数据权限(权限点不多)的场景下,非常的犀利,比如 PingCode 知识管理页面权限就结合 ACL 对特定人群(用户、用户组、部门)做权限分配,由于权限点只有两个,开发中体现不是非常突出,也没有把这个思维贯彻到底,不过在最近做的一个小项目(业余时间的玩具)中表现比较明显,这篇文章一直是处于未完成的状态 ,做完这个需求后,有触动把它好好写完,分享下。
再谈单元测试
曾写过多篇测试相关的文章,都源于每次测试给我带来的触动,这次也不例外,最近在重构复杂逻辑时,再次感谢它为我保驾护航,同时也发现了历史测试中存在的一些问题。
测试的意义
这是一个认知问题,如果不清楚为何要写测试,那么最终产生的测试大概率是腐烂、或无意义的。
- 保证代码的正确性,提升代码质量是它最高的使命。
- 保证代码的安全性/稳定性,当对某段代码改动后,测试会告诉哪些代码受到了潜在的问题。
- 可以指导写代码的思路,在测试驱动开发(TDD)体现尤为明显。
- 更能透彻的理解代码,很多情况下,写代码时常常会陷入自己的世界,从测试相当于站在旁观者的角度审视代码,从而提升可读性和扩展性。