贝宝 gem 多个帐户 ruby rails

paypal gem multiple accounts ruby on rails

我正在使用 paypal-sdk-merchant gem。到目前为止,我已经使用此命令设置了一个商家帐户:

PayPal::SDK.configure(
        :mode      => "sandbox",
        :app_id    => "APP-sdfgjkl",
        :username  => "lprieto-facilitator_api1.hasu.cl",
        :password  => "Z7XGVDCHBJN",
        :signature => "AFcWxV21C7fd0v3bYYYRCpSSRlXDCFVGBHLBRTnmAzXxHddoa5e",
        :sandbox_email_address => "lprieto-facilitator_api1.hasu.cl")

然后使用

创建付款
api         = PayPal::SDK::Merchant::API.new

到目前为止一切正常,但现在我必须根据购买者所在的国家/地区更改 paypal 帐户。 如果我经常更改 PayPal::SDK.configure 会不会有任何一致性问题??

例如,如果一个人在巴西访问并且配置发生变化。然后智利的一个人访问并更改配置。之后,巴西人付钱。它会有巴西配置还是智利配置?

对于在 rails 应用程序的 ruby 中拥有多个 Paypal 帐户,您有什么建议?

提前致谢。

我建议看一下 https://github.com/paypal/PayPal-Ruby-SDK,因为这个 gem 不支持 rails 4 并且将被弃用。

至于你手头的问题:看到 API,你确实需要为每个不同类型的 merchant/country 调用 PayPal::SDK.configure()。您可以为此创建一个 YML 配置文件,例如 config/paypal.yml:

chile:
  mode: sandbox
  app_id: APP-123
  username: user1
  password: pass1
  signature: ABCDEF
  sandbox_email_address: test@example.com

brasil:
  mode: sandbox
  app_id: APP-456
  username: user2
  password: pass2
  signature: GHIJKL
  sandbox_email_address: test2@example.com

并在您的应用中使用它,例如:

@api_chile = PayPal::SDK::Merchant::API.new(:chile)
@api_brasil = PayPal::SDK::Merchant::API.new(:brasil)

希望对您有所帮助!