Slimpay非法状态尝试调用orders.get_mandates方法时出错

时间:2017-01-23 12:55:57

标签: ruby-on-rails ruby ruby-on-rails-4

当我尝试使用'https://github.com/novagile/slimpay'Gem调用Slimpay的get_mandates方法时,它给了我903个不明确的处理程序方法映射错误(http://prntscr.com/dz8goe)。

orders = Slimpay::Order.new()
mendatedet = orders.get_orders({
    creditorReference: Slimpay.configuration.creditor_reference, 
    reference: @orderReference
})

@mendatedetails = JSON.parse(mendatedet)

if(@mendatedetails['state'] == 'closed.completed')  
    @manHref = @mendatedetails['_links']['https://api.slimpay.net/alps#get-mandate']['href'].split('/') 
    #@manHref[4] is Customer ID which is working in Browser
    @gtMen = orders.get_mandates({
        "creditorReference": Slimpay.configuration.creditor_reference,
        "id": @manHref[4],
        "paymentScheme": @mendatedetails['paymentScheme']
    })
    render json: @gtMen 
end

2 个答案:

答案 0 :(得分:0)

您是否正在尝试获得与订单相关的授权?

如果是这样,您已经在那里找到了链接: @mendatedetails['_links']['https://api.slimpay.net/alps#get-mandate']['href']

向此发送GET请求,您将获得您正在寻找的任务。

如果我正确理解了代码,您可以将其用作快捷方式:

@gtMen = mendatedet.get_mandate()
render json: @gtMen 

您也可以考虑将mendatedet重命名为orderdet,因为您拥有的是订单。

答案 1 :(得分:0)

错误是由于错误的URL调用。在签名授权响应中,我得到'https://api-sandbox.slimpay.net/mandates/userid'当我尝试直接调用时给出错误。我使用带有更新网址“https://api-sandbox.slimpay.net/mandates/?id=userid”的HTTP请求,而不是直接调用它。它给了我所有的回应。 Slimpay API gem尝试直接调用Mandate,导致错误。

这是我的代码

definition nondecreasing_on :: "real set ⇒ (real ⇒ real) ⇒ bool"
  where "nondecreasing_on S f ⟷ (∀x∈S. ∀y∈S. x ≤ y ⟶ f x ≤ f y)"