如何使用 Ruby 通过 Paymill 进行付款

Posted

技术标签:

【中文标题】如何使用 Ruby 通过 Paymill 进行付款【英文标题】:How to make a payment via Paymill using Ruby 【发布时间】:2013-02-11 22:54:30 【问题描述】:

我需要向Paymill 付款,并且我希望能够使用 Ruby 语言实现这一目标。

更新:

我确实在 github 上公开发布了 paymill_on_rails。它是一个基于 Rails 4.0.0 和 paymill-ruby 的 Paymill 订阅系统,运行在 ruby​​-2.0.0-p247 上

另见home project

一个示例应用程序也部署在Heroku 上。请随时 fork 并最终做出贡献。

【问题讨论】:

【参考方案1】:

我正在使用来自 https://github.com/dkd/paymill-ruby 的 paymill gem 来做这件事

它非常易于使用,只需按照自述文件进行操作,您就会了解它的可能性。它还支持订阅。

【讨论】:

自述文件缺少很多信息。例如,它如何处理错误?太神秘了【参考方案2】:

我通过以下步骤很容易地做到了这一点:

    在Paymill 创建一个新帐户。

    从 Paymill 设置页面获取公钥和私钥

    安装activemerchant gem:

    gem install activemerchant
    

    我使用以下脚本进行购买

请注意,只要您不在 Paymill 上激活您的帐户,它就会在测试模式下运行。因此,实际上不会转移任何资金。他们还列出了test credit cards,它也永远不会被借记。

脚本:

require 'rubygems'
require 'active_merchant'
require 'json'

# Use the TrustCommerce test servers
ActiveMerchant::Billing::Base.mode = :test

gateway = ActiveMerchant::Billing::PaymillGateway.new(
    :public_key => 'MY_PAYMILL_PUBLIC_KEY', 
    :private_key => 'MY_PAYMILL_PRIVATE_KEY')

gateway.default_currency = 'USD'

# ActiveMerchant accepts all amounts as Integer values in cents
amount = 1000  # $10.00

# The card verification value is also known as CVV2, CVC2, or CID
credit_card = ActiveMerchant::Billing::CreditCard.new(
    :first_name         => 'Bob',
    :last_name          => 'Bobsen',
    :number             => '5500000000000004',
    :month              => '8',
    :year               => Time.now.year+1,
    :verification_value => '000')

# Validating the card automatically detects the card type
if credit_card.valid?

# Capture the amount from the credit card
response = gateway.purchase(amount, credit_card)

if response.success?
puts "Successfully charged $#sprintf("%.2f", amount / 100) to the credit card #credit_card.display_number"
else
raise StandardError, response.message
end
end

【讨论】:

如果您没有适当的 PCI 认证,请不要使用它。相反,请使用 Kryptman 建议的解决方案。原因是信用卡数据应该永远到达您的服务器,除非您拥有适当的 PCI 认证。 (免责声明:我在 PAYMILL 工作) 如何提供电子邮件和客户姓名?我该如何订阅?

以上是关于如何使用 Ruby 通过 Paymill 进行付款的主要内容,如果未能解决你的问题,请参考以下文章

Paymill API:如何更新订阅的信用卡?

如何使用 PayPal-Ruby-SDK 生成授权码以供将来付款?

PayPal iOS sdk - 从移动设备进行单次付款后,我应该从服务器上的 Ruby sdk 进行哪些调用?

使用 rest api 下载现有的贝宝付款

使用 PayPal ruby​​ gem 获取用户的 PayPal 付款

使用 cron 作业或通过条带订阅定期网络挂钩进行条带定期付款?