当我尝试使用'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
答案 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)"