Kill Bill 是一个开源的计费及支付平台。主要目的是对相关的支付平台等进行了整合。
官网:http://killbill.io/
- 有计划管理的订阅引擎,支持添加绑定多个订阅
- 计价赢钱,支持多种方式的账单
- 有状态改变路由的支付状态及,支持多种支付网关
- 插件架构,允许使用java或ruby根据你的业务逻辑增加更多的个性化功能
支持Java,Ruby,Python等多种语言
一般使用方式如下:
- 初始化
curl http://killbill.io/wp-content/uploads/2014/11/killbill-0.12.0.ddl | mysql -h 127.0.0.1 -ukillbill -pkillbill killbill curl https://raw.githubusercontent.com/killbill/killbill-stripe-plugin/master/db/ddl.sql | mysql -h 127.0.0.1 -ukillbill -pkillbill killbill curl https://raw.githubusercontent.com/killbill/killbill-paypal-express-plugin/master/db/ddl.sql | mysql -h 127.0.0.1 -ukillbill -pkillbill killbill
- 安装Tomcat
- Kill 初始化
killbill: version: 0.12.1 webapp_path: /var/tmp/tomcat/webapps/ROOT.war plugins_dir: /var/tmp/bundles plugins: ruby: - name: paypal-express-plugin version: 1.8.1 - name: stripe-plugin version: 1.0.0
kpm install kpm.yml
Paypal setup
:paypal_express: :signature: 'your-paypal-signature' :login: 'your-username-facilitator.something.com' :password: 'your-password' :test: true :database: :adapter: 'jdbcmysql' :jndi: 'killbill/osgi/jdbc' :connection_alive_sql: 'select 1' :pool: 25
建立集成账户
curl -v \ -X POST \ -u admin:password \ -H 'Content-Type: application/json' \ -H 'X-Killbill-CreatedBy: admin' \ -d '{"apiKey": "bob", "apiSecret": "lazar"}' \ "http://127.0.0.1:8080/1.0/kb/tenants"
接下来,就可以在应用中集成Kill了。示例如下
建立账户,这个是假设在电商中已经存在账户,所以需要建立完以后,到Kill 中建立账户
curl -v \ -u admin:password \ -H "X-Killbill-ApiKey: bob" \ -H "X-Killbill-ApiSecret: lazar" \ -H "Content-Type: application/json" \ -H "X-Killbill-CreatedBy: demo" \ -X POST \ --data-binary '{"name":"John Doe","email":"john@example.com","externalKey":"john-doe-1234","currency":"USD"}' \ "http://127.0.0.1:8080/1.0/kb/accounts"
将用户的paypal 账户集成到kill bill中
curl -v \ -X POST \ -u admin:password \ -H 'Content-Type: application/json' \ -H 'X-Killbill-ApiKey:bob' \ -H 'X-Killbill-ApiSecret:lazar' \ -H 'X-Killbill-CreatedBy: creator' \ --data-binary '{ "pluginName": "killbill-stripe", "pluginInfo": { "properties": [ { "key": "token", "value": "t3GER3BP3JHLASZe" } ] } }' \ "http://127.0.0.1:8080/1.0/kb/accounts/268983f2-5443-47e4-a967-b8962fc699c5/paymentMethods?isDefault=true"
接下来可以使用Paypal 进行支付,首先需要在Paypal 中申请Token
curl -v \ -X POST \ -u admin:password \ -H 'Content-Type: application/json' \ -H 'X-Killbill-ApiKey:bob' \ -H 'X-Killbill-ApiSecret:lazar' \ -H 'X-Killbill-CreatedBy: creator' \ --data-binary '{ "kb_account_id": "13d26090-b8d7-11e2-9e96-0800200c9a66", "currency": "USD", "options": { "return_url": "http://www.google.com/?q=SUCCESS", "cancel_return_url": "http://www.google.com/?q=FAILURE", "billing_agreement": { "description": "Your subscription" } } }' \ "http://127.0.0.1:8080/plugins/killbill-paypal-express/1.0/setup-checkout"
获取token以后可以开始支付第二步
curl -v \ -X POST \ -u admin:password \ -H 'Content-Type: application/json' \ -H 'X-Killbill-ApiKey:bob' \ -H 'X-Killbill-ApiSecret:lazar' \ -H 'X-Killbill-CreatedBy: creator' \ --data-binary '{ "pluginName": "killbill-paypal-express", "pluginInfo": { "properties": [ { "key": "token", "value": "EC-20G53990M6953444J" } ] } }' \ "http://127.0.0.1:8080/1.0/kb/accounts/268983f2-5443-47e4-a967-b8962fc699c5/paymentMethods?isDefault=true"
第三步:开始支付
curl -v \ -u admin:password \ -H "X-Killbill-ApiKey: bob" \ -H "X-Killbill-ApiSecret: lazar" \ -H "Content-Type: application/json" \ -H "X-Killbill-CreatedBy: demo" \ --data-binary '{"transactionType":"PURCHASE","amount":"10","currency":"USD"}' \ "http://127.0.0.1:8080/1.0/kb/accounts/268983f2-5443-47e4-a967-b8962fc699c5/payments"
所以整体来讲,是老外对Paypal等常见的支付模式进行了一个封装。大家有兴趣可以仔细研究。
更多精彩请关注微信 : 图灵搜索
请大家使用中国第一个为程序员打造的搜索引擎:图灵搜索,https://www.tulingss.com
相关推荐
在过去的10年中,Kill Bill一直是领先的开源订阅计费和支付平台。 该平台可帮助您扩展计费和支付基础架构并发展业务。 开箱即用,您可以访问实时分析和财务报告。 并且由于您可以控制业务和客户数据,因此可以避免...
matrix-toolkits-java.zip,矩阵数据结构、线性解算器、最小二乘法的综合集合,
load-balancer.zip,restcomm聚合负载平衡器jarrestcomm聚合(sip/http/websockets/smpp)负载平衡器
killbill-bitpay-plugin 使用作为网关的插件。 可在使用org.kill-bill.billing.plugin.ruby:bitpay-plugin协调发布版本。 杀死比尔的兼容性 插件版本 杀死比尔版本 0.0.y 0.14.z 要求 该插件需要一个数据库。 ...
资源分类:Python库 所属语言:Python 资源全名:nodeconductor-killbill-0.5.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
mytechia_commons.zip,在Java中编程的通用工具集合。MyTeCiaCuMon库是在Java中编程时有用的通用工具的集合。
仪表计量器模块负责汇总使用情况信息(例如,将单个网站的综合浏览量汇总为每日或每月汇总)。 有关计费方面,请参阅用法模块。 可在使用org.kill-bill.billing.plugin.java:meter-plugin坐标发布版本。
killbill-deposit-plugin杀死Bill Deposit插件。杀死比尔的兼容性插件版本杀死比尔版本0.yz 0.22.z要求该插件需要一个数据库。可以在找到该架构的最新版本。安装本地: kpm install_java_plugin deposit --from-...
HBaseWD.zip,todohbase写入分发服务器
semverfi.zip,永远忠诚,永远忠诚的语义版本永远忠诚,永远忠诚的语义版本
java-goinstant-auth.zip,Java应用程序的GoInstant身份验证。Java应用程序的GoInstant身份验证
lint-maven-plugin.zip,生成可疑/不一致POM元素的报告,如果发现冲突,则可能导致生成失败。不再支持Maven-***的POM lint插件***
oauth.zip,OAuth_2.5允许您构建OAuth服务器的代码
relames.zip,来自Sun的MSV项目的已中止RELAX-NG-+Schematron能力验证程序的现代版本来自Sun的MSV项目的已中止RELAX-NG-+Schematron能力验证程序的现代版本
fb-android-bluetooth.zip,在android上使用蓝牙的助手库
gwt-ga.zip,gwt google analytics library一个简单的gwt库,用于与google analytics交互
killbill-java-plugin-两个servlet 用两个Servlet杀死Java中的Bill插件。 它显示了如何: 使用Maven构建OSGI插件听《杀死比尔》活动从插件调用Kill Bill API 注册两个自定义HTTP Servlet 要构建,请运行mvn clean ...
scalacheck-shapeless.zip,scalacheck-shapeless_1.13生成具有scalacheck和shapeless的任意case类/adts实例