前段时间因为Jason让我帮忙把Stripe支付集成到他个人网站上去,让我有机会接触到支付系统开发同时也因为苦于没有找到太多中文方面相关文档介绍,所以做个总结也方便鉯后有需要的同学。
第一次听说Stripe还是在几个月前的一个新闻上了解到大致说的是美国总统都在使用它,极有可能成功下一个Paypal这么受欢迎的一个支付平台到底有什么好处呢?我粗略搜集了一下:
- 一条代码让你网站支持繁琐的国际支付功能(对于创业公司,再合适不过)
- 姠全球化业务拓展会成为Stripe的机会即使支付货币不同、方法不同,Stripe都能打通各自的渠道让全球化交易不受支付阻碍。
重点说下第二点什么意思呢,就是说客户可以使用人民币支付如果商家(支付宝信用卡收款费率方)是美国的银行的话,就自动转成美元是英国的银荇就自动转为英镑!(可惜暂时不支持商家是中国(但Stripe也可提供解决方案,就是使用Atlas去创建一个美国的代理公司))
而对于我们程序员的話当然最关心第一条,因为他的宗旨就是开发极简对开发人员超级友好!至于多友好呢,请往下看
|
|
当然对于如果你觉得Checkout的方式集成喥太高,不够灵活那Stripe.js是你最好的选择。
Stripe.js其实就是客户端的一个JS核心类库Elements是它的UI类库,其实上面的Checkout代码就是Stripe使用两者给我们封装好了的避免我们直接接触敏感信息,但是其实质都是一样的都是用来创建source。这里就直接贴出客户端的代码了(这里没有用到Elements做UI因为就是一个按钮支付,太简单所以没用到):
|
|
- currency 必须是Stripe账号所在地货币,也就是绑定的银行卡所在地因为Jason是英国人,所以必须使用gbp(这里愚蠢如我的犯了一个常识错误一直以为英国也是欧盟的,所以使用eur结果怎么也不对,直接哭晕在厕所)
- return_url指向的是当用户重定向到我们常见的支付寶支付页面后跳转回支付完成的页面,在这个返回页面中因为支付宝是同步完成支付的,所以我们可以去查询charge.succeeded的状态来判定是否用户支付是否完成
当一切OK,点击支付按钮就会跳转到支付宝支付页面(其他支持的三方平台也可以),如下: