Active Merchant是一個更加靈活的選擇,因爲它可以讓您的公司在沒有重大代碼更改的情況下自由更換網關。最初的問題是如何將其與Active Merchant集成,而不是如何使用BT的專有API。這是我在挖掘代碼後發現的答案。您可以在「帳戶」 - >「我的用戶」 - >「API密鑰」下找到您的公鑰,私鑰和商家ID。
gateway = ActiveMerchant::Billing::BraintreeGateway.new(
:merchant_id => 'Your Merchant ID',
:public_key => 'Your Public Key',
:private_key => 'Your Private Key'
)
creditcard = ActiveMerchant::Billing::CreditCard.new(
:type => 'visa',
:number => '41111111111111111',
:month => 10,
:year => 2014,
:first_name => 'Bob',
:last_name => 'Bobsen'
)
response = gateway.purchase(1000, creditcard)
STDERR.puts response.success?
STDERR.puts response.message
STDERR.puts response.authorization
與Braintree的ruby API相比,ActiveMerchant是一個糟糕的API。它僅支持非常簡單的用例,但您關於更改網關的觀點是有效的。 – Montdidier
Braintree的Ruby ruby API可以實現ActiveMerchant無法做到的事情? –
Braintree具有一些很好的功能: HostedFields(你的應用程序中沒有任何地方可以看到CC的詳細信息)或者nonce,所以只有網頁才能看到它(所以你相信JS的東西是安全的)。 –