【问题标题】:Validating user's API credentials - Rails, ActiveMerchant, and PayPal Express Gateway验证用户的 API 凭证 - Rails、ActiveMerchant 和 PayPal Express Gateway
【发布时间】:2010-10-05 06:33:35
【问题描述】:

我正在构建一个使用 PayPal Express 的市场应用程序。我有一个表格供卖家输入他们的 PayPal API 凭据,但我需要一种方法来通过对 PayPal 进行某种调用来验证它们。

我在 ActiveMerchant 中使用 PaypalExpressGateway,除了标准的购买控件外,我没有看到任何其他内容。有什么可以使用的空操作吗?

任何帮助将不胜感激!

【问题讨论】:

    标签: ruby-on-rails e-commerce paypal activemerchant


    【解决方案1】:

    我个人没有答案。但我知道 Railscasts.com 的 Ryan Bates 最近专门为 ActiveMerchant 和 Paypal 投放了六集(!)。在railscasts.com查看第 141 到第 146 集。

    【讨论】:

      【解决方案2】:

      出于安全原因,无法检查电子邮件是否为有效的贝宝帐户。如果确实需要帐户有效性,您可以随时进行小额交易,然后将其作废。

      【讨论】:

        【解决方案3】:

        PayPal 确实有一个AddressVerify API。它确认邮政地址和邮政编码是否与指定 PayPal 帐户持有人的邮政编码匹配。事实上,我现在正在我们的网站上实施它。

        您可以在此处阅读更多信息:
        https://www.x.com/docs/DOC-1162#id0862M0QH02L

        这里:
        https://cms.paypal.com/us/cgi-bin/?&cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_AddressVerify

        【讨论】:

          【解决方案4】:

          我为此目的使用TransactionSearch 操作。通过指定STARTDATE=2100-01-01 00:00:00,它基本上会导致无操作。

          它将为您验证凭据,而无需卖家提供任何额外输入。

          【讨论】:

            【解决方案5】:

            好的,4 小时后...

            模块 ActiveMerchant #:nodoc: 模块计费#:nodoc: 类 PaypalExpressGateway 2 xml.tag! 'GetBalanceReq', 'xmlns' => PAYPAL_NAMESPACE 做 xml.tag! 'GetBalanceRequest', 'xmlns:n2' => EBAY_NAMESPACE 做 xml.tag! 'n2:版本',API_VERSION xml.tag! 'n2:ReturnAllCurrencies', '1' 结尾 结尾 xml.target! 结尾 结尾 结尾 结尾 类 SellerMerchantValidator

            感谢 Neils 检查 TransactionSearch 的想法。

            如果有更好的方法来检查是否有任何 api 字段发生更改,请告诉我。

            【讨论】:

              【解决方案6】:

              API 中还调用了 GetBalance。 Some sample code

              看起来是最简单(也是最快?)的方法。

              【讨论】:

                【解决方案7】:

                没错,所以如果你想使用 ActiveMerchant 测试用户的凭据,请使用网关上的 transaction_search 方法

                https://github.com/Shopify/active_merchant/blob/cb72e0f9c58f57b1293e6e976229b26cfbfee6a8/lib/active_merchant/billing/gateways/paypal/paypal_common_api.rb

                此示例将返回成功(确保填写您的测试凭据)

                @username = ''
                @password = ''
                @signature = ''
                gateway = ActiveMerchant::Billing::PaypalExpressGateway.new(
                  login:      @username,
                  password:   @password,
                  signature:  @signature,
                  test:       true
                )
                
                gateway.transaction_search({start_date: DateTime.now})
                

                【讨论】:

                  猜你喜欢
                  • 2013-07-25
                  • 2014-07-18
                  • 1970-01-01
                  • 2013-05-25
                  • 2021-10-09
                  • 2012-06-30
                  • 2013-05-14
                  • 2013-05-25
                  • 2012-09-01
                  相关资源
                  最近更新 更多