Ruby on rails Heroku上的Paypal商户sdk ruby授权问题

Ruby on rails Heroku上的Paypal商户sdk ruby授权问题,ruby-on-rails,ruby,heroku,paypal,Ruby On Rails,Ruby,Heroku,Paypal,我在rails应用程序中使用2个PayPal sdk进行支付 paypal sdk商户用于支付和 paypal sdk用于收取付款。 这两个SDK使用相同的配置文件。 Paypal sdk rest工作正常,但当我通过Paypal sdk商户初始化支付呼叫时,它会给我一个错误 [#PayPal::SDK::Merchant::DataTypes::ErrorType:0x007fc0f80c7c70@ShortMessage=“身份验证/授权失败”、@LongMessage=“您没有进行此A

我在rails应用程序中使用2个PayPal sdk进行支付

  • paypal sdk商户用于支付和
  • paypal sdk用于收取付款。

    这两个SDK使用相同的配置文件。

    Paypal sdk rest工作正常,但当我通过Paypal sdk商户初始化支付呼叫时,它会给我一个错误
  • [#PayPal::SDK::Merchant::DataTypes::ErrorType:0x007fc0f80c7c70@ShortMessage=“身份验证/授权失败”、@LongMessage=“您没有进行此API调用的权限”、@ErrorCode=“10002”、@SeverityCode=“错误”] 当我在我的开发机器上测试相同的代码时,它工作得很好。

    看起来Heroku正在阻止我们呼叫Paypal Merchant SDK。

    由于代码在我们的开发环境中运行良好,这可能是一个配置问题。 我还检查了Ruby和Paypal SDK版本在这两种环境中是否相同。

    require 'paypal-sdk-merchant'
    vets_list = []
    vets_list << {
      :ReceiverEmail => 'someone@example.com',
      :Amount => {
      :currencyID => "USD",
      :value => 1.6
      }
    }
    @api = PayPal::SDK::Merchant::API.new
    @mass_pay = @api.build_mass_pay({
      :ReceiverType => "EmailAddress",
      :MassPayItem => vets_list
    })
    @mass_pay_response = @api.mass_pay(@mass_pay)
    
    要求“paypal sdk商户”
    兽医名单=[]
    兽医名单'someone@example.com',
    :金额=>{
    :currencyID=>“USD”,
    :值=>1.6
    }
    }
    @api=PayPal::SDK::Merchant::api.new
    @mass\u pay=@api.build\u mass\u pay({
    :ReceiverType=>“电子邮件地址”,
    :MassPayItem=>vets_列表
    })
    @mass\u pay\u response=@api.mass\u pay(@mass\u pay)
    
    有人能知道我做错了什么吗


    谢谢

    PayPal REST sdk现在已经有了,所以使用它可能是您的一个选择。

    正是@Avi。为此,我使用了贝宝的RESTSDK。实际上,当我需要支付时,PayPal Rest SDK不支持批量支付选项。谢谢你。
    require 'paypal-sdk-merchant'
    vets_list = []
    vets_list << {
      :ReceiverEmail => 'someone@example.com',
      :Amount => {
      :currencyID => "USD",
      :value => 1.6
      }
    }
    @api = PayPal::SDK::Merchant::API.new
    @mass_pay = @api.build_mass_pay({
      :ReceiverType => "EmailAddress",
      :MassPayItem => vets_list
    })
    @mass_pay_response = @api.mass_pay(@mass_pay)