【发布时间】:2015-01-20 19:00:56
【问题描述】:
我正在构建我的第一个 Rails 应用程序,并且正在尝试将 PayPal 自适应支付(链式)集成到应用程序中。我对他们的集成指南感到非常困惑,我搜索了谷歌和 SO,看看其他人的问题是否可以帮助我弄清楚如何设置它,但我比开始时更迷茫。我只需要一些基本的指导,希望 PayPal 的某个人会阅读这篇文章并更新他们的文档。
首先,我安装了这个gem,https://github.com/paypal/PayPal-Ruby-SDK,它自动安装了这个paypal.yml配置文件:
test: &default
# Credentials for REST APIs
client_id: EBWKjlELKMYqRNQ6sYvFo64FtaRLRR5BdHEESmha49TM
client_secret: EO422dn3gQLgDbuwqTjzrFgFtaRLRR5BdHEESmha49TM
# Mode can be 'live' or 'sandbox'
mode: sandbox
# Credentials for Classic APIs
app_id: APP-80W284485P519543T
username: jb-us-seller_api1.paypal.com
password: WX4WTU3S8MY44S7F
signature: AFcWxV21C7fd0v3bYYYRCpSSRl31A7yDhhsPUU2XhtMoZXsWHFxu-RWy
# # With Certificate
# cert_path: "config/cert_key.pem"
sandbox_email_address: Platform.sdk.seller@gmail.com
# # IP Address
# ip_address: 127.0.0.1
# # HTTP Proxy
# http_proxy: http://proxy-ipaddress:3129/
# verbose_logging: true
development:
<<: *default
production:
<<: *default
mode: live
问题 1:我是使用这些凭据还是将它们更改为我的 PayPal 沙盒凭据?
接下来,read.me 文件会指示您从指定文件加载配置:
PayPal::SDK::Core::Config.load('spec/config/paypal.yml', ENV['RACK_ENV'] || 'development')
或者没有配置文件:
PayPal::SDK.configure(
:mode => "sandbox", # "sandbox" or "live"
:client_id => "EBWKjlELKMYqRNQ6sYvFo64FtaRLRR5BdHEESmha49TM",
:client_secret => "EO422dn3gQLgDbuwqTjzrFgFtaRLRR5BdHEESmha49TM",
:ssl_options => { } )
问题 2:将这些文件加载到哪里?我不确定这段代码在应用程序的哪个位置。
接下来,它提供了以下代码来创建导致...的付款..
问题3:这段代码放在哪个文件里?我猜它会出现在带有 PayPal 支付按钮的模型中,但我不确定。
require 'paypal-sdk-rest'
include PayPal::SDK::REST
PayPal::SDK::REST.set_config(
:mode => "sandbox", # "sandbox" or "live"
:client_id => "EBWKjlELKMYqRNQ6sYvFo64FtaRLRR5BdHEESmha49TM",
:client_secret => "EO422dn3gQLgDbuwqTjzrFgFtaRLRR5BdHEESmha49TM")
# Build Payment object
@payment = Payment.new({
:intent => "sale",
:payer => {
:payment_method => "credit_card",
:funding_instruments => [{
:credit_card => {
:type => "visa",
:number => "4417119669820331",
:expire_month => "11",
:expire_year => "2018",
:cvv2 => "874",
:first_name => "Joe",
:last_name => "Shopper",
:billing_address => {
:line1 => "52 N Main ST",
:city => "Johnstown",
:state => "OH",
:postal_code => "43210",
:country_code => "US" }}}]},
:transactions => [{
:item_list => {
:items => [{
:name => "item",
:sku => "item",
:price => "1",
:currency => "USD",
:quantity => 1 }]},
:amount => {
:total => "1.00",
:currency => "USD" },
:description => "This is the payment transaction description." }]})
# Create Payment and return the status(true or false)
if @payment.create
@payment.id # Payment Id
else
@payment.error # Error Hash
end
谁能给我一些基本的指导或建议?我还发现 PayPal 的集成文档根本没有提到 PayPal Ruby Gem,所以我想知道安装它是否是一个错误。感谢您的时间。
【问题讨论】:
标签: ruby-on-rails-4 paypal paypal-adaptive-payments