【问题标题】:PayPal Adaptive Payments Rails App ConfigurationPayPal 自适应支付 Rails 应用配置
【发布时间】: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


    【解决方案1】:

    请注意,我们的 REST API 还没有自适应支付功能,因此您需要使用适用于 Ruby 的自适应支付 SDK,可以从这里下载 https://github.com/paypal/adaptivepayments-sdk-ruby

    问题 1:我是使用这些凭据还是将它们更改为我的 PayPal 沙盒凭据?

    您需要使用您的 Sandbox 帐户 API 凭据。您可以在https://developer.paypal.com/webapps/developer/applications/accounts 上查看您的 Sandbox 帐户 API 详细信息(请使用您的真实 PayPal 帐户登录,您将看到您的 Sandbox 帐户列表。单击您要使用的 Sandbox 帐户,然后单击“个人资料”,您'将在“API 凭据”选项卡下看到您的 API 凭据。您可以在 Sandbox 中使用应用 ID APP-80W284485P519543T。使用 Adaptive Payments,您需要您的 API 用户名、API 密码、API 签名和应用 ID。

    问题 2:将这些文件加载​​到哪里?我不确定这段代码在应用程序的哪个位置。

    我建议在https://github.com/paypal/adaptivepayments-sdk-ruby/tree/master/samples查看我们的样品

    问题3:这段代码放在哪个文件里?我猜它会出现在带有 PayPal 支付按钮的模型中,但我不确定。

    您提供的代码仅适用于 REST API。对于自适应支付,请下载我在答案 1 中提到的正确 SDK 并查看示例。

    【讨论】:

    • 感谢您的信息。正确 SDK 的示例和 read.me 也令人困惑。我会更清楚地重新发布我的问题。
    猜你喜欢
    • 2011-06-16
    • 2015-07-19
    • 2012-04-10
    • 2021-08-04
    • 2014-10-13
    • 2013-11-10
    • 2013-11-07
    • 2016-02-10
    • 2014-01-23
    相关资源
    最近更新 更多