내 앱에 판매자 권한을 부여하기 위해 https://github.com/moshbit/paypal_permissions을 사용하고 있습니다. paypal_permissions과 함께 API 자격 증명이 잘못되었습니다
모든 방법
은 잘 작동하지만 난 방법get_basic_personal_data
및
get_advanced_personal_data
로 할 때 내 로그에서이 응답을 얻을 : 당신은
https://github.com/moshbit/paypal_permissions/blob/master/examples/app/controllers/merchants_controller.rb
이들은 내 3 개 방법이 있습니다에 이러한 방법을 볼 수 있습니다
{:raw_response=>"responseEnvelope.timestamp=2012-09-27T04%3A36%3A17.904-07%3A00&response
Envelope.ack=Failure&responseEnvelope.correlationId=3baaaa7435436&responseEnvelope.build
=2210301&error(0).errorId=520003&error(0).domain=PLATFORM&error
(0).subdomain=Application&error(0).severity=Error&error(0).category=Application&error
(0).message=Authentication+failed.+API+credentials+are+incorrect.", :errors=>
[{:parameters=>[], :error_id=>"520003", :domain=>"PLATFORM", :subdomain=>"Application",
:severity=>"Error", :category=>"Application", :message=>"Authentication failed. API
credentials are incorrect."}], :personal_data=>{},
:timestamp=>"2012-09-27T04:36:17.904-07:00", :ack=>"Failure", :correlation_id=>"3baaaa7435436"}
을 결국 내 users_controller.rb
+ 방법 get_basic_personal_data
:
def request_permissions_callback
callback_url = URI.encode(response_permissions_callback_user_url(current_user))
permissions = 'REFUND, ACCESS_BASIC_PERSONAL_DATA'
paypal_response = ::PAYPAL_PERMISSIONS_GATEWAY.request_permissions callback_url, permissions
if paypal_response[:ack] == 'Success'
session[:id] = current_user.id
request_token = paypal_response[:token]
session[:request_token] = request_token
url = ::PAYPAL_PERMISSIONS_GATEWAY.redirect_user_to_paypal_url(request_token)
redirect_to url
else
#render :text => paypal_response.inspect
# handle error
format.html { redirect_to requirements_to_sell_user_path(current_user), alert: t(".permissions_wrong") }
end
end
def response_permissions_callback
session[:request_token_verifier] = params[:verification_code]
get_access_token
logger.info get_basic_personal_data(current_user).inspect
p get_basic_personal_data(current_user).inspect
respond_to do |format|
if get_access_token == true
format.html { redirect_to requirements_to_sell_user_path(current_user), notice: t(".refund_permissions_success") }
elsif get_access_token == false
format.html { redirect_to requirements_to_sell_user_path(current_user), alert: t(".refund_permissions_wrong") }
end
end
end
def get_access_token
request_token = session[:request_token]
verifier = session[:request_token_verifier]
paypal_response = ::PAYPAL_PERMISSIONS_GATEWAY.get_access_token request_token, verifier
if paypal_response[:ack] == 'Success'
current_user.update_attributes({
:ppp_access_token => paypal_response[:token],
:ppp_access_token_verifier => paypal_response[:token_secret],
})
return true
else
return false
end
end
def get_basic_personal_data(current_user)
access_token = current_user.ppp_access_token
verifier = current_user.ppp_access_token_verifier
::PAYPAL_PERMISSIONS_GATEWAY.get_basic_personal_data(access_token, verifier)
end
request_permissions_callback
(요청을 페이팔하고 사용자는 페이팔 권한 페이지로 리디렉션입니다.)response_permissions_callback
페이팔에서 응답을 받았습니다- 내 MongoDB를 데이터베이스에 업데이트
get_access_token
에 데이터를 호출합니다. 페이팔 권한과 판매자 리턴 해고 내 데이터베이스에 대한 올바른 토큰을 볼 수있다get_access_token
후logger.info get_basic_personal_data(current_user).inspect
와 계정 때
나는 오류 로그를 얻을 get_basic_personal_data
방법에 사용 후 :
ppp_access_token: "ZlM-jt4LQUxQZDozxkH29I53QyXShtziJIbPlCk3m35i65iLiqVf7w", ppp_access_token_verifier: "wJd3uuP5ymyWAqiUf2qaVCPTMsk"
다른 3 가지 방법이 정상적으로 작동하는 경우 왜이 오류가 발생합니까? 자격 증명이 맞습니까?, 오류는 어디에 있습니까?
대단히 감사합니다.