`

30天了解30种技术系列---(25)开源的计费及支付平台--killbill

阅读更多

 

    Kill Bill 是一个开源的计费及支付平台。主要目的是对相关的支付平台等进行了整合。

 

    官网:http://killbill.io/

  

  1.     有计划管理的订阅引擎,支持添加绑定多个订阅
  2.     计价赢钱,支持多种方式的账单
  3.     有状态改变路由的支付状态及,支持多种支付网关
  4.     插件架构,允许使用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

 

2
1
分享到:
评论

相关推荐

    killbill-queue-0.2.8.zip

    《killbill-queue-0.2.8.zip》与《matrix-toolkits-java.zip》是两个不同的开源项目,它们在IT领域中各自扮演着重要的角色。让我们分别来探索这两个项目的详细内容。 首先,我们来看《killbill-queue-0.2.8.zip》。...

    killbill-jdbi-0.20.zip

    KillBill 是一个开源的计费和订阅管理平台,它允许开发者创建复杂的计费模型,支持灵活的定价策略,并提供了账单生成、支付处理以及订阅管理等功能。在 KillBill 的架构中,数据库操作是非常关键的一环,确保了数据...

    killbill:开源订阅计费和支付平台-Open source

    在过去的10年中,Kill Bill一直是领先的开源订阅计费和支付平台。 该平台可帮助您扩展计费和支付基础架构并发展业务。 开箱即用,您可以访问实时分析和财务报告。 并且由于您可以控制业务和客户数据,因此可以避免...

    killbill-account-0.2.0.zip

    《Killbill-Account-0.2.0与fb-android-bluetooth:开源项目在Android蓝牙应用中的实践》 在IT行业中,开源项目一直是技术创新的重要驱动力,它们为开发者提供了丰富的资源和学习平台。本文将深入探讨两个开源项目...

    killbill-osgi-bundles-test-payment-0.6.1.zip

    【标题】:“killbill-osgi-bundles-test-payment-0.6.1.zip”是一个开源项目的压缩包,其中包含了KillBill OSGi Bundle测试支付模块的0.6.1版本。 【描述】:“lint-maven-plugin.zip”是Maven的一个插件,它的...

    killbill-internal-api-0.17.2.3.zip

    首先,"killbill-internal-api-0.17.2.3.zip"是一款名为Killbill的开源账单处理平台的内部API库。Killbill是一个灵活、可扩展的计费系统,支持订阅和一次性计费模式。它提供了强大的API,允许开发者集成到各种业务...

    killbill-osgi-bundles-lib-slf4j-osgi-0.8.4.zip

    【标题】"killbill-osgi-bundles-lib-slf4j-osgi-0.8.4.zip" 是一个基于OSGi的 Kill Bill 库,其中包含了SLF4J(Simple Logging Facade for Java)的OSGi兼容版本。SLF4J是一个为各种日志框架提供简单抽象的接口,...

    killbill-beatrix-0.8.13.zip

    总结来说,"killbill-beatrix-0.8.13.zip" 和 "easygson.zip" 分别代表了开源计费平台Killbill的测试工具和一个优化JSON处理的Java库。这两个项目共同体现了开源社区对提升开发者生产力和简化复杂任务的持续追求,...

    killbill-api-0.1.68.zip

    今天,我们将深入探讨一个名为"killbill-api-0.1.68.zip"的开源项目,该项目包含了一个实验性的Scala库——Scala.Rx,它是一种函数式反应式编程(FRP)库。让我们一起揭开这个神秘面纱,了解其背后的技术原理和应用...

    killbill-junction-0.1.33.zip

    "killbill"通常是一个开源计费和订阅管理平台的名称,而"junction"可能是该平台的一个模块或插件,可能用于集成或连接不同的组件。由于没有提供更多的描述,我们只能根据命名猜测它的功能可能与系统间的交互、集成或...

    killbill-util-0.1.48.zip

    《KillBill Util 0.1.48与HBaseWD:开源项目的深度解析》 KillBill Util 0.1.48是一个强大的工具包,它为开发者提供了在处理HBase数据库时的一系列实用功能。HBase是Apache的一个分布式、列式存储的NoSQL数据库,...

    killbill-usage-0.1.62.zip

    标题中的"killbill-usage-0.1.62.zip"是一个软件的使用数据包,其版本号为0.1.62。在IT行业中,版本号是追踪软件开发进度和变化的重要标志。遵循的是语义化版本(Semantic Versioning,简称SemVer)规则,即X.Y.Z的...

    killbill-api-0.1.63.zip

    对于开发者来说,理解"killbill-api-0.1.63.zip"和"webdir.zip"的结合使用,意味着他们能够搭建一个环境,不仅能够处理Killbill平台的账单和订阅管理,还能通过"webdir"便捷地管理与Killbill交互过程中涉及的文件...

    killbill-platform-lifecycle-0.22.zip

    MyTeCiaCuMon库作为一个开源项目,开发者可以查看其源代码,了解实现细节,甚至参与到项目的改进和扩展中去。社区的贡献使得这个库能够持续进化,适应不断变化的开发环境。 总的来说,MyTeCiaCuMon库是一个针对Java...

    killbill-bitpay-plugin:使用BitPay作为网关的插件

    killbill-bitpay-plugin 使用作为网关的插件。 可在使用org.kill-bill.billing.plugin.ruby:bitpay-plugin协调发布版本。 杀死比尔的兼容性 插件版本 杀死比尔版本 0.0.y 0.14.z 要求 该插件需要一个数据库。 ...

    killbill-catalog-0.8.8.zip

    【标题】"killbill-catalog-0.8.8.zip" 涉及的知识点主要集中在Kill Bill项目和其相关的Catalog模块。Kill Bill是一个开源的计费和订阅管理平台,它提供了一整套灵活的API,允许开发者创建复杂的定价计划、优惠策略...

    Python库 | nodeconductor-killbill-0.5.1.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:nodeconductor-killbill-0.5.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

Global site tag (gtag.js) - Google Analytics